diff --git a/package.json b/package.json
index f93ae6552e528976384e33474b487a34a20536a8..8df1719cb884fee66555d4e7b7f2230c1dbfecdb 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "usp-js",
-  "version": "0.1.16",
+  "version": "0.1.17",
   "description": "Helper library for easy usp communication using mqtt over tcp or ws.",
   "main": "lib/index.js",
   "web": "_bundles/index.min.js",
diff --git a/public/assets/css/main.css b/public/assets/css/main.css
index 3c0dcab9266d3c1bd2efdad793df43d68b57ee4d..46571c27c336a5889551ab5fda805ed9738ac418 100644
--- a/public/assets/css/main.css
+++ b/public/assets/css/main.css
@@ -1 +1,2660 @@
-/*! normalize.css v1.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-family:sans-serif}button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4,.tsd-index-panel h3{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:1em 40px}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:"courier new",monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:"";content:none}small{font-size:80%}sub{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;top:-0.5em}sub{bottom:-0.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure,form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button]{-webkit-appearance:button;cursor:pointer;*overflow:visible}input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.hljs{display:inline-block;padding:.5em;background:#fff;color:#000}.hljs-comment,.hljs-annotation,.hljs-template_comment,.diff .hljs-header,.hljs-chunk,.apache .hljs-cbracket{color:green}.hljs-keyword,.hljs-id,.hljs-built_in,.css .smalltalk .hljs-class,.hljs-winutils,.bash .hljs-variable,.tex .hljs-command,.hljs-request,.hljs-status,.nginx .hljs-title{color:blue}.xml .hljs-tag{color:blue}.xml .hljs-tag .hljs-value{color:blue}.hljs-string,.hljs-title,.hljs-parent,.hljs-tag .hljs-value,.hljs-rules .hljs-value{color:#a31515}.ruby .hljs-symbol{color:#a31515}.ruby .hljs-symbol .hljs-string{color:#a31515}.hljs-template_tag,.django .hljs-variable,.hljs-addition,.hljs-flow,.hljs-stream,.apache .hljs-tag,.hljs-date,.tex .hljs-formula,.coffeescript .hljs-attribute{color:#a31515}.ruby .hljs-string,.hljs-decorator,.hljs-filter .hljs-argument,.hljs-localvars,.hljs-array,.hljs-attr_selector,.hljs-pseudo,.hljs-pi,.hljs-doctype,.hljs-deletion,.hljs-envvar,.hljs-shebang,.hljs-preprocessor,.hljs-pragma,.userType,.apache .hljs-sqbracket,.nginx .hljs-built_in,.tex .hljs-special,.hljs-prompt{color:#2b91af}.hljs-phpdoc,.hljs-javadoc,.hljs-xmlDocTag{color:gray}.vhdl .hljs-typename{font-weight:bold}.vhdl .hljs-string{color:#666}.vhdl .hljs-literal{color:#a31515}.vhdl .hljs-attribute{color:#00b0e8}.xml .hljs-attribute{color:red}ul.tsd-descriptions>li>:first-child,.tsd-panel>:first-child,.col>:first-child,.col-11>:first-child,.col-10>:first-child,.col-9>:first-child,.col-8>:first-child,.col-7>:first-child,.col-6>:first-child,.col-5>:first-child,.col-4>:first-child,.col-3>:first-child,.col-2>:first-child,.col-1>:first-child,ul.tsd-descriptions>li>:first-child>:first-child,.tsd-panel>:first-child>:first-child,.col>:first-child>:first-child,.col-11>:first-child>:first-child,.col-10>:first-child>:first-child,.col-9>:first-child>:first-child,.col-8>:first-child>:first-child,.col-7>:first-child>:first-child,.col-6>:first-child>:first-child,.col-5>:first-child>:first-child,.col-4>:first-child>:first-child,.col-3>:first-child>:first-child,.col-2>:first-child>:first-child,.col-1>:first-child>:first-child,ul.tsd-descriptions>li>:first-child>:first-child>:first-child,.tsd-panel>:first-child>:first-child>:first-child,.col>:first-child>:first-child>:first-child,.col-11>:first-child>:first-child>:first-child,.col-10>:first-child>:first-child>:first-child,.col-9>:first-child>:first-child>:first-child,.col-8>:first-child>:first-child>:first-child,.col-7>:first-child>:first-child>:first-child,.col-6>:first-child>:first-child>:first-child,.col-5>:first-child>:first-child>:first-child,.col-4>:first-child>:first-child>:first-child,.col-3>:first-child>:first-child>:first-child,.col-2>:first-child>:first-child>:first-child,.col-1>:first-child>:first-child>:first-child{margin-top:0}ul.tsd-descriptions>li>:last-child,.tsd-panel>:last-child,.col>:last-child,.col-11>:last-child,.col-10>:last-child,.col-9>:last-child,.col-8>:last-child,.col-7>:last-child,.col-6>:last-child,.col-5>:last-child,.col-4>:last-child,.col-3>:last-child,.col-2>:last-child,.col-1>:last-child,ul.tsd-descriptions>li>:last-child>:last-child,.tsd-panel>:last-child>:last-child,.col>:last-child>:last-child,.col-11>:last-child>:last-child,.col-10>:last-child>:last-child,.col-9>:last-child>:last-child,.col-8>:last-child>:last-child,.col-7>:last-child>:last-child,.col-6>:last-child>:last-child,.col-5>:last-child>:last-child,.col-4>:last-child>:last-child,.col-3>:last-child>:last-child,.col-2>:last-child>:last-child,.col-1>:last-child>:last-child,ul.tsd-descriptions>li>:last-child>:last-child>:last-child,.tsd-panel>:last-child>:last-child>:last-child,.col>:last-child>:last-child>:last-child,.col-11>:last-child>:last-child>:last-child,.col-10>:last-child>:last-child>:last-child,.col-9>:last-child>:last-child>:last-child,.col-8>:last-child>:last-child>:last-child,.col-7>:last-child>:last-child>:last-child,.col-6>:last-child>:last-child>:last-child,.col-5>:last-child>:last-child>:last-child,.col-4>:last-child>:last-child>:last-child,.col-3>:last-child>:last-child>:last-child,.col-2>:last-child>:last-child>:last-child,.col-1>:last-child>:last-child>:last-child{margin-bottom:0}.container{max-width:1200px;margin:0 auto;padding:0 40px}@media(max-width: 640px){.container{padding:0 20px}}.container-main{padding-bottom:200px}.row{display:flex;position:relative;margin:0 -10px}.row:after{visibility:hidden;display:block;content:"";clear:both;height:0}.col,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{box-sizing:border-box;float:left;padding:0 10px}.col-1{width:8.3333333333%}.offset-1{margin-left:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-left:16.6666666667%}.col-3{width:25%}.offset-3{margin-left:25%}.col-4{width:33.3333333333%}.offset-4{margin-left:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-left:41.6666666667%}.col-6{width:50%}.offset-6{margin-left:50%}.col-7{width:58.3333333333%}.offset-7{margin-left:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-left:66.6666666667%}.col-9{width:75%}.offset-9{margin-left:75%}.col-10{width:83.3333333333%}.offset-10{margin-left:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-left:91.6666666667%}.tsd-kind-icon{display:block;position:relative;padding-left:20px;text-indent:-20px}.tsd-kind-icon:before{content:"";display:inline-block;vertical-align:middle;width:17px;height:17px;margin:0 3px 2px 0;background-image:url(../images/icons.png)}@media(-webkit-min-device-pixel-ratio: 1.5),(min-resolution: 144dpi){.tsd-kind-icon:before{background-image:url(../images/icons@2x.png);background-size:238px 204px}}.tsd-signature.tsd-kind-icon:before{background-position:0 -153px}.tsd-kind-object-literal>.tsd-kind-icon:before{background-position:0px -17px}.tsd-kind-object-literal.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -17px}.tsd-kind-object-literal.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -17px}.tsd-kind-class>.tsd-kind-icon:before{background-position:0px -34px}.tsd-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -34px}.tsd-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -34px}.tsd-kind-class.tsd-has-type-parameter>.tsd-kind-icon:before{background-position:0px -51px}.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -51px}.tsd-kind-class.tsd-has-type-parameter.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -51px}.tsd-kind-interface>.tsd-kind-icon:before{background-position:0px -68px}.tsd-kind-interface.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -68px}.tsd-kind-interface.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -68px}.tsd-kind-interface.tsd-has-type-parameter>.tsd-kind-icon:before{background-position:0px -85px}.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -85px}.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -85px}.tsd-kind-namespace>.tsd-kind-icon:before{background-position:0px -102px}.tsd-kind-namespace.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -102px}.tsd-kind-namespace.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -102px}.tsd-kind-module>.tsd-kind-icon:before{background-position:0px -102px}.tsd-kind-module.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -102px}.tsd-kind-module.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -102px}.tsd-kind-enum>.tsd-kind-icon:before{background-position:0px -119px}.tsd-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -119px}.tsd-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -119px}.tsd-kind-enum-member>.tsd-kind-icon:before{background-position:0px -136px}.tsd-kind-enum-member.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -136px}.tsd-kind-enum-member.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -136px}.tsd-kind-signature>.tsd-kind-icon:before{background-position:0px -153px}.tsd-kind-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -153px}.tsd-kind-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -153px}.tsd-kind-type-alias>.tsd-kind-icon:before{background-position:0px -170px}.tsd-kind-type-alias.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -170px}.tsd-kind-type-alias.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -170px}.tsd-kind-type-alias.tsd-has-type-parameter>.tsd-kind-icon:before{background-position:0px -187px}.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -187px}.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -187px}.tsd-kind-variable>.tsd-kind-icon:before{background-position:-136px -0px}.tsd-kind-variable.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -0px}.tsd-kind-variable.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-variable.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -0px}.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -0px}.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -0px}.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -0px}.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-variable.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -0px}.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -0px}.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-variable.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -0px}.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -0px}.tsd-kind-property>.tsd-kind-icon:before{background-position:-136px -0px}.tsd-kind-property.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -0px}.tsd-kind-property.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-property.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -0px}.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -0px}.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -0px}.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -0px}.tsd-kind-property.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-property.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -0px}.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -0px}.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-property.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -0px}.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -0px}.tsd-kind-get-signature>.tsd-kind-icon:before{background-position:-136px -17px}.tsd-kind-get-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -17px}.tsd-kind-get-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -17px}.tsd-kind-get-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -17px}.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -17px}.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -17px}.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -17px}.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -17px}.tsd-kind-get-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -17px}.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -17px}.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -17px}.tsd-kind-get-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -17px}.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -17px}.tsd-kind-set-signature>.tsd-kind-icon:before{background-position:-136px -34px}.tsd-kind-set-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -34px}.tsd-kind-set-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -34px}.tsd-kind-set-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -34px}.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -34px}.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -34px}.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -34px}.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -34px}.tsd-kind-set-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -34px}.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -34px}.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -34px}.tsd-kind-set-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -34px}.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -34px}.tsd-kind-accessor>.tsd-kind-icon:before{background-position:-136px -51px}.tsd-kind-accessor.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -51px}.tsd-kind-accessor.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -51px}.tsd-kind-accessor.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -51px}.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -51px}.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -51px}.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -51px}.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -51px}.tsd-kind-accessor.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -51px}.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -51px}.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -51px}.tsd-kind-accessor.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -51px}.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -51px}.tsd-kind-function>.tsd-kind-icon:before{background-position:-136px -68px}.tsd-kind-function.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -68px}.tsd-kind-function.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-function.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -68px}.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -68px}.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -68px}.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -68px}.tsd-kind-function.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-function.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -68px}.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -68px}.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-function.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -68px}.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -68px}.tsd-kind-method>.tsd-kind-icon:before{background-position:-136px -68px}.tsd-kind-method.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -68px}.tsd-kind-method.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-method.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -68px}.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -68px}.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -68px}.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -68px}.tsd-kind-method.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-method.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -68px}.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -68px}.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-method.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -68px}.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -68px}.tsd-kind-call-signature>.tsd-kind-icon:before{background-position:-136px -68px}.tsd-kind-call-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -68px}.tsd-kind-call-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-call-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -68px}.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -68px}.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -68px}.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -68px}.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-call-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -68px}.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -68px}.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-call-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -68px}.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -68px}.tsd-kind-function.tsd-has-type-parameter>.tsd-kind-icon:before{background-position:-136px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -85px}.tsd-kind-method.tsd-has-type-parameter>.tsd-kind-icon:before{background-position:-136px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -85px}.tsd-kind-constructor>.tsd-kind-icon:before{background-position:-136px -102px}.tsd-kind-constructor.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -102px}.tsd-kind-constructor.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -102px}.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -102px}.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -102px}.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -102px}.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -102px}.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -102px}.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -102px}.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -102px}.tsd-kind-constructor-signature>.tsd-kind-icon:before{background-position:-136px -102px}.tsd-kind-constructor-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -102px}.tsd-kind-constructor-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -102px}.tsd-kind-index-signature>.tsd-kind-icon:before{background-position:-136px -119px}.tsd-kind-index-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -119px}.tsd-kind-index-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -119px}.tsd-kind-index-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -119px}.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -119px}.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -119px}.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -119px}.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -119px}.tsd-kind-index-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -119px}.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -119px}.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -119px}.tsd-kind-index-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -119px}.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -119px}.tsd-kind-event>.tsd-kind-icon:before{background-position:-136px -136px}.tsd-kind-event.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -136px}.tsd-kind-event.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -136px}.tsd-kind-event.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -136px}.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -136px}.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -136px}.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -136px}.tsd-kind-event.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -136px}.tsd-kind-event.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -136px}.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -136px}.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -136px}.tsd-kind-event.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -136px}.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -136px}.tsd-is-static>.tsd-kind-icon:before{background-position:-136px -153px}.tsd-is-static.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -153px}.tsd-is-static.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -153px}.tsd-is-static.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -153px}.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -153px}.tsd-is-static.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -153px}.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -153px}.tsd-is-static.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -153px}.tsd-is-static.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -153px}.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -153px}.tsd-is-static.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -153px}.tsd-is-static.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -153px}.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -153px}.tsd-is-static.tsd-kind-function>.tsd-kind-icon:before{background-position:-136px -170px}.tsd-is-static.tsd-kind-function.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -170px}.tsd-is-static.tsd-kind-function.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -170px}.tsd-is-static.tsd-kind-method>.tsd-kind-icon:before{background-position:-136px -170px}.tsd-is-static.tsd-kind-method.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -170px}.tsd-is-static.tsd-kind-method.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -170px}.tsd-is-static.tsd-kind-call-signature>.tsd-kind-icon:before{background-position:-136px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -170px}.tsd-is-static.tsd-kind-event>.tsd-kind-icon:before{background-position:-136px -187px}.tsd-is-static.tsd-kind-event.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -187px}.tsd-is-static.tsd-kind-event.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -187px}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-out{from{opacity:1;visibility:visible}to{opacity:0}}@keyframes fade-in-delayed{0%{opacity:0}33%{opacity:0}100%{opacity:1}}@keyframes fade-out-delayed{0%{opacity:1;visibility:visible}66%{opacity:0}100%{opacity:0}}@keyframes shift-to-left{from{transform:translate(0, 0)}to{transform:translate(-25%, 0)}}@keyframes unshift-to-left{from{transform:translate(-25%, 0)}to{transform:translate(0, 0)}}@keyframes pop-in-from-right{from{transform:translate(100%, 0)}to{transform:translate(0, 0)}}@keyframes pop-out-to-right{from{transform:translate(0, 0);visibility:visible}to{transform:translate(100%, 0)}}body{background:#fdfdfd;font-family:"Segoe UI",sans-serif;font-size:16px;color:#222}a{color:#4da6ff;text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;padding:.2em;margin:0;font-size:14px;background-color:rgba(0,0,0,.04)}pre{padding:10px}pre code{padding:0;font-size:100%;background-color:transparent}.tsd-typography{line-height:1.333em}.tsd-typography ul{list-style:square;padding:0 0 0 20px;margin:0}.tsd-typography h4,.tsd-typography .tsd-index-panel h3,.tsd-index-panel .tsd-typography h3,.tsd-typography h5,.tsd-typography h6{font-size:1em;margin:0}.tsd-typography h5,.tsd-typography h6{font-weight:normal}.tsd-typography p,.tsd-typography ul,.tsd-typography ol{margin:1em 0}@media(min-width: 901px)and (max-width: 1024px){html.default .col-content{width:72%}html.default .col-menu{width:28%}html.default .tsd-navigation{padding-left:10px}}@media(max-width: 900px){html.default .col-content{float:none;width:100%}html.default .col-menu{position:fixed !important;overflow:auto;-webkit-overflow-scrolling:touch;z-index:1024;top:0 !important;bottom:0 !important;left:auto !important;right:0 !important;width:100%;padding:20px 20px 0 0;max-width:450px;visibility:hidden;background-color:#fff;transform:translate(100%, 0)}html.default .col-menu>*:last-child{padding-bottom:20px}html.default .overlay{content:"";display:block;position:fixed;z-index:1023;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.75);visibility:hidden}html.default.to-has-menu .overlay{animation:fade-in .4s}html.default.to-has-menu header,html.default.to-has-menu footer,html.default.to-has-menu .col-content{animation:shift-to-left .4s}html.default.to-has-menu .col-menu{animation:pop-in-from-right .4s}html.default.from-has-menu .overlay{animation:fade-out .4s}html.default.from-has-menu header,html.default.from-has-menu footer,html.default.from-has-menu .col-content{animation:unshift-to-left .4s}html.default.from-has-menu .col-menu{animation:pop-out-to-right .4s}html.default.has-menu body{overflow:hidden}html.default.has-menu .overlay{visibility:visible}html.default.has-menu header,html.default.has-menu footer,html.default.has-menu .col-content{transform:translate(-25%, 0)}html.default.has-menu .col-menu{visibility:visible;transform:translate(0, 0)}}.tsd-page-title{padding:70px 0 20px 0;margin:0 0 40px 0;background:#fff;box-shadow:0 0 5px rgba(0,0,0,.35)}.tsd-page-title h1{margin:0}.tsd-breadcrumb{margin:0;padding:0;color:#707070}.tsd-breadcrumb a{color:#707070;text-decoration:none}.tsd-breadcrumb a:hover{text-decoration:underline}.tsd-breadcrumb li{display:inline}.tsd-breadcrumb li:after{content:" / "}html.minimal .container{margin:0}html.minimal .container-main{padding-top:50px;padding-bottom:0}html.minimal .content-wrap{padding-left:300px}html.minimal .tsd-navigation{position:fixed !important;overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;z-index:1;left:0;top:40px;bottom:0;width:300px;padding:20px;margin:0}html.minimal .tsd-member .tsd-member{margin-left:0}html.minimal .tsd-page-toolbar{position:fixed;z-index:2}html.minimal #tsd-filter .tsd-filter-group{right:0;transform:none}html.minimal footer{background-color:transparent}html.minimal footer .container{padding:0}html.minimal .tsd-generator{padding:0}@media(max-width: 900px){html.minimal .tsd-navigation{display:none}html.minimal .content-wrap{padding-left:0}}dl.tsd-comment-tags{overflow:hidden}dl.tsd-comment-tags dt{float:left;padding:1px 5px;margin:0 10px 0 0;border-radius:4px;border:1px solid #707070;color:#707070;font-size:.8em;font-weight:normal}dl.tsd-comment-tags dd{margin:0 0 10px 0}dl.tsd-comment-tags dd:before,dl.tsd-comment-tags dd:after{display:table;content:" "}dl.tsd-comment-tags dd pre,dl.tsd-comment-tags dd:after{clear:both}dl.tsd-comment-tags p{margin:0}.tsd-panel.tsd-comment .lead{font-size:1.1em;line-height:1.333em;margin-bottom:2em}.tsd-panel.tsd-comment .lead:last-child{margin-bottom:0}.toggle-protected .tsd-is-private{display:none}.toggle-public .tsd-is-private,.toggle-public .tsd-is-protected,.toggle-public .tsd-is-private-protected{display:none}.toggle-inherited .tsd-is-inherited{display:none}.toggle-only-exported .tsd-is-not-exported{display:none}.toggle-externals .tsd-is-external{display:none}#tsd-filter{position:relative;display:inline-block;height:40px;vertical-align:bottom}.no-filter #tsd-filter{display:none}#tsd-filter .tsd-filter-group{display:inline-block;height:40px;vertical-align:bottom;white-space:nowrap}#tsd-filter input{display:none}@media(max-width: 900px){#tsd-filter .tsd-filter-group{display:block;position:absolute;top:40px;right:20px;height:auto;background-color:#fff;visibility:hidden;transform:translate(50%, 0);box-shadow:0 0 4px rgba(0,0,0,.25)}.has-options #tsd-filter .tsd-filter-group{visibility:visible}.to-has-options #tsd-filter .tsd-filter-group{animation:fade-in .2s}.from-has-options #tsd-filter .tsd-filter-group{animation:fade-out .2s}#tsd-filter label,#tsd-filter .tsd-select{display:block;padding-right:20px}}footer{border-top:1px solid #eee;background-color:#fff}footer.with-border-bottom{border-bottom:1px solid #eee}footer .tsd-legend-group{font-size:0}footer .tsd-legend{display:inline-block;width:25%;padding:0;font-size:16px;list-style:none;line-height:1.333em;vertical-align:top}@media(max-width: 900px){footer .tsd-legend{width:50%}}.tsd-hierarchy{list-style:square;padding:0 0 0 20px;margin:0}.tsd-hierarchy .target{font-weight:bold}.tsd-index-panel .tsd-index-content{margin-bottom:-30px !important}.tsd-index-panel .tsd-index-section{margin-bottom:30px !important}.tsd-index-panel h3{margin:0 -20px 10px -20px;padding:0 20px 10px 20px;border-bottom:1px solid #eee}.tsd-index-panel ul.tsd-index-list{-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3;-webkit-column-gap:20px;-moz-column-gap:20px;-ms-column-gap:20px;-o-column-gap:20px;column-gap:20px;padding:0;list-style:none;line-height:1.333em}@media(max-width: 900px){.tsd-index-panel ul.tsd-index-list{-webkit-column-count:1;-moz-column-count:1;-ms-column-count:1;-o-column-count:1;column-count:1}}@media(min-width: 901px)and (max-width: 1024px){.tsd-index-panel ul.tsd-index-list{-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}}.tsd-index-panel ul.tsd-index-list li{-webkit-page-break-inside:avoid;-moz-page-break-inside:avoid;-ms-page-break-inside:avoid;-o-page-break-inside:avoid;page-break-inside:avoid}.tsd-index-panel a,.tsd-index-panel .tsd-parent-kind-module a{color:#9600ff}.tsd-index-panel .tsd-parent-kind-interface a{color:#647f1b}.tsd-index-panel .tsd-parent-kind-enum a{color:#937210}.tsd-index-panel .tsd-parent-kind-class a{color:#0672de}.tsd-index-panel .tsd-kind-module a{color:#9600ff}.tsd-index-panel .tsd-kind-interface a{color:#647f1b}.tsd-index-panel .tsd-kind-enum a{color:#937210}.tsd-index-panel .tsd-kind-class a{color:#0672de}.tsd-index-panel .tsd-is-private a{color:#707070}.tsd-flag{display:inline-block;padding:1px 5px;border-radius:4px;color:#fff;background-color:#707070;text-indent:0;font-size:14px;font-weight:normal}.tsd-anchor{position:absolute;top:-100px}.tsd-member{position:relative}.tsd-member .tsd-anchor+h3{margin-top:0;margin-bottom:0;border-bottom:none}.tsd-navigation{margin:0 0 0 40px}.tsd-navigation a{display:block;padding-top:2px;padding-bottom:2px;border-left:2px solid transparent;color:#222;text-decoration:none;transition:border-left-color .1s}.tsd-navigation a:hover{text-decoration:underline}.tsd-navigation ul{margin:0;padding:0;list-style:none}.tsd-navigation li{padding:0}.tsd-navigation.primary{padding-bottom:40px}.tsd-navigation.primary a{display:block;padding-top:6px;padding-bottom:6px}.tsd-navigation.primary ul li a{padding-left:5px}.tsd-navigation.primary ul li li a{padding-left:25px}.tsd-navigation.primary ul li li li a{padding-left:45px}.tsd-navigation.primary ul li li li li a{padding-left:65px}.tsd-navigation.primary ul li li li li li a{padding-left:85px}.tsd-navigation.primary ul li li li li li li a{padding-left:105px}.tsd-navigation.primary>ul{border-bottom:1px solid #eee}.tsd-navigation.primary li{border-top:1px solid #eee}.tsd-navigation.primary li.current>a{font-weight:bold}.tsd-navigation.primary li.label span{display:block;padding:20px 0 6px 5px;color:#707070}.tsd-navigation.primary li.globals+li>span,.tsd-navigation.primary li.globals+li>a{padding-top:20px}.tsd-navigation.secondary{max-height:calc(100vh - 1rem - 40px);overflow:auto;position:-webkit-sticky;position:sticky;top:calc(.5rem + 40px);transition:.3s}.tsd-navigation.secondary.tsd-navigation--toolbar-hide{max-height:calc(100vh - 1rem);top:.5rem}.tsd-navigation.secondary ul{transition:opacity .2s}.tsd-navigation.secondary ul li a{padding-left:25px}.tsd-navigation.secondary ul li li a{padding-left:45px}.tsd-navigation.secondary ul li li li a{padding-left:65px}.tsd-navigation.secondary ul li li li li a{padding-left:85px}.tsd-navigation.secondary ul li li li li li a{padding-left:105px}.tsd-navigation.secondary ul li li li li li li a{padding-left:125px}.tsd-navigation.secondary ul.current a{border-left-color:#eee}.tsd-navigation.secondary li.focus>a,.tsd-navigation.secondary ul.current li.focus>a{border-left-color:#000}.tsd-navigation.secondary li.current{margin-top:20px;margin-bottom:20px;border-left-color:#eee}.tsd-navigation.secondary li.current>a{font-weight:bold}@media(min-width: 901px){.menu-sticky-wrap{position:static}}.tsd-panel{margin:20px 0;padding:20px;background-color:#fff;box-shadow:0 0 4px rgba(0,0,0,.25)}.tsd-panel:empty{display:none}.tsd-panel>h1,.tsd-panel>h2,.tsd-panel>h3{margin:1.5em -20px 10px -20px;padding:0 20px 10px 20px;border-bottom:1px solid #eee}.tsd-panel>h1.tsd-before-signature,.tsd-panel>h2.tsd-before-signature,.tsd-panel>h3.tsd-before-signature{margin-bottom:0;border-bottom:0}.tsd-panel table{display:block;width:100%;overflow:auto;margin-top:10px;word-break:normal;word-break:keep-all}.tsd-panel table th{font-weight:bold}.tsd-panel table th,.tsd-panel table td{padding:6px 13px;border:1px solid #ddd}.tsd-panel table tr{background-color:#fff;border-top:1px solid #ccc}.tsd-panel table tr:nth-child(2n){background-color:#f8f8f8}.tsd-panel-group{margin:60px 0}.tsd-panel-group>h1,.tsd-panel-group>h2,.tsd-panel-group>h3{padding-left:20px;padding-right:20px}#tsd-search{transition:background-color .2s}#tsd-search .title{position:relative;z-index:2}#tsd-search .field{position:absolute;left:0;top:0;right:40px;height:40px}#tsd-search .field input{box-sizing:border-box;position:relative;top:-50px;z-index:1;width:100%;padding:0 10px;opacity:0;outline:0;border:0;background:transparent;color:#222}#tsd-search .field label{position:absolute;overflow:hidden;right:-40px}#tsd-search .field input,#tsd-search .title{transition:opacity .2s}#tsd-search .results{position:absolute;visibility:hidden;top:40px;width:100%;margin:0;padding:0;list-style:none;box-shadow:0 0 4px rgba(0,0,0,.25)}#tsd-search .results li{padding:0 10px;background-color:#fdfdfd}#tsd-search .results li:nth-child(even){background-color:#fff}#tsd-search .results li.state{display:none}#tsd-search .results li.current,#tsd-search .results li:hover{background-color:#eee}#tsd-search .results a{display:block}#tsd-search .results a:before{top:10px}#tsd-search .results span.parent{color:#707070;font-weight:normal}#tsd-search.has-focus{background-color:#eee}#tsd-search.has-focus .field input{top:0;opacity:1}#tsd-search.has-focus .title{z-index:0;opacity:0}#tsd-search.has-focus .results{visibility:visible}#tsd-search.loading .results li.state.loading{display:block}#tsd-search.failure .results li.state.failure{display:block}.tsd-signature{margin:0 0 1em 0;padding:10px;border:1px solid #eee;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:14px;overflow-x:auto}.tsd-signature.tsd-kind-icon{padding-left:30px}.tsd-signature.tsd-kind-icon:before{top:10px;left:10px}.tsd-panel>.tsd-signature{margin-left:-20px;margin-right:-20px;border-width:1px 0}.tsd-panel>.tsd-signature.tsd-kind-icon{padding-left:40px}.tsd-panel>.tsd-signature.tsd-kind-icon:before{left:20px}.tsd-signature-symbol{color:#707070;font-weight:normal}.tsd-signature-type{font-style:italic;font-weight:normal}.tsd-signatures{padding:0;margin:0 0 1em 0;border:1px solid #eee}.tsd-signatures .tsd-signature{margin:0;border-width:1px 0 0 0;transition:background-color .1s}.tsd-signatures .tsd-signature:first-child{border-top-width:0}.tsd-signatures .tsd-signature.current{background-color:#eee}.tsd-signatures.active>.tsd-signature{cursor:pointer}.tsd-panel>.tsd-signatures{margin-left:-20px;margin-right:-20px;border-width:1px 0}.tsd-panel>.tsd-signatures .tsd-signature.tsd-kind-icon{padding-left:40px}.tsd-panel>.tsd-signatures .tsd-signature.tsd-kind-icon:before{left:20px}.tsd-panel>a.anchor+.tsd-signatures{border-top-width:0;margin-top:-20px}ul.tsd-descriptions{position:relative;overflow:hidden;padding:0;list-style:none}ul.tsd-descriptions.active>.tsd-description{display:none}ul.tsd-descriptions.active>.tsd-description.current{display:block}ul.tsd-descriptions.active>.tsd-description.fade-in{animation:fade-in-delayed .3s}ul.tsd-descriptions.active>.tsd-description.fade-out{animation:fade-out-delayed .3s;position:absolute;display:block;top:0;left:0;right:0;opacity:0;visibility:hidden}ul.tsd-descriptions h4,ul.tsd-descriptions .tsd-index-panel h3,.tsd-index-panel ul.tsd-descriptions h3{font-size:16px;margin:1em 0 .5em 0}ul.tsd-parameters,ul.tsd-type-parameters{list-style:square;margin:0;padding-left:20px}ul.tsd-parameters>li.tsd-parameter-signature,ul.tsd-type-parameters>li.tsd-parameter-signature{list-style:none;margin-left:-20px}ul.tsd-parameters h5,ul.tsd-type-parameters h5{font-size:16px;margin:1em 0 .5em 0}ul.tsd-parameters .tsd-comment,ul.tsd-type-parameters .tsd-comment{margin-top:-0.5em}.tsd-sources{font-size:14px;color:#707070;margin:0 0 1em 0}.tsd-sources a{color:#707070;text-decoration:underline}.tsd-sources ul,.tsd-sources p{margin:0 !important}.tsd-sources ul{list-style:none;padding:0}.tsd-page-toolbar{position:fixed;z-index:1;top:0;left:0;width:100%;height:40px;color:#333;background:#fff;border-bottom:1px solid #eee;transition:transform .3s linear}.tsd-page-toolbar a{color:#333;text-decoration:none}.tsd-page-toolbar a.title{font-weight:bold}.tsd-page-toolbar a.title:hover{text-decoration:underline}.tsd-page-toolbar .table-wrap{display:table;width:100%;height:40px}.tsd-page-toolbar .table-cell{display:table-cell;position:relative;white-space:nowrap;line-height:40px}.tsd-page-toolbar .table-cell:first-child{width:100%}.tsd-page-toolbar--hide{transform:translateY(-100%)}.tsd-select .tsd-select-list li:before,.tsd-select .tsd-select-label:before,.tsd-widget:before{content:"";display:inline-block;width:40px;height:40px;margin:0 -8px 0 0;background-image:url(../images/widgets.png);background-repeat:no-repeat;text-indent:-1024px;vertical-align:bottom}@media(-webkit-min-device-pixel-ratio: 1.5),(min-resolution: 144dpi){.tsd-select .tsd-select-list li:before,.tsd-select .tsd-select-label:before,.tsd-widget:before{background-image:url(../images/widgets@2x.png);background-size:320px 40px}}.tsd-widget{display:inline-block;overflow:hidden;opacity:.6;height:40px;transition:opacity .1s,background-color .2s;vertical-align:bottom;cursor:pointer}.tsd-widget:hover{opacity:.8}.tsd-widget.active{opacity:1;background-color:#eee}.tsd-widget.no-caption{width:40px}.tsd-widget.no-caption:before{margin:0}.tsd-widget.search:before{background-position:0 0}.tsd-widget.menu:before{background-position:-40px 0}.tsd-widget.options:before{background-position:-80px 0}.tsd-widget.options,.tsd-widget.menu{display:none}@media(max-width: 900px){.tsd-widget.options,.tsd-widget.menu{display:inline-block}}input[type=checkbox]+.tsd-widget:before{background-position:-120px 0}input[type=checkbox]:checked+.tsd-widget:before{background-position:-160px 0}.tsd-select{position:relative;display:inline-block;height:40px;transition:opacity .1s,background-color .2s;vertical-align:bottom;cursor:pointer}.tsd-select .tsd-select-label{opacity:.6;transition:opacity .2s}.tsd-select .tsd-select-label:before{background-position:-240px 0}.tsd-select.active .tsd-select-label{opacity:.8}.tsd-select.active .tsd-select-list{visibility:visible;opacity:1;transition-delay:0s}.tsd-select .tsd-select-list{position:absolute;visibility:hidden;top:40px;left:0;margin:0;padding:0;opacity:0;list-style:none;box-shadow:0 0 4px rgba(0,0,0,.25);transition:visibility 0s .2s,opacity .2s}.tsd-select .tsd-select-list li{padding:0 20px 0 0;background-color:#fdfdfd}.tsd-select .tsd-select-list li:before{background-position:40px 0}.tsd-select .tsd-select-list li:nth-child(even){background-color:#fff}.tsd-select .tsd-select-list li:hover{background-color:#eee}.tsd-select .tsd-select-list li.selected:before{background-position:-200px 0}@media(max-width: 900px){.tsd-select .tsd-select-list{top:0;left:auto;right:100%;margin-right:-5px}.tsd-select .tsd-select-label:before{background-position:-280px 0}}img{max-width:100%}
+:root {
+  --color-background: #fdfdfd;
+  --color-text: #222;
+  --color-text-aside: #707070;
+  --color-link: #4da6ff;
+  --color-menu-divider: #eee;
+  --color-menu-divider-focus: #000;
+  --color-menu-label: #707070;
+  --color-panel: #fff;
+  --color-panel-divider: #eee;
+  --color-comment-tag: #707070;
+  --color-comment-tag-text: #fff;
+  --color-code-background: rgba(0, 0, 0, 0.04);
+  --color-ts: #9600ff;
+  --color-ts-interface: #647f1b;
+  --color-ts-enum: #937210;
+  --color-ts-class: #0672de;
+  --color-ts-private: #707070;
+  --color-toolbar: #fff;
+  --color-toolbar-text: #333;
+}
+
+/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+/* ==========================================================================
+ * * HTML5 display definitions
+ * * ========================================================================== */
+/**
+ * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
+  display: block;
+}
+
+/**
+ * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
+audio, canvas, video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+
+/**
+ * * Prevent modern browsers from displaying `audio` without controls.
+ * * Remove excess height in iOS 5 devices. */
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * * Known issue: no IE 6 support. */
+[hidden] {
+  display: none;
+}
+
+/* ==========================================================================
+ * * Base
+ * * ========================================================================== */
+/**
+ * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * *    `em` units.
+ * * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * *    user zoom. */
+html {
+  font-size: 100%;
+  /* 1 */
+  -ms-text-size-adjust: 100%;
+  /* 2 */
+  -webkit-text-size-adjust: 100%;
+  /* 2 */
+  font-family: sans-serif;
+}
+
+/**
+ * * Address `font-family` inconsistency between `textarea` and other form
+ * * elements. */
+button, input, select, textarea {
+  font-family: sans-serif;
+}
+
+/**
+ * * Address margins handled incorrectly in IE 6/7. */
+body {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Links
+ * * ========================================================================== */
+/**
+ * * Address `outline` inconsistency between Chrome and other browsers. */
+a:focus {
+  outline: thin dotted;
+}
+a:active, a:hover {
+  outline: 0;
+}
+
+/**
+ * * Improve readability when focused and also mouse hovered in all browsers. */
+/* ==========================================================================
+ * * Typography
+ * * ========================================================================== */
+/**
+ * * Address font sizes and margins set differently in IE 6/7.
+ * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * * and Chrome. */
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+h2 {
+  font-size: 1.5em;
+  margin: 0.83em 0;
+}
+
+h3 {
+  font-size: 1.17em;
+  margin: 1em 0;
+}
+
+h4, .tsd-index-panel h3 {
+  font-size: 1em;
+  margin: 1.33em 0;
+}
+
+h5 {
+  font-size: 0.83em;
+  margin: 1.67em 0;
+}
+
+h6 {
+  font-size: 0.67em;
+  margin: 2.33em 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+
+/**
+ * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
+b, strong {
+  font-weight: bold;
+}
+
+blockquote {
+  margin: 1em 40px;
+}
+
+/**
+ * * Address styling not present in Safari 5 and Chrome. */
+dfn {
+  font-style: italic;
+}
+
+/**
+ * * Address differences between Firefox and other browsers.
+ * * Known issue: no IE 6/7 normalization. */
+hr {
+  -moz-box-sizing: content-box;
+  box-sizing: content-box;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 6/7/8/9. */
+mark {
+  background: #ff0;
+  color: #000;
+}
+
+/**
+ * * Address margins set differently in IE 6/7. */
+p, pre {
+  margin: 1em 0;
+}
+
+/**
+ * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */
+code, kbd, pre, samp {
+  font-family: monospace, serif;
+  _font-family: "courier new", monospace;
+  font-size: 1em;
+}
+
+/**
+ * * Improve readability of pre-formatted text in all browsers. */
+pre {
+  white-space: pre;
+  white-space: pre-wrap;
+  word-wrap: break-word;
+}
+
+/**
+ * * Address CSS quotes not supported in IE 6/7. */
+q {
+  quotes: none;
+}
+q:before, q:after {
+  content: "";
+  content: none;
+}
+
+/**
+ * * Address `quotes` property not supported in Safari 4. */
+/**
+ * * Address inconsistent and variable font size in all browsers. */
+small {
+  font-size: 80%;
+}
+
+/**
+ * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
+sub {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+/* ==========================================================================
+ * * Lists
+ * * ========================================================================== */
+/**
+ * * Address margins set differently in IE 6/7. */
+dl, menu, ol, ul {
+  margin: 1em 0;
+}
+
+dd {
+  margin: 0 0 0 40px;
+}
+
+/**
+ * * Address paddings set differently in IE 6/7. */
+menu, ol, ul {
+  padding: 0 0 0 40px;
+}
+
+/**
+ * * Correct list images handled incorrectly in IE 7. */
+nav ul, nav ol {
+  list-style: none;
+  list-style-image: none;
+}
+
+/* ==========================================================================
+ * * Embedded content
+ * * ========================================================================== */
+/**
+ * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * * 2. Improve image quality when scaled in IE 7. */
+img {
+  border: 0;
+  /* 1 */
+  -ms-interpolation-mode: bicubic;
+}
+
+/* 2 */
+/**
+ * * Correct overflow displayed oddly in IE 9. */
+svg:not(:root) {
+  overflow: hidden;
+}
+
+/* ==========================================================================
+ * * Figures
+ * * ========================================================================== */
+/**
+ * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
+figure, form {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Forms
+ * * ========================================================================== */
+/**
+ * * Correct margin displayed oddly in IE 6/7. */
+/**
+ * * Define consistent border, margin, and padding. */
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * * 1. Correct color not being inherited in IE 6/7/8/9.
+ * * 2. Correct text not wrapping in Firefox 3.
+ * * 3. Correct alignment displayed oddly in IE 6/7. */
+legend {
+  border: 0;
+  /* 1 */
+  padding: 0;
+  white-space: normal;
+  /* 2 */
+  *margin-left: -7px;
+}
+
+/* 3 */
+/**
+ * * 1. Correct font size not being inherited in all browsers.
+ * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * *    and Chrome.
+ * * 3. Improve appearance and consistency in all browsers. */
+button, input, select, textarea {
+  font-size: 100%;
+  /* 1 */
+  margin: 0;
+  /* 2 */
+  vertical-align: baseline;
+  /* 3 */
+  *vertical-align: middle;
+}
+
+/* 3 */
+/**
+ * * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * * the UA stylesheet. */
+button, input {
+  line-height: normal;
+}
+
+/**
+ * * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * * All other form control elements do not inherit `text-transform` values.
+ * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * * Correct `select` style inheritance in Firefox 4+ and Opera. */
+button, select {
+  text-transform: none;
+}
+
+/**
+ * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * *    and `video` controls.
+ * * 2. Correct inability to style clickable `input` types in iOS.
+ * * 3. Improve usability and consistency of cursor style between image-type
+ * *    `input` and others.
+ * * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * *    Known issue: inner spacing remains in IE 6. */
+button, html input[type=button] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+input[type=reset], input[type=submit] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+/**
+ * * Re-set default cursor for disabled elements. */
+button[disabled], html input[disabled] {
+  cursor: default;
+}
+
+/**
+ * * 1. Address box sizing set to content-box in IE 8/9.
+ * * 2. Remove excess padding in IE 8/9.
+ * * 3. Remove excess padding in IE 7.
+ * *    Known issue: excess padding remains in IE 6. */
+input {
+  /* 3 */
+}
+input[type=checkbox], input[type=radio] {
+  box-sizing: border-box;
+  /* 1 */
+  padding: 0;
+  /* 2 */
+  *height: 13px;
+  /* 3 */
+  *width: 13px;
+}
+input[type=search] {
+  -webkit-appearance: textfield;
+  /* 1 */
+  -moz-box-sizing: content-box;
+  -webkit-box-sizing: content-box;
+  /* 2 */
+  box-sizing: content-box;
+}
+input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * *    (include `-moz` to future-proof). */
+/**
+ * * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * * on OS X. */
+/**
+ * * Remove inner padding and border in Firefox 3+. */
+button::-moz-focus-inner, input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+/**
+ * * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * * 2. Improve readability and alignment in all browsers. */
+textarea {
+  overflow: auto;
+  /* 1 */
+  vertical-align: top;
+}
+
+/* 2 */
+/* ==========================================================================
+ * * Tables
+ * * ========================================================================== */
+/**
+ * * Remove most spacing between table cells. */
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child,
+.col > :first-child > :first-child,
+.col-11 > :first-child > :first-child,
+.col-10 > :first-child > :first-child,
+.col-9 > :first-child > :first-child,
+.col-8 > :first-child > :first-child,
+.col-7 > :first-child > :first-child,
+.col-6 > :first-child > :first-child,
+.col-5 > :first-child > :first-child,
+.col-4 > :first-child > :first-child,
+.col-3 > :first-child > :first-child,
+.col-2 > :first-child > :first-child,
+.col-1 > :first-child > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child > :first-child,
+.col > :first-child > :first-child > :first-child,
+.col-11 > :first-child > :first-child > :first-child,
+.col-10 > :first-child > :first-child > :first-child,
+.col-9 > :first-child > :first-child > :first-child,
+.col-8 > :first-child > :first-child > :first-child,
+.col-7 > :first-child > :first-child > :first-child,
+.col-6 > :first-child > :first-child > :first-child,
+.col-5 > :first-child > :first-child > :first-child,
+.col-4 > :first-child > :first-child > :first-child,
+.col-3 > :first-child > :first-child > :first-child,
+.col-2 > :first-child > :first-child > :first-child,
+.col-1 > :first-child > :first-child > :first-child {
+  margin-top: 0;
+}
+ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child,
+.col > :last-child > :last-child,
+.col-11 > :last-child > :last-child,
+.col-10 > :last-child > :last-child,
+.col-9 > :last-child > :last-child,
+.col-8 > :last-child > :last-child,
+.col-7 > :last-child > :last-child,
+.col-6 > :last-child > :last-child,
+.col-5 > :last-child > :last-child,
+.col-4 > :last-child > :last-child,
+.col-3 > :last-child > :last-child,
+.col-2 > :last-child > :last-child,
+.col-1 > :last-child > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child > :last-child,
+.col > :last-child > :last-child > :last-child,
+.col-11 > :last-child > :last-child > :last-child,
+.col-10 > :last-child > :last-child > :last-child,
+.col-9 > :last-child > :last-child > :last-child,
+.col-8 > :last-child > :last-child > :last-child,
+.col-7 > :last-child > :last-child > :last-child,
+.col-6 > :last-child > :last-child > :last-child,
+.col-5 > :last-child > :last-child > :last-child,
+.col-4 > :last-child > :last-child > :last-child,
+.col-3 > :last-child > :last-child > :last-child,
+.col-2 > :last-child > :last-child > :last-child,
+.col-1 > :last-child > :last-child > :last-child {
+  margin-bottom: 0;
+}
+
+.container {
+  max-width: 1200px;
+  margin: 0 auto;
+  padding: 0 40px;
+}
+@media (max-width: 640px) {
+  .container {
+    padding: 0 20px;
+  }
+}
+
+.container-main {
+  padding-bottom: 200px;
+}
+
+.row {
+  display: flex;
+  position: relative;
+  margin: 0 -10px;
+}
+.row:after {
+  visibility: hidden;
+  display: block;
+  content: "";
+  clear: both;
+  height: 0;
+}
+
+.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
+  box-sizing: border-box;
+  float: left;
+  padding: 0 10px;
+}
+
+.col-1 {
+  width: 8.3333333333%;
+}
+
+.offset-1 {
+  margin-left: 8.3333333333%;
+}
+
+.col-2 {
+  width: 16.6666666667%;
+}
+
+.offset-2 {
+  margin-left: 16.6666666667%;
+}
+
+.col-3 {
+  width: 25%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.col-4 {
+  width: 33.3333333333%;
+}
+
+.offset-4 {
+  margin-left: 33.3333333333%;
+}
+
+.col-5 {
+  width: 41.6666666667%;
+}
+
+.offset-5 {
+  margin-left: 41.6666666667%;
+}
+
+.col-6 {
+  width: 50%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.col-7 {
+  width: 58.3333333333%;
+}
+
+.offset-7 {
+  margin-left: 58.3333333333%;
+}
+
+.col-8 {
+  width: 66.6666666667%;
+}
+
+.offset-8 {
+  margin-left: 66.6666666667%;
+}
+
+.col-9 {
+  width: 75%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.col-10 {
+  width: 83.3333333333%;
+}
+
+.offset-10 {
+  margin-left: 83.3333333333%;
+}
+
+.col-11 {
+  width: 91.6666666667%;
+}
+
+.offset-11 {
+  margin-left: 91.6666666667%;
+}
+
+.tsd-kind-icon {
+  display: block;
+  position: relative;
+  padding-left: 20px;
+  text-indent: -20px;
+}
+.tsd-kind-icon:before {
+  content: "";
+  display: inline-block;
+  vertical-align: middle;
+  width: 17px;
+  height: 17px;
+  margin: 0 3px 2px 0;
+  background-image: url(../images/icons.png);
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-kind-icon:before {
+    background-image: url(../images/icons@2x.png);
+    background-size: 238px 204px;
+  }
+}
+
+.tsd-signature.tsd-kind-icon:before {
+  background-position: 0 -153px;
+}
+
+.tsd-kind-object-literal > .tsd-kind-icon:before {
+  background-position: 0px -17px;
+}
+.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -17px;
+}
+.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -17px;
+}
+
+.tsd-kind-class > .tsd-kind-icon:before {
+  background-position: 0px -34px;
+}
+.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -34px;
+}
+.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -34px;
+}
+
+.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -51px;
+}
+
+.tsd-kind-interface > .tsd-kind-icon:before {
+  background-position: 0px -68px;
+}
+.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -68px;
+}
+.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -68px;
+}
+
+.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -85px;
+}
+
+.tsd-kind-namespace > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-module > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-enum > .tsd-kind-icon:before {
+  background-position: 0px -119px;
+}
+.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -119px;
+}
+.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -119px;
+}
+
+.tsd-kind-enum-member > .tsd-kind-icon:before {
+  background-position: 0px -136px;
+}
+.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -136px;
+}
+.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -136px;
+}
+
+.tsd-kind-signature > .tsd-kind-icon:before {
+  background-position: 0px -153px;
+}
+.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -153px;
+}
+.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -153px;
+}
+
+.tsd-kind-type-alias > .tsd-kind-icon:before {
+  background-position: 0px -170px;
+}
+.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -170px;
+}
+.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -170px;
+}
+
+.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -187px;
+}
+
+.tsd-kind-variable > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-property > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-get-signature > .tsd-kind-icon:before {
+  background-position: -136px -17px;
+}
+.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -17px;
+}
+.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -17px;
+}
+
+.tsd-kind-set-signature > .tsd-kind-icon:before {
+  background-position: -136px -34px;
+}
+.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -34px;
+}
+.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -34px;
+}
+
+.tsd-kind-accessor > .tsd-kind-icon:before {
+  background-position: -136px -51px;
+}
+.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -51px;
+}
+.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -51px;
+}
+
+.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-constructor > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-constructor-signature > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-index-signature > .tsd-kind-icon:before {
+  background-position: -136px -119px;
+}
+.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -119px;
+}
+.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -119px;
+}
+
+.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -136px;
+}
+.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -136px;
+}
+.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -136px;
+}
+
+.tsd-is-static > .tsd-kind-icon:before {
+  background-position: -136px -153px;
+}
+.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -153px;
+}
+.tsd-is-static.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -153px;
+}
+
+.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -187px;
+}
+
+@keyframes fade-in {
+  from {
+    opacity: 0;
+  }
+  to {
+    opacity: 1;
+  }
+}
+@keyframes fade-out {
+  from {
+    opacity: 1;
+    visibility: visible;
+  }
+  to {
+    opacity: 0;
+  }
+}
+@keyframes fade-in-delayed {
+  0% {
+    opacity: 0;
+  }
+  33% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+@keyframes fade-out-delayed {
+  0% {
+    opacity: 1;
+    visibility: visible;
+  }
+  66% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 0;
+  }
+}
+@keyframes shift-to-left {
+  from {
+    transform: translate(0, 0);
+  }
+  to {
+    transform: translate(-25%, 0);
+  }
+}
+@keyframes unshift-to-left {
+  from {
+    transform: translate(-25%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-in-from-right {
+  from {
+    transform: translate(100%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-out-to-right {
+  from {
+    transform: translate(0, 0);
+    visibility: visible;
+  }
+  to {
+    transform: translate(100%, 0);
+  }
+}
+body {
+  background: var(--color-background);
+  font-family: "Segoe UI", sans-serif;
+  font-size: 16px;
+  color: var(--color-text);
+}
+
+a {
+  color: var(--color-link);
+  text-decoration: none;
+}
+a:hover {
+  text-decoration: underline;
+}
+
+code, pre {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  padding: 0.2em;
+  margin: 0;
+  font-size: 14px;
+  background-color: var(--color-code-background);
+}
+
+pre {
+  padding: 10px;
+}
+pre code {
+  padding: 0;
+  font-size: 100%;
+  background-color: transparent;
+}
+
+blockquote {
+  margin: 1em 0;
+  padding-left: 1em;
+  border-left: 4px solid gray;
+}
+
+.tsd-typography {
+  line-height: 1.333em;
+}
+.tsd-typography ul {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 {
+  font-size: 1em;
+  margin: 0;
+}
+.tsd-typography h5, .tsd-typography h6 {
+  font-weight: normal;
+}
+.tsd-typography p, .tsd-typography ul, .tsd-typography ol {
+  margin: 1em 0;
+}
+
+@media (min-width: 901px) and (max-width: 1024px) {
+  html.default .col-content {
+    width: 72%;
+  }
+  html.default .col-menu {
+    width: 28%;
+  }
+  html.default .tsd-navigation {
+    padding-left: 10px;
+  }
+}
+@media (max-width: 900px) {
+  html.default .col-content {
+    float: none;
+    width: 100%;
+  }
+  html.default .col-menu {
+    position: fixed !important;
+    overflow: auto;
+    -webkit-overflow-scrolling: touch;
+    z-index: 1024;
+    top: 0 !important;
+    bottom: 0 !important;
+    left: auto !important;
+    right: 0 !important;
+    width: 100%;
+    padding: 20px 20px 0 0;
+    max-width: 450px;
+    visibility: hidden;
+    background-color: var(--color-panel);
+    transform: translate(100%, 0);
+  }
+  html.default .col-menu > *:last-child {
+    padding-bottom: 20px;
+  }
+  html.default .overlay {
+    content: "";
+    display: block;
+    position: fixed;
+    z-index: 1023;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background-color: rgba(0, 0, 0, 0.75);
+    visibility: hidden;
+  }
+  html.default.to-has-menu .overlay {
+    animation: fade-in 0.4s;
+  }
+  html.default.to-has-menu header,
+html.default.to-has-menu footer,
+html.default.to-has-menu .col-content {
+    animation: shift-to-left 0.4s;
+  }
+  html.default.to-has-menu .col-menu {
+    animation: pop-in-from-right 0.4s;
+  }
+  html.default.from-has-menu .overlay {
+    animation: fade-out 0.4s;
+  }
+  html.default.from-has-menu header,
+html.default.from-has-menu footer,
+html.default.from-has-menu .col-content {
+    animation: unshift-to-left 0.4s;
+  }
+  html.default.from-has-menu .col-menu {
+    animation: pop-out-to-right 0.4s;
+  }
+  html.default.has-menu body {
+    overflow: hidden;
+  }
+  html.default.has-menu .overlay {
+    visibility: visible;
+  }
+  html.default.has-menu header,
+html.default.has-menu footer,
+html.default.has-menu .col-content {
+    transform: translate(-25%, 0);
+  }
+  html.default.has-menu .col-menu {
+    visibility: visible;
+    transform: translate(0, 0);
+  }
+}
+
+.tsd-page-title {
+  padding: 70px 0 20px 0;
+  margin: 0 0 40px 0;
+  background: var(--color-panel);
+  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
+}
+.tsd-page-title h1 {
+  margin: 0;
+}
+
+.tsd-breadcrumb {
+  margin: 0;
+  padding: 0;
+  color: var(--color-text-aside);
+}
+.tsd-breadcrumb a {
+  color: var(--color-text-aside);
+  text-decoration: none;
+}
+.tsd-breadcrumb a:hover {
+  text-decoration: underline;
+}
+.tsd-breadcrumb li {
+  display: inline;
+}
+.tsd-breadcrumb li:after {
+  content: " / ";
+}
+
+html.minimal .container {
+  margin: 0;
+}
+html.minimal .container-main {
+  padding-top: 50px;
+  padding-bottom: 0;
+}
+html.minimal .content-wrap {
+  padding-left: 300px;
+}
+html.minimal .tsd-navigation {
+  position: fixed !important;
+  overflow: auto;
+  -webkit-overflow-scrolling: touch;
+  box-sizing: border-box;
+  z-index: 1;
+  left: 0;
+  top: 40px;
+  bottom: 0;
+  width: 300px;
+  padding: 20px;
+  margin: 0;
+}
+html.minimal .tsd-member .tsd-member {
+  margin-left: 0;
+}
+html.minimal .tsd-page-toolbar {
+  position: fixed;
+  z-index: 2;
+}
+html.minimal #tsd-filter .tsd-filter-group {
+  right: 0;
+  transform: none;
+}
+html.minimal footer {
+  background-color: transparent;
+}
+html.minimal footer .container {
+  padding: 0;
+}
+html.minimal .tsd-generator {
+  padding: 0;
+}
+@media (max-width: 900px) {
+  html.minimal .tsd-navigation {
+    display: none;
+  }
+  html.minimal .content-wrap {
+    padding-left: 0;
+  }
+}
+
+dl.tsd-comment-tags {
+  overflow: hidden;
+}
+dl.tsd-comment-tags dt {
+  float: left;
+  padding: 1px 5px;
+  margin: 0 10px 0 0;
+  border-radius: 4px;
+  border: 1px solid var(--color-comment-tag);
+  color: var(--color-comment-tag);
+  font-size: 0.8em;
+  font-weight: normal;
+}
+dl.tsd-comment-tags dd {
+  margin: 0 0 10px 0;
+}
+dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after {
+  display: table;
+  content: " ";
+}
+dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after {
+  clear: both;
+}
+dl.tsd-comment-tags p {
+  margin: 0;
+}
+
+.tsd-panel.tsd-comment .lead {
+  font-size: 1.1em;
+  line-height: 1.333em;
+  margin-bottom: 2em;
+}
+.tsd-panel.tsd-comment .lead:last-child {
+  margin-bottom: 0;
+}
+
+.toggle-protected .tsd-is-private {
+  display: none;
+}
+
+.toggle-public .tsd-is-private,
+.toggle-public .tsd-is-protected,
+.toggle-public .tsd-is-private-protected {
+  display: none;
+}
+
+.toggle-inherited .tsd-is-inherited {
+  display: none;
+}
+
+.toggle-externals .tsd-is-external {
+  display: none;
+}
+
+#tsd-filter {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+}
+.no-filter #tsd-filter {
+  display: none;
+}
+#tsd-filter .tsd-filter-group {
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+  white-space: nowrap;
+}
+#tsd-filter input {
+  display: none;
+}
+@media (max-width: 900px) {
+  #tsd-filter .tsd-filter-group {
+    display: block;
+    position: absolute;
+    top: 40px;
+    right: 20px;
+    height: auto;
+    background-color: var(--color-panel);
+    visibility: hidden;
+    transform: translate(50%, 0);
+    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  }
+  .has-options #tsd-filter .tsd-filter-group {
+    visibility: visible;
+  }
+  .to-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-in 0.2s;
+  }
+  .from-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-out 0.2s;
+  }
+  #tsd-filter label,
+#tsd-filter .tsd-select {
+    display: block;
+    padding-right: 20px;
+  }
+}
+
+footer {
+  border-top: 1px solid var(--color-panel-divider);
+  background-color: var(--color-panel);
+}
+footer.with-border-bottom {
+  border-bottom: 1px solid var(--color-panel-divider);
+}
+footer .tsd-legend-group {
+  font-size: 0;
+}
+footer .tsd-legend {
+  display: inline-block;
+  width: 25%;
+  padding: 0;
+  font-size: 16px;
+  list-style: none;
+  line-height: 1.333em;
+  vertical-align: top;
+}
+@media (max-width: 900px) {
+  footer .tsd-legend {
+    width: 50%;
+  }
+}
+
+.tsd-hierarchy {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-hierarchy .target {
+  font-weight: bold;
+}
+
+.tsd-index-panel .tsd-index-content {
+  margin-bottom: -30px !important;
+}
+.tsd-index-panel .tsd-index-section {
+  margin-bottom: 30px !important;
+}
+.tsd-index-panel h3 {
+  margin: 0 -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid var(--color-panel-divider);
+}
+.tsd-index-panel ul.tsd-index-list {
+  -webkit-column-count: 3;
+  -moz-column-count: 3;
+  -ms-column-count: 3;
+  -o-column-count: 3;
+  column-count: 3;
+  -webkit-column-gap: 20px;
+  -moz-column-gap: 20px;
+  -ms-column-gap: 20px;
+  -o-column-gap: 20px;
+  column-gap: 20px;
+  padding: 0;
+  list-style: none;
+  line-height: 1.333em;
+}
+@media (max-width: 900px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -webkit-column-count: 1;
+    -moz-column-count: 1;
+    -ms-column-count: 1;
+    -o-column-count: 1;
+    column-count: 1;
+  }
+}
+@media (min-width: 901px) and (max-width: 1024px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -webkit-column-count: 2;
+    -moz-column-count: 2;
+    -ms-column-count: 2;
+    -o-column-count: 2;
+    column-count: 2;
+  }
+}
+.tsd-index-panel ul.tsd-index-list li {
+  -webkit-page-break-inside: avoid;
+  -moz-page-break-inside: avoid;
+  -ms-page-break-inside: avoid;
+  -o-page-break-inside: avoid;
+  page-break-inside: avoid;
+}
+.tsd-index-panel a,
+.tsd-index-panel .tsd-parent-kind-module a {
+  color: var(--color-ts);
+}
+.tsd-index-panel .tsd-parent-kind-interface a {
+  color: var(--color-ts-interface);
+}
+.tsd-index-panel .tsd-parent-kind-enum a {
+  color: var(--color-ts-enum);
+}
+.tsd-index-panel .tsd-parent-kind-class a {
+  color: var(--color-ts-class);
+}
+.tsd-index-panel .tsd-kind-module a {
+  color: var(--color-ts);
+}
+.tsd-index-panel .tsd-kind-interface a {
+  color: var(--color-ts-interface);
+}
+.tsd-index-panel .tsd-kind-enum a {
+  color: var(--color-ts-enum);
+}
+.tsd-index-panel .tsd-kind-class a {
+  color: var(--color-ts-class);
+}
+.tsd-index-panel .tsd-is-private a {
+  color: var(--color-ts-private);
+}
+
+.tsd-flag {
+  display: inline-block;
+  padding: 1px 5px;
+  border-radius: 4px;
+  color: var(--color-comment-tag-text);
+  background-color: var(--color-comment-tag);
+  text-indent: 0;
+  font-size: 14px;
+  font-weight: normal;
+}
+
+.tsd-anchor {
+  position: absolute;
+  top: -100px;
+}
+
+.tsd-member {
+  position: relative;
+}
+.tsd-member .tsd-anchor + h3 {
+  margin-top: 0;
+  margin-bottom: 0;
+  border-bottom: none;
+}
+.tsd-member a[data-tsd-kind] {
+  color: var(--color-ts);
+}
+.tsd-member a[data-tsd-kind=Interface] {
+  color: var(--color-ts-interface);
+}
+.tsd-member a[data-tsd-kind=Enum] {
+  color: var(--color-ts-enum);
+}
+.tsd-member a[data-tsd-kind=Class] {
+  color: var(--color-ts-class);
+}
+.tsd-member a[data-tsd-kind=Private] {
+  color: var(--color-ts-private);
+}
+
+.tsd-navigation {
+  margin: 0 0 0 40px;
+}
+.tsd-navigation a {
+  display: block;
+  padding-top: 2px;
+  padding-bottom: 2px;
+  border-left: 2px solid transparent;
+  color: var(--color-text);
+  text-decoration: none;
+  transition: border-left-color 0.1s;
+}
+.tsd-navigation a:hover {
+  text-decoration: underline;
+}
+.tsd-navigation ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.tsd-navigation li {
+  padding: 0;
+}
+
+.tsd-navigation.primary {
+  padding-bottom: 40px;
+}
+.tsd-navigation.primary a {
+  display: block;
+  padding-top: 6px;
+  padding-bottom: 6px;
+}
+.tsd-navigation.primary ul li a {
+  padding-left: 5px;
+}
+.tsd-navigation.primary ul li li a {
+  padding-left: 25px;
+}
+.tsd-navigation.primary ul li li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.primary ul li li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.primary ul li li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.primary ul li li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.primary > ul {
+  border-bottom: 1px solid var(--color-panel-divider);
+}
+.tsd-navigation.primary li {
+  border-top: 1px solid var(--color-panel-divider);
+}
+.tsd-navigation.primary li.current > a {
+  font-weight: bold;
+}
+.tsd-navigation.primary li.label span {
+  display: block;
+  padding: 20px 0 6px 5px;
+  color: var(--color-menu-label);
+}
+.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a {
+  padding-top: 20px;
+}
+
+.tsd-navigation.secondary {
+  max-height: calc(100vh - 1rem - 40px);
+  overflow: auto;
+  position: -webkit-sticky;
+  position: sticky;
+  top: calc(.5rem + 40px);
+  transition: 0.3s;
+}
+.tsd-navigation.secondary.tsd-navigation--toolbar-hide {
+  max-height: calc(100vh - 1rem);
+  top: 0.5rem;
+}
+.tsd-navigation.secondary ul {
+  transition: opacity 0.2s;
+}
+.tsd-navigation.secondary ul li a {
+  padding-left: 25px;
+}
+.tsd-navigation.secondary ul li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.secondary ul li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.secondary ul li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.secondary ul li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.secondary ul li li li li li li a {
+  padding-left: 125px;
+}
+.tsd-navigation.secondary ul.current a {
+  border-left-color: var(--color-panel-divider);
+}
+.tsd-navigation.secondary li.focus > a,
+.tsd-navigation.secondary ul.current li.focus > a {
+  border-left-color: var(--color-menu-divider-focus);
+}
+.tsd-navigation.secondary li.current {
+  margin-top: 20px;
+  margin-bottom: 20px;
+  border-left-color: var(--color-panel-divider);
+}
+.tsd-navigation.secondary li.current > a {
+  font-weight: bold;
+}
+
+@media (min-width: 901px) {
+  .menu-sticky-wrap {
+    position: static;
+  }
+}
+
+.tsd-panel {
+  margin: 20px 0;
+  padding: 20px;
+  background-color: var(--color-panel);
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+.tsd-panel:empty {
+  display: none;
+}
+.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 {
+  margin: 1.5em -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid var(--color-panel-divider);
+}
+.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature {
+  margin-bottom: 0;
+  border-bottom: 0;
+}
+.tsd-panel table {
+  display: block;
+  width: 100%;
+  overflow: auto;
+  margin-top: 10px;
+  word-break: normal;
+  word-break: keep-all;
+}
+.tsd-panel table th {
+  font-weight: bold;
+}
+.tsd-panel table th, .tsd-panel table td {
+  padding: 6px 13px;
+  border: 1px solid #ddd;
+}
+.tsd-panel table tr {
+  background-color: #fff;
+  border-top: 1px solid #ccc;
+}
+.tsd-panel table tr:nth-child(2n) {
+  background-color: #f8f8f8;
+}
+
+.tsd-panel-group {
+  margin: 60px 0;
+}
+.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 {
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+#tsd-search {
+  transition: background-color 0.2s;
+}
+#tsd-search .title {
+  position: relative;
+  z-index: 2;
+}
+#tsd-search .field {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 40px;
+  height: 40px;
+}
+#tsd-search .field input {
+  box-sizing: border-box;
+  position: relative;
+  top: -50px;
+  z-index: 1;
+  width: 100%;
+  padding: 0 10px;
+  opacity: 0;
+  outline: 0;
+  border: 0;
+  background: transparent;
+  color: var(--color-text);
+}
+#tsd-search .field label {
+  position: absolute;
+  overflow: hidden;
+  right: -40px;
+}
+#tsd-search .field input,
+#tsd-search .title {
+  transition: opacity 0.2s;
+}
+#tsd-search .results {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  width: 100%;
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+#tsd-search .results li {
+  padding: 0 10px;
+  background-color: var(--color-background);
+}
+#tsd-search .results li:nth-child(even) {
+  background-color: var(--color-panel);
+}
+#tsd-search .results li.state {
+  display: none;
+}
+#tsd-search .results li.current,
+#tsd-search .results li:hover {
+  background-color: var(--color-panel-divider);
+}
+#tsd-search .results a {
+  display: block;
+}
+#tsd-search .results a:before {
+  top: 10px;
+}
+#tsd-search .results span.parent {
+  color: var(--color-text-aside);
+  font-weight: normal;
+}
+#tsd-search.has-focus {
+  background-color: var(--color-panel-divider);
+}
+#tsd-search.has-focus .field input {
+  top: 0;
+  opacity: 1;
+}
+#tsd-search.has-focus .title {
+  z-index: 0;
+  opacity: 0;
+}
+#tsd-search.has-focus .results {
+  visibility: visible;
+}
+#tsd-search.loading .results li.state.loading {
+  display: block;
+}
+#tsd-search.failure .results li.state.failure {
+  display: block;
+}
+
+.tsd-signature {
+  margin: 0 0 1em 0;
+  padding: 10px;
+  border: 1px solid var(--color-panel-divider);
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  font-size: 14px;
+  overflow-x: auto;
+}
+.tsd-signature.tsd-kind-icon {
+  padding-left: 30px;
+}
+.tsd-signature.tsd-kind-icon:before {
+  top: 10px;
+  left: 10px;
+}
+.tsd-panel > .tsd-signature {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+
+.tsd-signature-symbol {
+  color: var(--color-text-aside);
+  font-weight: normal;
+}
+
+.tsd-signature-type {
+  font-style: italic;
+  font-weight: normal;
+}
+
+.tsd-signatures {
+  padding: 0;
+  margin: 0 0 1em 0;
+  border: 1px solid var(--color-panel-divider);
+}
+.tsd-signatures .tsd-signature {
+  margin: 0;
+  border-width: 1px 0 0 0;
+  transition: background-color 0.1s;
+}
+.tsd-signatures .tsd-signature:first-child {
+  border-top-width: 0;
+}
+.tsd-signatures .tsd-signature.current {
+  background-color: var(--color-panel-divider);
+}
+.tsd-signatures.active > .tsd-signature {
+  cursor: pointer;
+}
+.tsd-panel > .tsd-signatures {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+.tsd-panel > a.anchor + .tsd-signatures {
+  border-top-width: 0;
+  margin-top: -20px;
+}
+
+ul.tsd-descriptions {
+  position: relative;
+  overflow: hidden;
+  padding: 0;
+  list-style: none;
+}
+ul.tsd-descriptions.active > .tsd-description {
+  display: none;
+}
+ul.tsd-descriptions.active > .tsd-description.current {
+  display: block;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-in {
+  animation: fade-in-delayed 0.3s;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-out {
+  animation: fade-out-delayed 0.3s;
+  position: absolute;
+  display: block;
+  top: 0;
+  left: 0;
+  right: 0;
+  opacity: 0;
+  visibility: hidden;
+}
+ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+
+ul.tsd-parameters,
+ul.tsd-type-parameters {
+  list-style: square;
+  margin: 0;
+  padding-left: 20px;
+}
+ul.tsd-parameters > li.tsd-parameter-signature,
+ul.tsd-type-parameters > li.tsd-parameter-signature {
+  list-style: none;
+  margin-left: -20px;
+}
+ul.tsd-parameters h5,
+ul.tsd-type-parameters h5 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+ul.tsd-parameters .tsd-comment,
+ul.tsd-type-parameters .tsd-comment {
+  margin-top: -0.5em;
+}
+
+.tsd-sources {
+  font-size: 14px;
+  color: var(--color-text-aside);
+  margin: 0 0 1em 0;
+}
+.tsd-sources a {
+  color: var(--color-text-aside);
+  text-decoration: underline;
+}
+.tsd-sources ul, .tsd-sources p {
+  margin: 0 !important;
+}
+.tsd-sources ul {
+  list-style: none;
+  padding: 0;
+}
+
+.tsd-page-toolbar {
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 40px;
+  color: var(--color-toolbar-text);
+  background: var(--color-toolbar);
+  border-bottom: 1px solid var(--color-panel-divider);
+  transition: transform 0.3s linear;
+}
+.tsd-page-toolbar a {
+  color: var(--color-toolbar-text);
+  text-decoration: none;
+}
+.tsd-page-toolbar a.title {
+  font-weight: bold;
+}
+.tsd-page-toolbar a.title:hover {
+  text-decoration: underline;
+}
+.tsd-page-toolbar .table-wrap {
+  display: table;
+  width: 100%;
+  height: 40px;
+}
+.tsd-page-toolbar .table-cell {
+  display: table-cell;
+  position: relative;
+  white-space: nowrap;
+  line-height: 40px;
+}
+.tsd-page-toolbar .table-cell:first-child {
+  width: 100%;
+}
+
+.tsd-page-toolbar--hide {
+  transform: translateY(-100%);
+}
+
+.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+  content: "";
+  display: inline-block;
+  width: 40px;
+  height: 40px;
+  margin: 0 -8px 0 0;
+  background-image: url(../images/widgets.png);
+  background-repeat: no-repeat;
+  text-indent: -1024px;
+  vertical-align: bottom;
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+    background-image: url(../images/widgets@2x.png);
+    background-size: 320px 40px;
+  }
+}
+
+.tsd-widget {
+  display: inline-block;
+  overflow: hidden;
+  opacity: 0.6;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-widget:hover {
+  opacity: 0.8;
+}
+.tsd-widget.active {
+  opacity: 1;
+  background-color: var(--color-panel-divider);
+}
+.tsd-widget.no-caption {
+  width: 40px;
+}
+.tsd-widget.no-caption:before {
+  margin: 0;
+}
+.tsd-widget.search:before {
+  background-position: 0 0;
+}
+.tsd-widget.menu:before {
+  background-position: -40px 0;
+}
+.tsd-widget.options:before {
+  background-position: -80px 0;
+}
+.tsd-widget.options, .tsd-widget.menu {
+  display: none;
+}
+@media (max-width: 900px) {
+  .tsd-widget.options, .tsd-widget.menu {
+    display: inline-block;
+  }
+}
+input[type=checkbox] + .tsd-widget:before {
+  background-position: -120px 0;
+}
+input[type=checkbox]:checked + .tsd-widget:before {
+  background-position: -160px 0;
+}
+
+.tsd-select {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-select .tsd-select-label {
+  opacity: 0.6;
+  transition: opacity 0.2s;
+}
+.tsd-select .tsd-select-label:before {
+  background-position: -240px 0;
+}
+.tsd-select.active .tsd-select-label {
+  opacity: 0.8;
+}
+.tsd-select.active .tsd-select-list {
+  visibility: visible;
+  opacity: 1;
+  transition-delay: 0s;
+}
+.tsd-select .tsd-select-list {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  left: 0;
+  margin: 0;
+  padding: 0;
+  opacity: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  transition: visibility 0s 0.2s, opacity 0.2s;
+}
+.tsd-select .tsd-select-list li {
+  padding: 0 20px 0 0;
+  background-color: var(--color-background);
+}
+.tsd-select .tsd-select-list li:before {
+  background-position: 40px 0;
+}
+.tsd-select .tsd-select-list li:nth-child(even) {
+  background-color: var(--color-panel);
+}
+.tsd-select .tsd-select-list li:hover {
+  background-color: var(--color-panel-divider);
+}
+.tsd-select .tsd-select-list li.selected:before {
+  background-position: -200px 0;
+}
+@media (max-width: 900px) {
+  .tsd-select .tsd-select-list {
+    top: 0;
+    left: auto;
+    right: 100%;
+    margin-right: -5px;
+  }
+  .tsd-select .tsd-select-label:before {
+    background-position: -280px 0;
+  }
+}
+
+img {
+  max-width: 100%;
+}
diff --git a/public/assets/js/main.js b/public/assets/js/main.js
index c2190a936d093441e68a8ec4b82c2f485afe1796..dc257a8681e2d720fabf8e91f506f560e3699c62 100644
--- a/public/assets/js/main.js
+++ b/public/assets/js/main.js
@@ -1,51 +1,248 @@
-!function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=2)}([function(e,t,r){var n,i;
-/**
- * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
- * Copyright (C) 2020 Oliver Nightingale
- * @license MIT
- */!function(){var s,o,a,u,l,c,h,d,f,p,y,m,v,g,x,w,L,E,b,S,k,Q,O,P,T,_,C=function(e){var t=new C.Builder;return t.pipeline.add(C.trimmer,C.stopWordFilter,C.stemmer),t.searchPipeline.add(C.stemmer),e.call(t,t),t.build()};C.version="2.3.9"
-/*!
- * lunr.utils
- * Copyright (C) 2020 Oliver Nightingale
- */,C.utils={},C.utils.warn=(s=this,function(e){s.console&&console.warn&&console.warn(e)}),C.utils.asString=function(e){return null==e?"":e.toString()},C.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),n=0;n<r.length;n++){var i=r[n],s=e[i];if(Array.isArray(s))t[i]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[i]=s}}return t},C.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},C.FieldRef.joiner="/",C.FieldRef.fromString=function(e){var t=e.indexOf(C.FieldRef.joiner);if(-1===t)throw"malformed field ref string";var r=e.slice(0,t),n=e.slice(t+1);return new C.FieldRef(n,r,e)},C.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+C.FieldRef.joiner+this.docRef),this._stringValue}
-/*!
- * lunr.Set
- * Copyright (C) 2020 Oliver Nightingale
- */,C.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},C.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},C.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},C.Set.prototype.contains=function(e){return!!this.elements[e]},C.Set.prototype.intersect=function(e){var t,r,n,i=[];if(e===C.Set.complete)return this;if(e===C.Set.empty)return e;this.length<e.length?(t=this,r=e):(t=e,r=this),n=Object.keys(t.elements);for(var s=0;s<n.length;s++){var o=n[s];o in r.elements&&i.push(o)}return new C.Set(i)},C.Set.prototype.union=function(e){return e===C.Set.complete?C.Set.complete:e===C.Set.empty?this:new C.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},C.idf=function(e,t){var r=0;for(var n in e)"_index"!=n&&(r+=Object.keys(e[n]).length);var i=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(i))},C.Token=function(e,t){this.str=e||"",this.metadata=t||{}},C.Token.prototype.toString=function(){return this.str},C.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},C.Token.prototype.clone=function(e){return e=e||function(e){return e},new C.Token(e(this.str,this.metadata),this.metadata)}
-/*!
- * lunr.tokenizer
- * Copyright (C) 2020 Oliver Nightingale
- */,C.tokenizer=function(e,t){if(null==e||null==e)return[];if(Array.isArray(e))return e.map((function(e){return new C.Token(C.utils.asString(e).toLowerCase(),C.utils.clone(t))}));for(var r=e.toString().toLowerCase(),n=r.length,i=[],s=0,o=0;s<=n;s++){var a=s-o;if(r.charAt(s).match(C.tokenizer.separator)||s==n){if(a>0){var u=C.utils.clone(t)||{};u.position=[o,a],u.index=i.length,i.push(new C.Token(r.slice(o,s),u))}o=s+1}}return i},C.tokenizer.separator=/[\s\-]+/
-/*!
- * lunr.Pipeline
- * Copyright (C) 2020 Oliver Nightingale
- */,C.Pipeline=function(){this._stack=[]},C.Pipeline.registeredFunctions=Object.create(null),C.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&C.utils.warn("Overwriting existing registered function: "+t),e.label=t,C.Pipeline.registeredFunctions[e.label]=e},C.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||C.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},C.Pipeline.load=function(e){var t=new C.Pipeline;return e.forEach((function(e){var r=C.Pipeline.registeredFunctions[e];if(!r)throw new Error("Cannot load unregistered function: "+e);t.add(r)})),t},C.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach((function(e){C.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},C.Pipeline.prototype.after=function(e,t){C.Pipeline.warnIfFunctionNotRegistered(t);var r=this._stack.indexOf(e);if(-1==r)throw new Error("Cannot find existingFn");r+=1,this._stack.splice(r,0,t)},C.Pipeline.prototype.before=function(e,t){C.Pipeline.warnIfFunctionNotRegistered(t);var r=this._stack.indexOf(e);if(-1==r)throw new Error("Cannot find existingFn");this._stack.splice(r,0,t)},C.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},C.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var n=this._stack[r],i=[],s=0;s<e.length;s++){var o=n(e[s],s,e);if(null!=o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)i.push(o[a]);else i.push(o)}e=i}return e},C.Pipeline.prototype.runString=function(e,t){var r=new C.Token(e,t);return this.run([r]).map((function(e){return e.toString()}))},C.Pipeline.prototype.reset=function(){this._stack=[]},C.Pipeline.prototype.toJSON=function(){return this._stack.map((function(e){return C.Pipeline.warnIfFunctionNotRegistered(e),e.label}))}
-/*!
- * lunr.Vector
- * Copyright (C) 2020 Oliver Nightingale
- */,C.Vector=function(e){this._magnitude=0,this.elements=e||[]},C.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,n=r-t,i=Math.floor(n/2),s=this.elements[2*i];n>1&&(s<e&&(t=i),s>e&&(r=i),s!=e);)n=r-t,i=t+Math.floor(n/2),s=this.elements[2*i];return s==e||s>e?2*i:s<e?2*(i+1):void 0},C.Vector.prototype.insert=function(e,t){this.upsert(e,t,(function(){throw"duplicate index"}))},C.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var n=this.positionForIndex(e);this.elements[n]==e?this.elements[n+1]=r(this.elements[n+1],t):this.elements.splice(n,0,e,t)},C.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var n=this.elements[r];e+=n*n}return this._magnitude=Math.sqrt(e)},C.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,n=e.elements,i=r.length,s=n.length,o=0,a=0,u=0,l=0;u<i&&l<s;)(o=r[u])<(a=n[l])?u+=2:o>a?l+=2:o==a&&(t+=r[u+1]*n[l+1],u+=2,l+=2);return t},C.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},C.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},C.Vector.prototype.toJSON=function(){return this.elements}
-/*!
- * lunr.stemmer
- * Copyright (C) 2020 Oliver Nightingale
- * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
- */,C.stemmer=(o={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},a={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},u="[aeiouy]",l="[^aeiou][^aeiouy]*",c=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),p=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,v=/^(.+?)(ed|ing)$/,g=/.$/,x=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),L=new RegExp("^"+l+u+"[^aeiouwxy]$"),E=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,S=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,k=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,Q=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,T=new RegExp("^"+l+u+"[^aeiouwxy]$"),_=function(e){var t,r,n,i,s,u,l;if(e.length<3)return e;if("y"==(n=e.substr(0,1))&&(e=n.toUpperCase()+e.substr(1)),s=y,(i=p).test(e)?e=e.replace(i,"$1$2"):s.test(e)&&(e=e.replace(s,"$1$2")),s=v,(i=m).test(e)){var _=i.exec(e);(i=c).test(_[1])&&(i=g,e=e.replace(i,""))}else s.test(e)&&(t=(_=s.exec(e))[1],(s=f).test(t)&&(u=w,l=L,(s=x).test(e=t)?e+="e":u.test(e)?(i=g,e=e.replace(i,"")):l.test(e)&&(e+="e")));return(i=E).test(e)&&(e=(t=(_=i.exec(e))[1])+"i"),(i=b).test(e)&&(t=(_=i.exec(e))[1],r=_[2],(i=c).test(t)&&(e=t+o[r])),(i=S).test(e)&&(t=(_=i.exec(e))[1],r=_[2],(i=c).test(t)&&(e=t+a[r])),s=Q,(i=k).test(e)?(t=(_=i.exec(e))[1],(i=h).test(t)&&(e=t)):s.test(e)&&(t=(_=s.exec(e))[1]+_[2],(s=h).test(t)&&(e=t)),(i=O).test(e)&&(t=(_=i.exec(e))[1],s=d,u=T,((i=h).test(t)||s.test(t)&&!u.test(t))&&(e=t)),s=h,(i=P).test(e)&&s.test(e)&&(i=g,e=e.replace(i,"")),"y"==n&&(e=n.toLowerCase()+e.substr(1)),e},function(e){return e.update(_)}),C.Pipeline.registerFunction(C.stemmer,"stemmer")
-/*!
- * lunr.stopWordFilter
- * Copyright (C) 2020 Oliver Nightingale
- */,C.generateStopWordFilter=function(e){var t=e.reduce((function(e,t){return e[t]=t,e}),{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},C.stopWordFilter=C.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),C.Pipeline.registerFunction(C.stopWordFilter,"stopWordFilter")
-/*!
- * lunr.trimmer
- * Copyright (C) 2020 Oliver Nightingale
- */,C.trimmer=function(e){return e.update((function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")}))},C.Pipeline.registerFunction(C.trimmer,"trimmer")
-/*!
- * lunr.TokenSet
- * Copyright (C) 2020 Oliver Nightingale
- */,C.TokenSet=function(){this.final=!1,this.edges={},this.id=C.TokenSet._nextId,C.TokenSet._nextId+=1},C.TokenSet._nextId=1,C.TokenSet.fromArray=function(e){for(var t=new C.TokenSet.Builder,r=0,n=e.length;r<n;r++)t.insert(e[r]);return t.finish(),t.root},C.TokenSet.fromClause=function(e){return"editDistance"in e?C.TokenSet.fromFuzzyString(e.term,e.editDistance):C.TokenSet.fromString(e.term)},C.TokenSet.fromFuzzyString=function(e,t){for(var r=new C.TokenSet,n=[{node:r,editsRemaining:t,str:e}];n.length;){var i=n.pop();if(i.str.length>0){var s,o=i.str.charAt(0);o in i.node.edges?s=i.node.edges[o]:(s=new C.TokenSet,i.node.edges[o]=s),1==i.str.length&&(s.final=!0),n.push({node:s,editsRemaining:i.editsRemaining,str:i.str.slice(1)})}if(0!=i.editsRemaining){if("*"in i.node.edges)var a=i.node.edges["*"];else{a=new C.TokenSet;i.node.edges["*"]=a}if(0==i.str.length&&(a.final=!0),n.push({node:a,editsRemaining:i.editsRemaining-1,str:i.str}),i.str.length>1&&n.push({node:i.node,editsRemaining:i.editsRemaining-1,str:i.str.slice(1)}),1==i.str.length&&(i.node.final=!0),i.str.length>=1){if("*"in i.node.edges)var u=i.node.edges["*"];else{u=new C.TokenSet;i.node.edges["*"]=u}1==i.str.length&&(u.final=!0),n.push({node:u,editsRemaining:i.editsRemaining-1,str:i.str.slice(1)})}if(i.str.length>1){var l,c=i.str.charAt(0),h=i.str.charAt(1);h in i.node.edges?l=i.node.edges[h]:(l=new C.TokenSet,i.node.edges[h]=l),1==i.str.length&&(l.final=!0),n.push({node:l,editsRemaining:i.editsRemaining-1,str:c+i.str.slice(2)})}}}return r},C.TokenSet.fromString=function(e){for(var t=new C.TokenSet,r=t,n=0,i=e.length;n<i;n++){var s=e[n],o=n==i-1;if("*"==s)t.edges[s]=t,t.final=o;else{var a=new C.TokenSet;a.final=o,t.edges[s]=a,t=a}}return r},C.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var r=t.pop(),n=Object.keys(r.node.edges),i=n.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var s=0;s<i;s++){var o=n[s];t.push({prefix:r.prefix.concat(o),node:r.node.edges[o]})}}return e},C.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),r=t.length,n=0;n<r;n++){var i=t[n];e=e+i+this.edges[i].id}return e},C.TokenSet.prototype.intersect=function(e){for(var t=new C.TokenSet,r=void 0,n=[{qNode:e,output:t,node:this}];n.length;){r=n.pop();for(var i=Object.keys(r.qNode.edges),s=i.length,o=Object.keys(r.node.edges),a=o.length,u=0;u<s;u++)for(var l=i[u],c=0;c<a;c++){var h=o[c];if(h==l||"*"==l){var d=r.node.edges[h],f=r.qNode.edges[l],p=d.final&&f.final,y=void 0;h in r.output.edges?(y=r.output.edges[h]).final=y.final||p:((y=new C.TokenSet).final=p,r.output.edges[h]=y),n.push({qNode:f,output:y,node:d})}}}return t},C.TokenSet.Builder=function(){this.previousWord="",this.root=new C.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},C.TokenSet.Builder.prototype.insert=function(e){var t,r=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var n=0;n<e.length&&n<this.previousWord.length&&e[n]==this.previousWord[n];n++)r++;this.minimize(r),t=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(n=r;n<e.length;n++){var i=new C.TokenSet,s=e[n];t.edges[s]=i,this.uncheckedNodes.push({parent:t,char:s,child:i}),t=i}t.final=!0,this.previousWord=e},C.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},C.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;t>=e;t--){var r=this.uncheckedNodes[t],n=r.child.toString();n in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[n]:(r.child._str=n,this.minimizedNodes[n]=r.child),this.uncheckedNodes.pop()}}
-/*!
- * lunr.Index
- * Copyright (C) 2020 Oliver Nightingale
- */,C.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},C.Index.prototype.search=function(e){return this.query((function(t){new C.QueryParser(e,t).parse()}))},C.Index.prototype.query=function(e){for(var t=new C.Query(this.fields),r=Object.create(null),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=0;a<this.fields.length;a++)n[this.fields[a]]=new C.Vector;e.call(t,t);for(a=0;a<t.clauses.length;a++){var u=t.clauses[a],l=null,c=C.Set.empty;l=u.usePipeline?this.pipeline.runString(u.term,{fields:u.fields}):[u.term];for(var h=0;h<l.length;h++){var d=l[h];u.term=d;var f=C.TokenSet.fromClause(u),p=this.tokenSet.intersect(f).toArray();if(0===p.length&&u.presence===C.Query.presence.REQUIRED){for(var y=0;y<u.fields.length;y++){s[R=u.fields[y]]=C.Set.empty}break}for(var m=0;m<p.length;m++){var v=p[m],g=this.invertedIndex[v],x=g._index;for(y=0;y<u.fields.length;y++){var w=g[R=u.fields[y]],L=Object.keys(w),E=v+"/"+R,b=new C.Set(L);if(u.presence==C.Query.presence.REQUIRED&&(c=c.union(b),void 0===s[R]&&(s[R]=C.Set.complete)),u.presence!=C.Query.presence.PROHIBITED){if(n[R].upsert(x,u.boost,(function(e,t){return e+t})),!i[E]){for(var S=0;S<L.length;S++){var k,Q=L[S],O=new C.FieldRef(Q,R),P=w[Q];void 0===(k=r[O])?r[O]=new C.MatchData(v,R,P):k.add(v,R,P)}i[E]=!0}}else void 0===o[R]&&(o[R]=C.Set.empty),o[R]=o[R].union(b)}}}if(u.presence===C.Query.presence.REQUIRED)for(y=0;y<u.fields.length;y++){s[R=u.fields[y]]=s[R].intersect(c)}}var T=C.Set.complete,_=C.Set.empty;for(a=0;a<this.fields.length;a++){var R;s[R=this.fields[a]]&&(T=T.intersect(s[R])),o[R]&&(_=_.union(o[R]))}var I=Object.keys(r),j=[],F=Object.create(null);if(t.isNegated()){I=Object.keys(this.fieldVectors);for(a=0;a<I.length;a++){O=I[a];var N=C.FieldRef.fromString(O);r[O]=new C.MatchData}}for(a=0;a<I.length;a++){var D=(N=C.FieldRef.fromString(I[a])).docRef;if(T.contains(D)&&!_.contains(D)){var A,z=this.fieldVectors[N],q=n[N.fieldName].similarity(z);if(void 0!==(A=F[D]))A.score+=q,A.matchData.combine(r[N]);else{var V={ref:D,score:q,matchData:r[N]};F[D]=V,j.push(V)}}}return j.sort((function(e,t){return t.score-e.score}))},C.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map((function(e){return[e,this.invertedIndex[e]]}),this),t=Object.keys(this.fieldVectors).map((function(e){return[e,this.fieldVectors[e].toJSON()]}),this);return{version:C.version,fields:this.fields,fieldVectors:t,invertedIndex:e,pipeline:this.pipeline.toJSON()}},C.Index.load=function(e){var t={},r={},n=e.fieldVectors,i=Object.create(null),s=e.invertedIndex,o=new C.TokenSet.Builder,a=C.Pipeline.load(e.pipeline);e.version!=C.version&&C.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+C.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<n.length;u++){var l=(h=n[u])[0],c=h[1];r[l]=new C.Vector(c)}for(u=0;u<s.length;u++){var h,d=(h=s[u])[0],f=h[1];o.insert(d),i[d]=f}return o.finish(),t.fields=e.fields,t.fieldVectors=r,t.invertedIndex=i,t.tokenSet=o.root,t.pipeline=a,new C.Index(t)}
-/*!
- * lunr.Builder
- * Copyright (C) 2020 Oliver Nightingale
- */,C.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=C.tokenizer,this.pipeline=new C.Pipeline,this.searchPipeline=new C.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},C.Builder.prototype.ref=function(e){this._ref=e},C.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},C.Builder.prototype.b=function(e){this._b=e<0?0:e>1?1:e},C.Builder.prototype.k1=function(e){this._k1=e},C.Builder.prototype.add=function(e,t){var r=e[this._ref],n=Object.keys(this._fields);this._documents[r]=t||{},this.documentCount+=1;for(var i=0;i<n.length;i++){var s=n[i],o=this._fields[s].extractor,a=o?o(e):e[s],u=this.tokenizer(a,{fields:[s]}),l=this.pipeline.run(u),c=new C.FieldRef(r,s),h=Object.create(null);this.fieldTermFrequencies[c]=h,this.fieldLengths[c]=0,this.fieldLengths[c]+=l.length;for(var d=0;d<l.length;d++){var f=l[d];if(null==h[f]&&(h[f]=0),h[f]+=1,null==this.invertedIndex[f]){var p=Object.create(null);p._index=this.termIndex,this.termIndex+=1;for(var y=0;y<n.length;y++)p[n[y]]=Object.create(null);this.invertedIndex[f]=p}null==this.invertedIndex[f][s][r]&&(this.invertedIndex[f][s][r]=Object.create(null));for(var m=0;m<this.metadataWhitelist.length;m++){var v=this.metadataWhitelist[m],g=f.metadata[v];null==this.invertedIndex[f][s][r][v]&&(this.invertedIndex[f][s][r][v]=[]),this.invertedIndex[f][s][r][v].push(g)}}}},C.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),t=e.length,r={},n={},i=0;i<t;i++){var s=C.FieldRef.fromString(e[i]),o=s.fieldName;n[o]||(n[o]=0),n[o]+=1,r[o]||(r[o]=0),r[o]+=this.fieldLengths[s]}var a=Object.keys(this._fields);for(i=0;i<a.length;i++){var u=a[i];r[u]=r[u]/n[u]}this.averageFieldLength=r},C.Builder.prototype.createFieldVectors=function(){for(var e={},t=Object.keys(this.fieldTermFrequencies),r=t.length,n=Object.create(null),i=0;i<r;i++){for(var s=C.FieldRef.fromString(t[i]),o=s.fieldName,a=this.fieldLengths[s],u=new C.Vector,l=this.fieldTermFrequencies[s],c=Object.keys(l),h=c.length,d=this._fields[o].boost||1,f=this._documents[s.docRef].boost||1,p=0;p<h;p++){var y,m,v,g=c[p],x=l[g],w=this.invertedIndex[g]._index;void 0===n[g]?(y=C.idf(this.invertedIndex[g],this.documentCount),n[g]=y):y=n[g],m=y*((this._k1+1)*x)/(this._k1*(1-this._b+this._b*(a/this.averageFieldLength[o]))+x),m*=d,m*=f,v=Math.round(1e3*m)/1e3,u.insert(w,v)}e[s]=u}this.fieldVectors=e},C.Builder.prototype.createTokenSet=function(){this.tokenSet=C.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},C.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new C.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},C.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},C.MatchData=function(e,t,r){for(var n=Object.create(null),i=Object.keys(r||{}),s=0;s<i.length;s++){var o=i[s];n[o]=r[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=n)},C.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var n=t[r],i=Object.keys(e.metadata[n]);null==this.metadata[n]&&(this.metadata[n]=Object.create(null));for(var s=0;s<i.length;s++){var o=i[s],a=Object.keys(e.metadata[n][o]);null==this.metadata[n][o]&&(this.metadata[n][o]=Object.create(null));for(var u=0;u<a.length;u++){var l=a[u];null==this.metadata[n][o][l]?this.metadata[n][o][l]=e.metadata[n][o][l]:this.metadata[n][o][l]=this.metadata[n][o][l].concat(e.metadata[n][o][l])}}}},C.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(t in this.metadata[e])for(var n=Object.keys(r),i=0;i<n.length;i++){var s=n[i];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(r[s]):this.metadata[e][t][s]=r[s]}else this.metadata[e][t]=r},C.Query=function(e){this.clauses=[],this.allFields=e},C.Query.wildcard=new String("*"),C.Query.wildcard.NONE=0,C.Query.wildcard.LEADING=1,C.Query.wildcard.TRAILING=2,C.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},C.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=C.Query.wildcard.NONE),e.wildcard&C.Query.wildcard.LEADING&&e.term.charAt(0)!=C.Query.wildcard&&(e.term="*"+e.term),e.wildcard&C.Query.wildcard.TRAILING&&e.term.slice(-1)!=C.Query.wildcard&&(e.term=e.term+"*"),"presence"in e||(e.presence=C.Query.presence.OPTIONAL),this.clauses.push(e),this},C.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=C.Query.presence.PROHIBITED)return!1;return!0},C.Query.prototype.term=function(e,t){if(Array.isArray(e))return e.forEach((function(e){this.term(e,C.utils.clone(t))}),this),this;var r=t||{};return r.term=e.toString(),this.clause(r),this},C.QueryParseError=function(e,t,r){this.name="QueryParseError",this.message=e,this.start=t,this.end=r},C.QueryParseError.prototype=new Error,C.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},C.QueryLexer.prototype.run=function(){for(var e=C.QueryLexer.lexText;e;)e=e(this)},C.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,n=0;n<this.escapeCharPositions.length;n++)r=this.escapeCharPositions[n],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},C.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},C.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},C.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return C.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},C.QueryLexer.prototype.width=function(){return this.pos-this.start},C.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},C.QueryLexer.prototype.backup=function(){this.pos-=1},C.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=C.QueryLexer.EOS&&this.backup()},C.QueryLexer.prototype.more=function(){return this.pos<this.length},C.QueryLexer.EOS="EOS",C.QueryLexer.FIELD="FIELD",C.QueryLexer.TERM="TERM",C.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",C.QueryLexer.BOOST="BOOST",C.QueryLexer.PRESENCE="PRESENCE",C.QueryLexer.lexField=function(e){return e.backup(),e.emit(C.QueryLexer.FIELD),e.ignore(),C.QueryLexer.lexText},C.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(C.QueryLexer.TERM)),e.ignore(),e.more())return C.QueryLexer.lexText},C.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(C.QueryLexer.EDIT_DISTANCE),C.QueryLexer.lexText},C.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(C.QueryLexer.BOOST),C.QueryLexer.lexText},C.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(C.QueryLexer.TERM)},C.QueryLexer.termSeparator=C.tokenizer.separator,C.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==C.QueryLexer.EOS)return C.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return C.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(C.QueryLexer.TERM),C.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(C.QueryLexer.TERM),C.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(C.QueryLexer.PRESENCE),C.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(C.QueryLexer.PRESENCE),C.QueryLexer.lexText;if(t.match(C.QueryLexer.termSeparator))return C.QueryLexer.lexTerm}else e.escapeCharacter()}},C.QueryParser=function(e,t){this.lexer=new C.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},C.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=C.QueryParser.parseClause;e;)e=e(this);return this.query},C.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},C.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},C.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},C.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case C.QueryLexer.PRESENCE:return C.QueryParser.parsePresence;case C.QueryLexer.FIELD:return C.QueryParser.parseField;case C.QueryLexer.TERM:return C.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(r+=" with value '"+t.str+"'"),new C.QueryParseError(r,t.start,t.end)}},C.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=C.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=C.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+t.str+"'";throw new C.QueryParseError(r,t.start,t.end)}var n=e.peekLexeme();if(null==n){r="expecting term or field, found nothing";throw new C.QueryParseError(r,t.start,t.end)}switch(n.type){case C.QueryLexer.FIELD:return C.QueryParser.parseField;case C.QueryLexer.TERM:return C.QueryParser.parseTerm;default:r="expecting term or field, found '"+n.type+"'";throw new C.QueryParseError(r,n.start,n.end)}}},C.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var r=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),n="unrecognised field '"+t.str+"', possible fields: "+r;throw new C.QueryParseError(n,t.start,t.end)}e.currentClause.fields=[t.str];var i=e.peekLexeme();if(null==i){n="expecting term, found nothing";throw new C.QueryParseError(n,t.start,t.end)}switch(i.type){case C.QueryLexer.TERM:return C.QueryParser.parseTerm;default:n="expecting term, found '"+i.type+"'";throw new C.QueryParseError(n,i.start,i.end)}}},C.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(null!=r)switch(r.type){case C.QueryLexer.TERM:return e.nextClause(),C.QueryParser.parseTerm;case C.QueryLexer.FIELD:return e.nextClause(),C.QueryParser.parseField;case C.QueryLexer.EDIT_DISTANCE:return C.QueryParser.parseEditDistance;case C.QueryLexer.BOOST:return C.QueryParser.parseBoost;case C.QueryLexer.PRESENCE:return e.nextClause(),C.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+r.type+"'";throw new C.QueryParseError(n,r.start,r.end)}else e.nextClause()}},C.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var r=parseInt(t.str,10);if(isNaN(r)){var n="edit distance must be numeric";throw new C.QueryParseError(n,t.start,t.end)}e.currentClause.editDistance=r;var i=e.peekLexeme();if(null!=i)switch(i.type){case C.QueryLexer.TERM:return e.nextClause(),C.QueryParser.parseTerm;case C.QueryLexer.FIELD:return e.nextClause(),C.QueryParser.parseField;case C.QueryLexer.EDIT_DISTANCE:return C.QueryParser.parseEditDistance;case C.QueryLexer.BOOST:return C.QueryParser.parseBoost;case C.QueryLexer.PRESENCE:return e.nextClause(),C.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+i.type+"'";throw new C.QueryParseError(n,i.start,i.end)}else e.nextClause()}},C.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var r=parseInt(t.str,10);if(isNaN(r)){var n="boost must be numeric";throw new C.QueryParseError(n,t.start,t.end)}e.currentClause.boost=r;var i=e.peekLexeme();if(null!=i)switch(i.type){case C.QueryLexer.TERM:return e.nextClause(),C.QueryParser.parseTerm;case C.QueryLexer.FIELD:return e.nextClause(),C.QueryParser.parseField;case C.QueryLexer.EDIT_DISTANCE:return C.QueryParser.parseEditDistance;case C.QueryLexer.BOOST:return C.QueryParser.parseBoost;case C.QueryLexer.PRESENCE:return e.nextClause(),C.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+i.type+"'";throw new C.QueryParseError(n,i.start,i.end)}else e.nextClause()}},void 0===(i="function"==typeof(n=function(){return C})?n.call(t,r,t,e):n)||(e.exports=i)}()},function(e,t,r){},function(e,t,r){"use strict";r.r(t);var n=[];function i(e,t){n.push({selector:t,constructor:e})}var s,o,a=function(){function e(){this.createComponents(document.body)}return e.prototype.createComponents=function(e){n.forEach((function(t){e.querySelectorAll(t.selector).forEach((function(e){e.dataset.hasInstance||(new t.constructor({el:e}),e.dataset.hasInstance=String(!0))}))}))},e}(),u=function(e){this.el=e.el},l=r(0),c=(s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});!function(e){e[e.Idle=0]="Idle",e[e.Loading=1]="Loading",e[e.Ready=2]="Ready",e[e.Failure=3]="Failure"}(o||(o={}));var h=function(e){function t(t){var r=e.call(this,t)||this;r.query="",r.loadingState=o.Idle,r.hasFocus=!1,r.preventPress=!1,r.data=null,r.index=null,r.resultClicked=!1;var n=document.querySelector("#tsd-search-field"),i=document.querySelector(".results");if(!n||!i)throw new Error("The input field or the result list wrapper are not found");return r.field=n,r.results=i,r.base=r.el.dataset.base+"/",r.bindEvents(),r}return c(t,e),t.prototype.loadIndex=function(){var e=this;if(this.loadingState==o.Idle&&!this.data){setTimeout((function(){e.loadingState==o.Idle&&e.setLoadingState(o.Loading)}),500);var t=this.el.dataset.index;t?fetch(t).then((function(e){if(!e.ok)throw new Error("The search index is missing");return e.json()})).then((function(t){e.data=t,e.index=l.Index.load(t.index),e.setLoadingState(o.Ready)})).catch((function(t){console.error(t),e.setLoadingState(o.Failure)})):this.setLoadingState(o.Failure)}},t.prototype.updateResults=function(){if(this.loadingState==o.Ready&&(this.results.textContent="",this.query&&this.index&&this.data)){var e=this.index.search("*"+this.query+"*");0===e.length&&(e=this.index.search("*"+this.query+"~1*"));for(var t=0,r=Math.min(10,e.length);t<r;t++){var n=this.data.rows[Number(e[t].ref)],i=n.name.replace(new RegExp(this.query,"i"),(function(e){return"<b>"+e+"</b>"})),s=n.parent||"";(s=s.replace(new RegExp(this.query,"i"),(function(e){return"<b>"+e+"</b>"})))&&(i='<span class="parent">'+s+".</span>"+i);var a=document.createElement("li");a.classList.value=n.classes,a.innerHTML='\n                    <a href="'+(this.base+n.url)+'" class="tsd-kind-icon">'+i+"</a>\n                ",this.results.appendChild(a)}}},t.prototype.setLoadingState=function(e){this.loadingState!=e&&(this.el.classList.remove(o[this.loadingState].toLowerCase()),this.loadingState=e,this.el.classList.add(o[this.loadingState].toLowerCase()),this.updateResults())},t.prototype.setHasFocus=function(e){this.hasFocus!=e&&(this.hasFocus=e,this.el.classList.toggle("has-focus"),e?(this.setQuery(""),this.field.value=""):this.field.value=this.query)},t.prototype.setQuery=function(e){this.query=e.trim(),this.updateResults()},t.prototype.setCurrentResult=function(e){var t=this.results.querySelector(".current");if(t){var r=1==e?t.nextElementSibling:t.previousElementSibling;r&&(t.classList.remove("current"),r.classList.add("current"))}else(t=this.results.querySelector(1==e?"li:first-child":"li:last-child"))&&t.classList.add("current")},t.prototype.gotoCurrentResult=function(){var e=this.results.querySelector(".current");if(e||(e=this.results.querySelector("li:first-child")),e){var t=e.querySelector("a");t&&(window.location.href=t.href),this.field.blur()}},t.prototype.bindEvents=function(){var e=this;this.results.addEventListener("mousedown",(function(){e.resultClicked=!0})),this.results.addEventListener("mouseup",(function(){e.resultClicked=!1,e.setHasFocus(!1)})),this.field.addEventListener("focusin",(function(){e.setHasFocus(!0),e.loadIndex()})),this.field.addEventListener("focusout",(function(){e.resultClicked?e.resultClicked=!1:setTimeout((function(){return e.setHasFocus(!1)}),100)})),this.field.addEventListener("input",(function(){e.setQuery(e.field.value)})),this.field.addEventListener("keydown",(function(t){13==t.keyCode||27==t.keyCode||38==t.keyCode||40==t.keyCode?(e.preventPress=!0,t.preventDefault(),13==t.keyCode?e.gotoCurrentResult():27==t.keyCode?e.field.blur():38==t.keyCode?e.setCurrentResult(-1):40==t.keyCode&&e.setCurrentResult(1)):e.preventPress=!1})),this.field.addEventListener("keypress",(function(t){e.preventPress&&t.preventDefault()})),document.body.addEventListener("keydown",(function(t){t.altKey||t.ctrlKey||t.metaKey||!e.hasFocus&&t.keyCode>47&&t.keyCode<112&&e.field.focus()}))},t}(u),d=function(){function e(){this.listeners={}}return e.prototype.addEventListener=function(e,t){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(t)},e.prototype.removeEventListener=function(e,t){if(e in this.listeners)for(var r=this.listeners[e],n=0,i=r.length;n<i;n++)if(r[n]===t)return void r.splice(n,1)},e.prototype.dispatchEvent=function(e){if(!(e.type in this.listeners))return!0;for(var t=this.listeners[e.type].slice(),r=0,n=t.length;r<n;r++)t[r].call(this,e);return!e.defaultPrevented},e}(),f=function(e,t){void 0===t&&(t=100);var r=Date.now();return function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];r+t-Date.now()<0&&(e.apply(void 0,n),r=Date.now())}},p=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),y=function(e){function t(){var t=e.call(this)||this;return t.scrollTop=0,t.lastY=0,t.width=0,t.height=0,t.showToolbar=!0,t.toolbar=document.querySelector(".tsd-page-toolbar"),t.secondaryNav=document.querySelector(".tsd-navigation.secondary"),window.addEventListener("scroll",f((function(){return t.onScroll()}),10)),window.addEventListener("resize",f((function(){return t.onResize()}),10)),t.onResize(),t.onScroll(),t}return p(t,e),t.prototype.triggerResize=function(){var e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)},t.prototype.onResize=function(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;var e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)},t.prototype.onScroll=function(){this.scrollTop=window.scrollY||0;var e=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(e),this.hideShowToolbar()},t.prototype.hideShowToolbar=function(){var e=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||0===this.scrollTop,e!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},t.instance=new t,t}(d),m=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),v=function(e){function t(t){var r=e.call(this,t)||this;return r.anchors=[],r.index=-1,y.instance.addEventListener("resize",(function(){return r.onResize()})),y.instance.addEventListener("scroll",(function(e){return r.onScroll(e)})),r.createAnchors(),r}return m(t,e),t.prototype.createAnchors=function(){var e=this,t=window.location.href;-1!=t.indexOf("#")&&(t=t.substr(0,t.indexOf("#"))),this.el.querySelectorAll("a").forEach((function(r){var n=r.href;if(-1!=n.indexOf("#")&&n.substr(0,t.length)==t){var i=n.substr(n.indexOf("#")+1),s=document.querySelector("a.tsd-anchor[name="+i+"]"),o=r.parentNode;s&&o&&e.anchors.push({link:o,anchor:s,position:0})}})),this.onResize()},t.prototype.onResize=function(){for(var e,t=0,r=this.anchors.length;t<r;t++){var n=(e=this.anchors[t]).anchor.getBoundingClientRect();e.position=n.top+document.body.scrollTop}this.anchors.sort((function(e,t){return e.position-t.position}));var i=new CustomEvent("scroll",{detail:{scrollTop:y.instance.scrollTop}});this.onScroll(i)},t.prototype.onScroll=function(e){for(var t=e.detail.scrollTop+5,r=this.anchors,n=r.length-1,i=this.index;i>-1&&r[i].position>t;)i-=1;for(;i<n&&r[i+1].position<t;)i+=1;this.index!=i&&(this.index>-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=i,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))},t}(u),g=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),x=function(){function e(e,t){this.signature=e,this.description=t}return e.prototype.addClass=function(e){return this.signature.classList.add(e),this.description.classList.add(e),this},e.prototype.removeClass=function(e){return this.signature.classList.remove(e),this.description.classList.remove(e),this},e}(),w=function(e){function t(t){var r=e.call(this,t)||this;return r.groups=[],r.index=-1,r.createGroups(),r.container&&(r.el.classList.add("active"),Array.from(r.el.children).forEach((function(e){e.addEventListener("touchstart",(function(e){return r.onClick(e)})),e.addEventListener("click",(function(e){return r.onClick(e)}))})),r.container.classList.add("active"),r.setIndex(0)),r}return g(t,e),t.prototype.setIndex=function(e){if(e<0&&(e=0),e>this.groups.length-1&&(e=this.groups.length-1),this.index!=e){var t=this.groups[e];if(this.index>-1){var r=this.groups[this.index];r.removeClass("current").addClass("fade-out"),t.addClass("current"),t.addClass("fade-in"),y.instance.triggerResize(),setTimeout((function(){r.removeClass("fade-out"),t.removeClass("fade-in")}),300)}else t.addClass("current"),y.instance.triggerResize();this.index=e}},t.prototype.createGroups=function(){var e=this.el.children;if(!(e.length<2)){this.container=this.el.nextElementSibling;var t=this.container.children;this.groups=[];for(var r=0;r<e.length;r++)this.groups.push(new x(e[r],t[r]))}},t.prototype.onClick=function(e){var t=this;this.groups.forEach((function(r,n){r.signature===e.currentTarget&&t.setIndex(n)}))},t}(u),L="mousedown",E="mousemove",b="mouseup",S={x:0,y:0},k=!1,Q=!1,O=!1,P=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(P?"is-mobile":"not-mobile"),P&&"ontouchstart"in document.documentElement&&(!0,L="touchstart",E="touchmove",b="touchend"),document.addEventListener(L,(function(e){Q=!0,O=!1;var t="touchstart"==L?e.targetTouches[0]:e;S.y=t.pageY||0,S.x=t.pageX||0})),document.addEventListener(E,(function(e){if(Q&&!O){var t="touchstart"==L?e.targetTouches[0]:e,r=S.x-(t.pageX||0),n=S.y-(t.pageY||0);O=Math.sqrt(r*r+n*n)>10}})),document.addEventListener(b,(function(){Q=!1})),document.addEventListener("click",(function(e){k&&(e.preventDefault(),e.stopImmediatePropagation(),k=!1)}));var T=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),_=function(e){function t(t){var r=e.call(this,t)||this;return r.className=r.el.dataset.toggle||"",r.el.addEventListener(b,(function(e){return r.onPointerUp(e)})),r.el.addEventListener("click",(function(e){return e.preventDefault()})),document.addEventListener(L,(function(e){return r.onDocumentPointerDown(e)})),document.addEventListener(b,(function(e){return r.onDocumentPointerUp(e)})),r}return T(t,e),t.prototype.setActive=function(e){if(this.active!=e){this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);var t=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(t),setTimeout((function(){return document.documentElement.classList.remove(t)}),500)}},t.prototype.onPointerUp=function(e){O||(this.setActive(!0),e.preventDefault())},t.prototype.onDocumentPointerDown=function(e){if(this.active){if(e.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}},t.prototype.onDocumentPointerUp=function(e){var t=this;if(!O&&this.active&&e.target.closest(".col-menu")){var r=e.target.closest("a");if(r){var n=window.location.href;-1!=n.indexOf("#")&&(n=n.substr(0,n.indexOf("#"))),r.href.substr(0,n.length)==n&&setTimeout((function(){return t.setActive(!1)}),250)}}},t}(u),C=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),R=function(){function e(e,t){this.key=e,this.value=t,this.defaultValue=t,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}return e.prototype.initialize=function(){},e.prototype.setValue=function(e){if(this.value!=e){var t=this.value;this.value=e,window.localStorage[this.key]=this.toLocalStorage(e),this.handleValueChange(t,e)}},e}(),I=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return C(t,e),t.prototype.initialize=function(){var e=this,t=document.querySelector("#tsd-filter-"+this.key);t&&(this.checkbox=t,this.checkbox.addEventListener("change",(function(){e.setValue(e.checkbox.checked)})))},t.prototype.handleValueChange=function(e,t){this.checkbox&&(this.checkbox.checked=this.value,document.documentElement.classList.toggle("toggle-"+this.key,this.value!=this.defaultValue))},t.prototype.fromLocalStorage=function(e){return"true"==e},t.prototype.toLocalStorage=function(e){return e?"true":"false"},t}(R),j=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return C(t,e),t.prototype.initialize=function(){var e=this;document.documentElement.classList.add("toggle-"+this.key+this.value);var t=document.querySelector("#tsd-filter-"+this.key);if(t){this.select=t;var r=function(){e.select.classList.add("active")};this.select.addEventListener(L,r),this.select.addEventListener("mouseover",r),this.select.addEventListener("mouseleave",(function(){e.select.classList.remove("active")})),this.select.querySelectorAll("li").forEach((function(r){r.addEventListener(b,(function(r){t.classList.remove("active"),e.setValue(r.target.dataset.value||"")}))})),document.addEventListener(L,(function(t){e.select.contains(t.target)||e.select.classList.remove("active")}))}},t.prototype.handleValueChange=function(e,t){this.select.querySelectorAll("li.selected").forEach((function(e){e.classList.remove("selected")}));var r=this.select.querySelector('li[data-value="'+t+'"]'),n=this.select.querySelector(".tsd-select-label");r&&n&&(r.classList.add("selected"),n.textContent=r.textContent),document.documentElement.classList.remove("toggle-"+e),document.documentElement.classList.add("toggle-"+t)},t.prototype.fromLocalStorage=function(e){return e},t.prototype.toLocalStorage=function(e){return e},t}(R),F=function(e){function t(t){var r=e.call(this,t)||this;return r.optionVisibility=new j("visibility","private"),r.optionInherited=new I("inherited",!0),r.optionExternals=new I("externals",!0),r.optionOnlyExported=new I("only-exported",!1),r}return C(t,e),t.isSupported=function(){try{return void 0!==window.localStorage}catch(e){return!1}},t}(u);r(1);i(h,"#tsd-search"),i(v,".menu-highlight"),i(w,".tsd-signatures"),i(_,"a[data-toggle]"),F.isSupported()?i(F,"#tsd-filter"):document.documentElement.classList.add("no-filter");var N=new a;Object.defineProperty(window,"app",{value:N})}]);
\ No newline at end of file
+/*
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
+ * This devtool is not neither made for production nor for readable output files.
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
+ * or disable the default devtool with "devtool: false".
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
+ */
+/******/ (() => { // webpackBootstrap
+/******/ 	var __webpack_modules__ = ({
+
+/***/ "../node_modules/lunr/lunr.js":
+/*!************************************!*\
+  !*** ../node_modules/lunr/lunr.js ***!
+  \************************************/
+/***/ ((module, exports, __webpack_require__) => {
+
+eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9\n * Copyright (C) 2020 Oliver Nightingale\n * @license MIT\n */\n\n;(function(){\n\n/**\n * A convenience function for configuring and constructing\n * a new lunr Index.\n *\n * A lunr.Builder instance is created and the pipeline setup\n * with a trimmer, stop word filter and stemmer.\n *\n * This builder object is yielded to the configuration function\n * that is passed as a parameter, allowing the list of fields\n * and other builder parameters to be customised.\n *\n * All documents _must_ be added within the passed config function.\n *\n * @example\n * var idx = lunr(function () {\n *   this.field('title')\n *   this.field('body')\n *   this.ref('id')\n *\n *   documents.forEach(function (doc) {\n *     this.add(doc)\n *   }, this)\n * })\n *\n * @see {@link lunr.Builder}\n * @see {@link lunr.Pipeline}\n * @see {@link lunr.trimmer}\n * @see {@link lunr.stopWordFilter}\n * @see {@link lunr.stemmer}\n * @namespace {function} lunr\n */\nvar lunr = function (config) {\n  var builder = new lunr.Builder\n\n  builder.pipeline.add(\n    lunr.trimmer,\n    lunr.stopWordFilter,\n    lunr.stemmer\n  )\n\n  builder.searchPipeline.add(\n    lunr.stemmer\n  )\n\n  config.call(builder, builder)\n  return builder.build()\n}\n\nlunr.version = \"2.3.9\"\n/*!\n * lunr.utils\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A namespace containing utils for the rest of the lunr library\n * @namespace lunr.utils\n */\nlunr.utils = {}\n\n/**\n * Print a warning message to the console.\n *\n * @param {String} message The message to be printed.\n * @memberOf lunr.utils\n * @function\n */\nlunr.utils.warn = (function (global) {\n  /* eslint-disable no-console */\n  return function (message) {\n    if (global.console && console.warn) {\n      console.warn(message)\n    }\n  }\n  /* eslint-enable no-console */\n})(this)\n\n/**\n * Convert an object to a string.\n *\n * In the case of `null` and `undefined` the function returns\n * the empty string, in all other cases the result of calling\n * `toString` on the passed object is returned.\n *\n * @param {Any} obj The object to convert to a string.\n * @return {String} string representation of the passed object.\n * @memberOf lunr.utils\n */\nlunr.utils.asString = function (obj) {\n  if (obj === void 0 || obj === null) {\n    return \"\"\n  } else {\n    return obj.toString()\n  }\n}\n\n/**\n * Clones an object.\n *\n * Will create a copy of an existing object such that any mutations\n * on the copy cannot affect the original.\n *\n * Only shallow objects are supported, passing a nested object to this\n * function will cause a TypeError.\n *\n * Objects with primitives, and arrays of primitives are supported.\n *\n * @param {Object} obj The object to clone.\n * @return {Object} a clone of the passed object.\n * @throws {TypeError} when a nested object is passed.\n * @memberOf Utils\n */\nlunr.utils.clone = function (obj) {\n  if (obj === null || obj === undefined) {\n    return obj\n  }\n\n  var clone = Object.create(null),\n      keys = Object.keys(obj)\n\n  for (var i = 0; i < keys.length; i++) {\n    var key = keys[i],\n        val = obj[key]\n\n    if (Array.isArray(val)) {\n      clone[key] = val.slice()\n      continue\n    }\n\n    if (typeof val === 'string' ||\n        typeof val === 'number' ||\n        typeof val === 'boolean') {\n      clone[key] = val\n      continue\n    }\n\n    throw new TypeError(\"clone is not deep and does not support nested objects\")\n  }\n\n  return clone\n}\nlunr.FieldRef = function (docRef, fieldName, stringValue) {\n  this.docRef = docRef\n  this.fieldName = fieldName\n  this._stringValue = stringValue\n}\n\nlunr.FieldRef.joiner = \"/\"\n\nlunr.FieldRef.fromString = function (s) {\n  var n = s.indexOf(lunr.FieldRef.joiner)\n\n  if (n === -1) {\n    throw \"malformed field ref string\"\n  }\n\n  var fieldRef = s.slice(0, n),\n      docRef = s.slice(n + 1)\n\n  return new lunr.FieldRef (docRef, fieldRef, s)\n}\n\nlunr.FieldRef.prototype.toString = function () {\n  if (this._stringValue == undefined) {\n    this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef\n  }\n\n  return this._stringValue\n}\n/*!\n * lunr.Set\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A lunr set.\n *\n * @constructor\n */\nlunr.Set = function (elements) {\n  this.elements = Object.create(null)\n\n  if (elements) {\n    this.length = elements.length\n\n    for (var i = 0; i < this.length; i++) {\n      this.elements[elements[i]] = true\n    }\n  } else {\n    this.length = 0\n  }\n}\n\n/**\n * A complete set that contains all elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.complete = {\n  intersect: function (other) {\n    return other\n  },\n\n  union: function () {\n    return this\n  },\n\n  contains: function () {\n    return true\n  }\n}\n\n/**\n * An empty set that contains no elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.empty = {\n  intersect: function () {\n    return this\n  },\n\n  union: function (other) {\n    return other\n  },\n\n  contains: function () {\n    return false\n  }\n}\n\n/**\n * Returns true if this set contains the specified object.\n *\n * @param {object} object - Object whose presence in this set is to be tested.\n * @returns {boolean} - True if this set contains the specified object.\n */\nlunr.Set.prototype.contains = function (object) {\n  return !!this.elements[object]\n}\n\n/**\n * Returns a new set containing only the elements that are present in both\n * this set and the specified set.\n *\n * @param {lunr.Set} other - set to intersect with this set.\n * @returns {lunr.Set} a new set that is the intersection of this and the specified set.\n */\n\nlunr.Set.prototype.intersect = function (other) {\n  var a, b, elements, intersection = []\n\n  if (other === lunr.Set.complete) {\n    return this\n  }\n\n  if (other === lunr.Set.empty) {\n    return other\n  }\n\n  if (this.length < other.length) {\n    a = this\n    b = other\n  } else {\n    a = other\n    b = this\n  }\n\n  elements = Object.keys(a.elements)\n\n  for (var i = 0; i < elements.length; i++) {\n    var element = elements[i]\n    if (element in b.elements) {\n      intersection.push(element)\n    }\n  }\n\n  return new lunr.Set (intersection)\n}\n\n/**\n * Returns a new set combining the elements of this and the specified set.\n *\n * @param {lunr.Set} other - set to union with this set.\n * @return {lunr.Set} a new set that is the union of this and the specified set.\n */\n\nlunr.Set.prototype.union = function (other) {\n  if (other === lunr.Set.complete) {\n    return lunr.Set.complete\n  }\n\n  if (other === lunr.Set.empty) {\n    return this\n  }\n\n  return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements)))\n}\n/**\n * A function to calculate the inverse document frequency for\n * a posting. This is shared between the builder and the index\n *\n * @private\n * @param {object} posting - The posting for a given term\n * @param {number} documentCount - The total number of documents.\n */\nlunr.idf = function (posting, documentCount) {\n  var documentsWithTerm = 0\n\n  for (var fieldName in posting) {\n    if (fieldName == '_index') continue // Ignore the term index, its not a field\n    documentsWithTerm += Object.keys(posting[fieldName]).length\n  }\n\n  var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5)\n\n  return Math.log(1 + Math.abs(x))\n}\n\n/**\n * A token wraps a string representation of a token\n * as it is passed through the text processing pipeline.\n *\n * @constructor\n * @param {string} [str=''] - The string token being wrapped.\n * @param {object} [metadata={}] - Metadata associated with this token.\n */\nlunr.Token = function (str, metadata) {\n  this.str = str || \"\"\n  this.metadata = metadata || {}\n}\n\n/**\n * Returns the token string that is being wrapped by this object.\n *\n * @returns {string}\n */\nlunr.Token.prototype.toString = function () {\n  return this.str\n}\n\n/**\n * A token update function is used when updating or optionally\n * when cloning a token.\n *\n * @callback lunr.Token~updateFunction\n * @param {string} str - The string representation of the token.\n * @param {Object} metadata - All metadata associated with this token.\n */\n\n/**\n * Applies the given function to the wrapped string token.\n *\n * @example\n * token.update(function (str, metadata) {\n *   return str.toUpperCase()\n * })\n *\n * @param {lunr.Token~updateFunction} fn - A function to apply to the token string.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.update = function (fn) {\n  this.str = fn(this.str, this.metadata)\n  return this\n}\n\n/**\n * Creates a clone of this token. Optionally a function can be\n * applied to the cloned token.\n *\n * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.clone = function (fn) {\n  fn = fn || function (s) { return s }\n  return new lunr.Token (fn(this.str, this.metadata), this.metadata)\n}\n/*!\n * lunr.tokenizer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A function for splitting a string into tokens ready to be inserted into\n * the search index. Uses `lunr.tokenizer.separator` to split strings, change\n * the value of this property to change how strings are split into tokens.\n *\n * This tokenizer will convert its parameter to a string by calling `toString` and\n * then will split this string on the character in `lunr.tokenizer.separator`.\n * Arrays will have their elements converted to strings and wrapped in a lunr.Token.\n *\n * Optional metadata can be passed to the tokenizer, this metadata will be cloned and\n * added as metadata to every token that is created from the object to be tokenized.\n *\n * @static\n * @param {?(string|object|object[])} obj - The object to convert into tokens\n * @param {?object} metadata - Optional metadata to associate with every token\n * @returns {lunr.Token[]}\n * @see {@link lunr.Pipeline}\n */\nlunr.tokenizer = function (obj, metadata) {\n  if (obj == null || obj == undefined) {\n    return []\n  }\n\n  if (Array.isArray(obj)) {\n    return obj.map(function (t) {\n      return new lunr.Token(\n        lunr.utils.asString(t).toLowerCase(),\n        lunr.utils.clone(metadata)\n      )\n    })\n  }\n\n  var str = obj.toString().toLowerCase(),\n      len = str.length,\n      tokens = []\n\n  for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {\n    var char = str.charAt(sliceEnd),\n        sliceLength = sliceEnd - sliceStart\n\n    if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) {\n\n      if (sliceLength > 0) {\n        var tokenMetadata = lunr.utils.clone(metadata) || {}\n        tokenMetadata[\"position\"] = [sliceStart, sliceLength]\n        tokenMetadata[\"index\"] = tokens.length\n\n        tokens.push(\n          new lunr.Token (\n            str.slice(sliceStart, sliceEnd),\n            tokenMetadata\n          )\n        )\n      }\n\n      sliceStart = sliceEnd + 1\n    }\n\n  }\n\n  return tokens\n}\n\n/**\n * The separator used to split a string into tokens. Override this property to change the behaviour of\n * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens.\n *\n * @static\n * @see lunr.tokenizer\n */\nlunr.tokenizer.separator = /[\\s\\-]+/\n/*!\n * lunr.Pipeline\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Pipelines maintain an ordered list of functions to be applied to all\n * tokens in documents entering the search index and queries being ran against\n * the index.\n *\n * An instance of lunr.Index created with the lunr shortcut will contain a\n * pipeline with a stop word filter and an English language stemmer. Extra\n * functions can be added before or after either of these functions or these\n * default functions can be removed.\n *\n * When run the pipeline will call each function in turn, passing a token, the\n * index of that token in the original list of all tokens and finally a list of\n * all the original tokens.\n *\n * The output of functions in the pipeline will be passed to the next function\n * in the pipeline. To exclude a token from entering the index the function\n * should return undefined, the rest of the pipeline will not be called with\n * this token.\n *\n * For serialisation of pipelines to work, all functions used in an instance of\n * a pipeline should be registered with lunr.Pipeline. Registered functions can\n * then be loaded. If trying to load a serialised pipeline that uses functions\n * that are not registered an error will be thrown.\n *\n * If not planning on serialising the pipeline then registering pipeline functions\n * is not necessary.\n *\n * @constructor\n */\nlunr.Pipeline = function () {\n  this._stack = []\n}\n\nlunr.Pipeline.registeredFunctions = Object.create(null)\n\n/**\n * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token\n * string as well as all known metadata. A pipeline function can mutate the token string\n * or mutate (or add) metadata for a given token.\n *\n * A pipeline function can indicate that the passed token should be discarded by returning\n * null, undefined or an empty string. This token will not be passed to any downstream pipeline\n * functions and will not be added to the index.\n *\n * Multiple tokens can be returned by returning an array of tokens. Each token will be passed\n * to any downstream pipeline functions and all will returned tokens will be added to the index.\n *\n * Any number of pipeline functions may be chained together using a lunr.Pipeline.\n *\n * @interface lunr.PipelineFunction\n * @param {lunr.Token} token - A token from the document being processed.\n * @param {number} i - The index of this token in the complete list of tokens for this document/field.\n * @param {lunr.Token[]} tokens - All tokens for this document/field.\n * @returns {(?lunr.Token|lunr.Token[])}\n */\n\n/**\n * Register a function with the pipeline.\n *\n * Functions that are used in the pipeline should be registered if the pipeline\n * needs to be serialised, or a serialised pipeline needs to be loaded.\n *\n * Registering a function does not add it to a pipeline, functions must still be\n * added to instances of the pipeline for them to be used when running a pipeline.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @param {String} label - The label to register this function with\n */\nlunr.Pipeline.registerFunction = function (fn, label) {\n  if (label in this.registeredFunctions) {\n    lunr.utils.warn('Overwriting existing registered function: ' + label)\n  }\n\n  fn.label = label\n  lunr.Pipeline.registeredFunctions[fn.label] = fn\n}\n\n/**\n * Warns if the function is not registered as a Pipeline function.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @private\n */\nlunr.Pipeline.warnIfFunctionNotRegistered = function (fn) {\n  var isRegistered = fn.label && (fn.label in this.registeredFunctions)\n\n  if (!isRegistered) {\n    lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\\n', fn)\n  }\n}\n\n/**\n * Loads a previously serialised pipeline.\n *\n * All functions to be loaded must already be registered with lunr.Pipeline.\n * If any function from the serialised data has not been registered then an\n * error will be thrown.\n *\n * @param {Object} serialised - The serialised pipeline to load.\n * @returns {lunr.Pipeline}\n */\nlunr.Pipeline.load = function (serialised) {\n  var pipeline = new lunr.Pipeline\n\n  serialised.forEach(function (fnName) {\n    var fn = lunr.Pipeline.registeredFunctions[fnName]\n\n    if (fn) {\n      pipeline.add(fn)\n    } else {\n      throw new Error('Cannot load unregistered function: ' + fnName)\n    }\n  })\n\n  return pipeline\n}\n\n/**\n * Adds new functions to the end of the pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline.\n */\nlunr.Pipeline.prototype.add = function () {\n  var fns = Array.prototype.slice.call(arguments)\n\n  fns.forEach(function (fn) {\n    lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n    this._stack.push(fn)\n  }, this)\n}\n\n/**\n * Adds a single function after a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.after = function (existingFn, newFn) {\n  lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n  var pos = this._stack.indexOf(existingFn)\n  if (pos == -1) {\n    throw new Error('Cannot find existingFn')\n  }\n\n  pos = pos + 1\n  this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Adds a single function before a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.before = function (existingFn, newFn) {\n  lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n  var pos = this._stack.indexOf(existingFn)\n  if (pos == -1) {\n    throw new Error('Cannot find existingFn')\n  }\n\n  this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Removes a function from the pipeline.\n *\n * @param {lunr.PipelineFunction} fn The function to remove from the pipeline.\n */\nlunr.Pipeline.prototype.remove = function (fn) {\n  var pos = this._stack.indexOf(fn)\n  if (pos == -1) {\n    return\n  }\n\n  this._stack.splice(pos, 1)\n}\n\n/**\n * Runs the current list of functions that make up the pipeline against the\n * passed tokens.\n *\n * @param {Array} tokens The tokens to run through the pipeline.\n * @returns {Array}\n */\nlunr.Pipeline.prototype.run = function (tokens) {\n  var stackLength = this._stack.length\n\n  for (var i = 0; i < stackLength; i++) {\n    var fn = this._stack[i]\n    var memo = []\n\n    for (var j = 0; j < tokens.length; j++) {\n      var result = fn(tokens[j], j, tokens)\n\n      if (result === null || result === void 0 || result === '') continue\n\n      if (Array.isArray(result)) {\n        for (var k = 0; k < result.length; k++) {\n          memo.push(result[k])\n        }\n      } else {\n        memo.push(result)\n      }\n    }\n\n    tokens = memo\n  }\n\n  return tokens\n}\n\n/**\n * Convenience method for passing a string through a pipeline and getting\n * strings out. This method takes care of wrapping the passed string in a\n * token and mapping the resulting tokens back to strings.\n *\n * @param {string} str - The string to pass through the pipeline.\n * @param {?object} metadata - Optional metadata to associate with the token\n * passed to the pipeline.\n * @returns {string[]}\n */\nlunr.Pipeline.prototype.runString = function (str, metadata) {\n  var token = new lunr.Token (str, metadata)\n\n  return this.run([token]).map(function (t) {\n    return t.toString()\n  })\n}\n\n/**\n * Resets the pipeline by removing any existing processors.\n *\n */\nlunr.Pipeline.prototype.reset = function () {\n  this._stack = []\n}\n\n/**\n * Returns a representation of the pipeline ready for serialisation.\n *\n * Logs a warning if the function has not been registered.\n *\n * @returns {Array}\n */\nlunr.Pipeline.prototype.toJSON = function () {\n  return this._stack.map(function (fn) {\n    lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n\n    return fn.label\n  })\n}\n/*!\n * lunr.Vector\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A vector is used to construct the vector space of documents and queries. These\n * vectors support operations to determine the similarity between two documents or\n * a document and a query.\n *\n * Normally no parameters are required for initializing a vector, but in the case of\n * loading a previously dumped vector the raw elements can be provided to the constructor.\n *\n * For performance reasons vectors are implemented with a flat array, where an elements\n * index is immediately followed by its value. E.g. [index, value, index, value]. This\n * allows the underlying array to be as sparse as possible and still offer decent\n * performance when being used for vector calculations.\n *\n * @constructor\n * @param {Number[]} [elements] - The flat list of element index and element value pairs.\n */\nlunr.Vector = function (elements) {\n  this._magnitude = 0\n  this.elements = elements || []\n}\n\n\n/**\n * Calculates the position within the vector to insert a given index.\n *\n * This is used internally by insert and upsert. If there are duplicate indexes then\n * the position is returned as if the value for that index were to be updated, but it\n * is the callers responsibility to check whether there is a duplicate at that index\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @returns {Number}\n */\nlunr.Vector.prototype.positionForIndex = function (index) {\n  // For an empty vector the tuple can be inserted at the beginning\n  if (this.elements.length == 0) {\n    return 0\n  }\n\n  var start = 0,\n      end = this.elements.length / 2,\n      sliceLength = end - start,\n      pivotPoint = Math.floor(sliceLength / 2),\n      pivotIndex = this.elements[pivotPoint * 2]\n\n  while (sliceLength > 1) {\n    if (pivotIndex < index) {\n      start = pivotPoint\n    }\n\n    if (pivotIndex > index) {\n      end = pivotPoint\n    }\n\n    if (pivotIndex == index) {\n      break\n    }\n\n    sliceLength = end - start\n    pivotPoint = start + Math.floor(sliceLength / 2)\n    pivotIndex = this.elements[pivotPoint * 2]\n  }\n\n  if (pivotIndex == index) {\n    return pivotPoint * 2\n  }\n\n  if (pivotIndex > index) {\n    return pivotPoint * 2\n  }\n\n  if (pivotIndex < index) {\n    return (pivotPoint + 1) * 2\n  }\n}\n\n/**\n * Inserts an element at an index within the vector.\n *\n * Does not allow duplicates, will throw an error if there is already an entry\n * for this index.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n */\nlunr.Vector.prototype.insert = function (insertIdx, val) {\n  this.upsert(insertIdx, val, function () {\n    throw \"duplicate index\"\n  })\n}\n\n/**\n * Inserts or updates an existing index within the vector.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n * @param {function} fn - A function that is called for updates, the existing value and the\n * requested value are passed as arguments\n */\nlunr.Vector.prototype.upsert = function (insertIdx, val, fn) {\n  this._magnitude = 0\n  var position = this.positionForIndex(insertIdx)\n\n  if (this.elements[position] == insertIdx) {\n    this.elements[position + 1] = fn(this.elements[position + 1], val)\n  } else {\n    this.elements.splice(position, 0, insertIdx, val)\n  }\n}\n\n/**\n * Calculates the magnitude of this vector.\n *\n * @returns {Number}\n */\nlunr.Vector.prototype.magnitude = function () {\n  if (this._magnitude) return this._magnitude\n\n  var sumOfSquares = 0,\n      elementsLength = this.elements.length\n\n  for (var i = 1; i < elementsLength; i += 2) {\n    var val = this.elements[i]\n    sumOfSquares += val * val\n  }\n\n  return this._magnitude = Math.sqrt(sumOfSquares)\n}\n\n/**\n * Calculates the dot product of this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The vector to compute the dot product with.\n * @returns {Number}\n */\nlunr.Vector.prototype.dot = function (otherVector) {\n  var dotProduct = 0,\n      a = this.elements, b = otherVector.elements,\n      aLen = a.length, bLen = b.length,\n      aVal = 0, bVal = 0,\n      i = 0, j = 0\n\n  while (i < aLen && j < bLen) {\n    aVal = a[i], bVal = b[j]\n    if (aVal < bVal) {\n      i += 2\n    } else if (aVal > bVal) {\n      j += 2\n    } else if (aVal == bVal) {\n      dotProduct += a[i + 1] * b[j + 1]\n      i += 2\n      j += 2\n    }\n  }\n\n  return dotProduct\n}\n\n/**\n * Calculates the similarity between this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The other vector to calculate the\n * similarity with.\n * @returns {Number}\n */\nlunr.Vector.prototype.similarity = function (otherVector) {\n  return this.dot(otherVector) / this.magnitude() || 0\n}\n\n/**\n * Converts the vector to an array of the elements within the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toArray = function () {\n  var output = new Array (this.elements.length / 2)\n\n  for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {\n    output[j] = this.elements[i]\n  }\n\n  return output\n}\n\n/**\n * A JSON serializable representation of the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toJSON = function () {\n  return this.elements\n}\n/* eslint-disable */\n/*!\n * lunr.stemmer\n * Copyright (C) 2020 Oliver Nightingale\n * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt\n */\n\n/**\n * lunr.stemmer is an english language stemmer, this is a JavaScript\n * implementation of the PorterStemmer taken from http://tartarus.org/~martin\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token - The string to stem\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n * @function\n */\nlunr.stemmer = (function(){\n  var step2list = {\n      \"ational\" : \"ate\",\n      \"tional\" : \"tion\",\n      \"enci\" : \"ence\",\n      \"anci\" : \"ance\",\n      \"izer\" : \"ize\",\n      \"bli\" : \"ble\",\n      \"alli\" : \"al\",\n      \"entli\" : \"ent\",\n      \"eli\" : \"e\",\n      \"ousli\" : \"ous\",\n      \"ization\" : \"ize\",\n      \"ation\" : \"ate\",\n      \"ator\" : \"ate\",\n      \"alism\" : \"al\",\n      \"iveness\" : \"ive\",\n      \"fulness\" : \"ful\",\n      \"ousness\" : \"ous\",\n      \"aliti\" : \"al\",\n      \"iviti\" : \"ive\",\n      \"biliti\" : \"ble\",\n      \"logi\" : \"log\"\n    },\n\n    step3list = {\n      \"icate\" : \"ic\",\n      \"ative\" : \"\",\n      \"alize\" : \"al\",\n      \"iciti\" : \"ic\",\n      \"ical\" : \"ic\",\n      \"ful\" : \"\",\n      \"ness\" : \"\"\n    },\n\n    c = \"[^aeiou]\",          // consonant\n    v = \"[aeiouy]\",          // vowel\n    C = c + \"[^aeiouy]*\",    // consonant sequence\n    V = v + \"[aeiou]*\",      // vowel sequence\n\n    mgr0 = \"^(\" + C + \")?\" + V + C,               // [C]VC... is m>0\n    meq1 = \"^(\" + C + \")?\" + V + C + \"(\" + V + \")?$\",  // [C]VC[V] is m=1\n    mgr1 = \"^(\" + C + \")?\" + V + C + V + C,       // [C]VCVC... is m>1\n    s_v = \"^(\" + C + \")?\" + v;                   // vowel in stem\n\n  var re_mgr0 = new RegExp(mgr0);\n  var re_mgr1 = new RegExp(mgr1);\n  var re_meq1 = new RegExp(meq1);\n  var re_s_v = new RegExp(s_v);\n\n  var re_1a = /^(.+?)(ss|i)es$/;\n  var re2_1a = /^(.+?)([^s])s$/;\n  var re_1b = /^(.+?)eed$/;\n  var re2_1b = /^(.+?)(ed|ing)$/;\n  var re_1b_2 = /.$/;\n  var re2_1b_2 = /(at|bl|iz)$/;\n  var re3_1b_2 = new RegExp(\"([^aeiouylsz])\\\\1$\");\n  var re4_1b_2 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n  var re_1c = /^(.+?[^aeiou])y$/;\n  var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;\n\n  var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;\n\n  var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;\n  var re2_4 = /^(.+?)(s|t)(ion)$/;\n\n  var re_5 = /^(.+?)e$/;\n  var re_5_1 = /ll$/;\n  var re3_5 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n  var porterStemmer = function porterStemmer(w) {\n    var stem,\n      suffix,\n      firstch,\n      re,\n      re2,\n      re3,\n      re4;\n\n    if (w.length < 3) { return w; }\n\n    firstch = w.substr(0,1);\n    if (firstch == \"y\") {\n      w = firstch.toUpperCase() + w.substr(1);\n    }\n\n    // Step 1a\n    re = re_1a\n    re2 = re2_1a;\n\n    if (re.test(w)) { w = w.replace(re,\"$1$2\"); }\n    else if (re2.test(w)) { w = w.replace(re2,\"$1$2\"); }\n\n    // Step 1b\n    re = re_1b;\n    re2 = re2_1b;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      re = re_mgr0;\n      if (re.test(fp[1])) {\n        re = re_1b_2;\n        w = w.replace(re,\"\");\n      }\n    } else if (re2.test(w)) {\n      var fp = re2.exec(w);\n      stem = fp[1];\n      re2 = re_s_v;\n      if (re2.test(stem)) {\n        w = stem;\n        re2 = re2_1b_2;\n        re3 = re3_1b_2;\n        re4 = re4_1b_2;\n        if (re2.test(w)) { w = w + \"e\"; }\n        else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,\"\"); }\n        else if (re4.test(w)) { w = w + \"e\"; }\n      }\n    }\n\n    // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)\n    re = re_1c;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      w = stem + \"i\";\n    }\n\n    // Step 2\n    re = re_2;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      suffix = fp[2];\n      re = re_mgr0;\n      if (re.test(stem)) {\n        w = stem + step2list[suffix];\n      }\n    }\n\n    // Step 3\n    re = re_3;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      suffix = fp[2];\n      re = re_mgr0;\n      if (re.test(stem)) {\n        w = stem + step3list[suffix];\n      }\n    }\n\n    // Step 4\n    re = re_4;\n    re2 = re2_4;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      re = re_mgr1;\n      if (re.test(stem)) {\n        w = stem;\n      }\n    } else if (re2.test(w)) {\n      var fp = re2.exec(w);\n      stem = fp[1] + fp[2];\n      re2 = re_mgr1;\n      if (re2.test(stem)) {\n        w = stem;\n      }\n    }\n\n    // Step 5\n    re = re_5;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      re = re_mgr1;\n      re2 = re_meq1;\n      re3 = re3_5;\n      if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {\n        w = stem;\n      }\n    }\n\n    re = re_5_1;\n    re2 = re_mgr1;\n    if (re.test(w) && re2.test(w)) {\n      re = re_1b_2;\n      w = w.replace(re,\"\");\n    }\n\n    // and turn initial Y back to y\n\n    if (firstch == \"y\") {\n      w = firstch.toLowerCase() + w.substr(1);\n    }\n\n    return w;\n  };\n\n  return function (token) {\n    return token.update(porterStemmer);\n  }\n})();\n\nlunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')\n/*!\n * lunr.stopWordFilter\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.generateStopWordFilter builds a stopWordFilter function from the provided\n * list of stop words.\n *\n * The built in lunr.stopWordFilter is built using this generator and can be used\n * to generate custom stopWordFilters for applications or non English languages.\n *\n * @function\n * @param {Array} token The token to pass through the filter\n * @returns {lunr.PipelineFunction}\n * @see lunr.Pipeline\n * @see lunr.stopWordFilter\n */\nlunr.generateStopWordFilter = function (stopWords) {\n  var words = stopWords.reduce(function (memo, stopWord) {\n    memo[stopWord] = stopWord\n    return memo\n  }, {})\n\n  return function (token) {\n    if (token && words[token.toString()] !== token.toString()) return token\n  }\n}\n\n/**\n * lunr.stopWordFilter is an English language stop word list filter, any words\n * contained in the list will not be passed through the filter.\n *\n * This is intended to be used in the Pipeline. If the token does not pass the\n * filter then undefined will be returned.\n *\n * @function\n * @implements {lunr.PipelineFunction}\n * @params {lunr.Token} token - A token to check for being a stop word.\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n */\nlunr.stopWordFilter = lunr.generateStopWordFilter([\n  'a',\n  'able',\n  'about',\n  'across',\n  'after',\n  'all',\n  'almost',\n  'also',\n  'am',\n  'among',\n  'an',\n  'and',\n  'any',\n  'are',\n  'as',\n  'at',\n  'be',\n  'because',\n  'been',\n  'but',\n  'by',\n  'can',\n  'cannot',\n  'could',\n  'dear',\n  'did',\n  'do',\n  'does',\n  'either',\n  'else',\n  'ever',\n  'every',\n  'for',\n  'from',\n  'get',\n  'got',\n  'had',\n  'has',\n  'have',\n  'he',\n  'her',\n  'hers',\n  'him',\n  'his',\n  'how',\n  'however',\n  'i',\n  'if',\n  'in',\n  'into',\n  'is',\n  'it',\n  'its',\n  'just',\n  'least',\n  'let',\n  'like',\n  'likely',\n  'may',\n  'me',\n  'might',\n  'most',\n  'must',\n  'my',\n  'neither',\n  'no',\n  'nor',\n  'not',\n  'of',\n  'off',\n  'often',\n  'on',\n  'only',\n  'or',\n  'other',\n  'our',\n  'own',\n  'rather',\n  'said',\n  'say',\n  'says',\n  'she',\n  'should',\n  'since',\n  'so',\n  'some',\n  'than',\n  'that',\n  'the',\n  'their',\n  'them',\n  'then',\n  'there',\n  'these',\n  'they',\n  'this',\n  'tis',\n  'to',\n  'too',\n  'twas',\n  'us',\n  'wants',\n  'was',\n  'we',\n  'were',\n  'what',\n  'when',\n  'where',\n  'which',\n  'while',\n  'who',\n  'whom',\n  'why',\n  'will',\n  'with',\n  'would',\n  'yet',\n  'you',\n  'your'\n])\n\nlunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')\n/*!\n * lunr.trimmer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.trimmer is a pipeline function for trimming non word\n * characters from the beginning and end of tokens before they\n * enter the index.\n *\n * This implementation may not work correctly for non latin\n * characters and should either be removed or adapted for use\n * with languages with non-latin characters.\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token The token to pass through the filter\n * @returns {lunr.Token}\n * @see lunr.Pipeline\n */\nlunr.trimmer = function (token) {\n  return token.update(function (s) {\n    return s.replace(/^\\W+/, '').replace(/\\W+$/, '')\n  })\n}\n\nlunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')\n/*!\n * lunr.TokenSet\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A token set is used to store the unique list of all tokens\n * within an index. Token sets are also used to represent an\n * incoming query to the index, this query token set and index\n * token set are then intersected to find which tokens to look\n * up in the inverted index.\n *\n * A token set can hold multiple tokens, as in the case of the\n * index token set, or it can hold a single token as in the\n * case of a simple query token set.\n *\n * Additionally token sets are used to perform wildcard matching.\n * Leading, contained and trailing wildcards are supported, and\n * from this edit distance matching can also be provided.\n *\n * Token sets are implemented as a minimal finite state automata,\n * where both common prefixes and suffixes are shared between tokens.\n * This helps to reduce the space used for storing the token set.\n *\n * @constructor\n */\nlunr.TokenSet = function () {\n  this.final = false\n  this.edges = {}\n  this.id = lunr.TokenSet._nextId\n  lunr.TokenSet._nextId += 1\n}\n\n/**\n * Keeps track of the next, auto increment, identifier to assign\n * to a new tokenSet.\n *\n * TokenSets require a unique identifier to be correctly minimised.\n *\n * @private\n */\nlunr.TokenSet._nextId = 1\n\n/**\n * Creates a TokenSet instance from the given sorted array of words.\n *\n * @param {String[]} arr - A sorted array of strings to create the set from.\n * @returns {lunr.TokenSet}\n * @throws Will throw an error if the input array is not sorted.\n */\nlunr.TokenSet.fromArray = function (arr) {\n  var builder = new lunr.TokenSet.Builder\n\n  for (var i = 0, len = arr.length; i < len; i++) {\n    builder.insert(arr[i])\n  }\n\n  builder.finish()\n  return builder.root\n}\n\n/**\n * Creates a token set from a query clause.\n *\n * @private\n * @param {Object} clause - A single clause from lunr.Query.\n * @param {string} clause.term - The query clause term.\n * @param {number} [clause.editDistance] - The optional edit distance for the term.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromClause = function (clause) {\n  if ('editDistance' in clause) {\n    return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance)\n  } else {\n    return lunr.TokenSet.fromString(clause.term)\n  }\n}\n\n/**\n * Creates a token set representing a single string with a specified\n * edit distance.\n *\n * Insertions, deletions, substitutions and transpositions are each\n * treated as an edit distance of 1.\n *\n * Increasing the allowed edit distance will have a dramatic impact\n * on the performance of both creating and intersecting these TokenSets.\n * It is advised to keep the edit distance less than 3.\n *\n * @param {string} str - The string to create the token set from.\n * @param {number} editDistance - The allowed edit distance to match.\n * @returns {lunr.Vector}\n */\nlunr.TokenSet.fromFuzzyString = function (str, editDistance) {\n  var root = new lunr.TokenSet\n\n  var stack = [{\n    node: root,\n    editsRemaining: editDistance,\n    str: str\n  }]\n\n  while (stack.length) {\n    var frame = stack.pop()\n\n    // no edit\n    if (frame.str.length > 0) {\n      var char = frame.str.charAt(0),\n          noEditNode\n\n      if (char in frame.node.edges) {\n        noEditNode = frame.node.edges[char]\n      } else {\n        noEditNode = new lunr.TokenSet\n        frame.node.edges[char] = noEditNode\n      }\n\n      if (frame.str.length == 1) {\n        noEditNode.final = true\n      }\n\n      stack.push({\n        node: noEditNode,\n        editsRemaining: frame.editsRemaining,\n        str: frame.str.slice(1)\n      })\n    }\n\n    if (frame.editsRemaining == 0) {\n      continue\n    }\n\n    // insertion\n    if (\"*\" in frame.node.edges) {\n      var insertionNode = frame.node.edges[\"*\"]\n    } else {\n      var insertionNode = new lunr.TokenSet\n      frame.node.edges[\"*\"] = insertionNode\n    }\n\n    if (frame.str.length == 0) {\n      insertionNode.final = true\n    }\n\n    stack.push({\n      node: insertionNode,\n      editsRemaining: frame.editsRemaining - 1,\n      str: frame.str\n    })\n\n    // deletion\n    // can only do a deletion if we have enough edits remaining\n    // and if there are characters left to delete in the string\n    if (frame.str.length > 1) {\n      stack.push({\n        node: frame.node,\n        editsRemaining: frame.editsRemaining - 1,\n        str: frame.str.slice(1)\n      })\n    }\n\n    // deletion\n    // just removing the last character from the str\n    if (frame.str.length == 1) {\n      frame.node.final = true\n    }\n\n    // substitution\n    // can only do a substitution if we have enough edits remaining\n    // and if there are characters left to substitute\n    if (frame.str.length >= 1) {\n      if (\"*\" in frame.node.edges) {\n        var substitutionNode = frame.node.edges[\"*\"]\n      } else {\n        var substitutionNode = new lunr.TokenSet\n        frame.node.edges[\"*\"] = substitutionNode\n      }\n\n      if (frame.str.length == 1) {\n        substitutionNode.final = true\n      }\n\n      stack.push({\n        node: substitutionNode,\n        editsRemaining: frame.editsRemaining - 1,\n        str: frame.str.slice(1)\n      })\n    }\n\n    // transposition\n    // can only do a transposition if there are edits remaining\n    // and there are enough characters to transpose\n    if (frame.str.length > 1) {\n      var charA = frame.str.charAt(0),\n          charB = frame.str.charAt(1),\n          transposeNode\n\n      if (charB in frame.node.edges) {\n        transposeNode = frame.node.edges[charB]\n      } else {\n        transposeNode = new lunr.TokenSet\n        frame.node.edges[charB] = transposeNode\n      }\n\n      if (frame.str.length == 1) {\n        transposeNode.final = true\n      }\n\n      stack.push({\n        node: transposeNode,\n        editsRemaining: frame.editsRemaining - 1,\n        str: charA + frame.str.slice(2)\n      })\n    }\n  }\n\n  return root\n}\n\n/**\n * Creates a TokenSet from a string.\n *\n * The string may contain one or more wildcard characters (*)\n * that will allow wildcard matching when intersecting with\n * another TokenSet.\n *\n * @param {string} str - The string to create a TokenSet from.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromString = function (str) {\n  var node = new lunr.TokenSet,\n      root = node\n\n  /*\n   * Iterates through all characters within the passed string\n   * appending a node for each character.\n   *\n   * When a wildcard character is found then a self\n   * referencing edge is introduced to continually match\n   * any number of any characters.\n   */\n  for (var i = 0, len = str.length; i < len; i++) {\n    var char = str[i],\n        final = (i == len - 1)\n\n    if (char == \"*\") {\n      node.edges[char] = node\n      node.final = final\n\n    } else {\n      var next = new lunr.TokenSet\n      next.final = final\n\n      node.edges[char] = next\n      node = next\n    }\n  }\n\n  return root\n}\n\n/**\n * Converts this TokenSet into an array of strings\n * contained within the TokenSet.\n *\n * This is not intended to be used on a TokenSet that\n * contains wildcards, in these cases the results are\n * undefined and are likely to cause an infinite loop.\n *\n * @returns {string[]}\n */\nlunr.TokenSet.prototype.toArray = function () {\n  var words = []\n\n  var stack = [{\n    prefix: \"\",\n    node: this\n  }]\n\n  while (stack.length) {\n    var frame = stack.pop(),\n        edges = Object.keys(frame.node.edges),\n        len = edges.length\n\n    if (frame.node.final) {\n      /* In Safari, at this point the prefix is sometimes corrupted, see:\n       * https://github.com/olivernn/lunr.js/issues/279 Calling any\n       * String.prototype method forces Safari to \"cast\" this string to what\n       * it's supposed to be, fixing the bug. */\n      frame.prefix.charAt(0)\n      words.push(frame.prefix)\n    }\n\n    for (var i = 0; i < len; i++) {\n      var edge = edges[i]\n\n      stack.push({\n        prefix: frame.prefix.concat(edge),\n        node: frame.node.edges[edge]\n      })\n    }\n  }\n\n  return words\n}\n\n/**\n * Generates a string representation of a TokenSet.\n *\n * This is intended to allow TokenSets to be used as keys\n * in objects, largely to aid the construction and minimisation\n * of a TokenSet. As such it is not designed to be a human\n * friendly representation of the TokenSet.\n *\n * @returns {string}\n */\nlunr.TokenSet.prototype.toString = function () {\n  // NOTE: Using Object.keys here as this.edges is very likely\n  // to enter 'hash-mode' with many keys being added\n  //\n  // avoiding a for-in loop here as it leads to the function\n  // being de-optimised (at least in V8). From some simple\n  // benchmarks the performance is comparable, but allowing\n  // V8 to optimize may mean easy performance wins in the future.\n\n  if (this._str) {\n    return this._str\n  }\n\n  var str = this.final ? '1' : '0',\n      labels = Object.keys(this.edges).sort(),\n      len = labels.length\n\n  for (var i = 0; i < len; i++) {\n    var label = labels[i],\n        node = this.edges[label]\n\n    str = str + label + node.id\n  }\n\n  return str\n}\n\n/**\n * Returns a new TokenSet that is the intersection of\n * this TokenSet and the passed TokenSet.\n *\n * This intersection will take into account any wildcards\n * contained within the TokenSet.\n *\n * @param {lunr.TokenSet} b - An other TokenSet to intersect with.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.prototype.intersect = function (b) {\n  var output = new lunr.TokenSet,\n      frame = undefined\n\n  var stack = [{\n    qNode: b,\n    output: output,\n    node: this\n  }]\n\n  while (stack.length) {\n    frame = stack.pop()\n\n    // NOTE: As with the #toString method, we are using\n    // Object.keys and a for loop instead of a for-in loop\n    // as both of these objects enter 'hash' mode, causing\n    // the function to be de-optimised in V8\n    var qEdges = Object.keys(frame.qNode.edges),\n        qLen = qEdges.length,\n        nEdges = Object.keys(frame.node.edges),\n        nLen = nEdges.length\n\n    for (var q = 0; q < qLen; q++) {\n      var qEdge = qEdges[q]\n\n      for (var n = 0; n < nLen; n++) {\n        var nEdge = nEdges[n]\n\n        if (nEdge == qEdge || qEdge == '*') {\n          var node = frame.node.edges[nEdge],\n              qNode = frame.qNode.edges[qEdge],\n              final = node.final && qNode.final,\n              next = undefined\n\n          if (nEdge in frame.output.edges) {\n            // an edge already exists for this character\n            // no need to create a new node, just set the finality\n            // bit unless this node is already final\n            next = frame.output.edges[nEdge]\n            next.final = next.final || final\n\n          } else {\n            // no edge exists yet, must create one\n            // set the finality bit and insert it\n            // into the output\n            next = new lunr.TokenSet\n            next.final = final\n            frame.output.edges[nEdge] = next\n          }\n\n          stack.push({\n            qNode: qNode,\n            output: next,\n            node: node\n          })\n        }\n      }\n    }\n  }\n\n  return output\n}\nlunr.TokenSet.Builder = function () {\n  this.previousWord = \"\"\n  this.root = new lunr.TokenSet\n  this.uncheckedNodes = []\n  this.minimizedNodes = {}\n}\n\nlunr.TokenSet.Builder.prototype.insert = function (word) {\n  var node,\n      commonPrefix = 0\n\n  if (word < this.previousWord) {\n    throw new Error (\"Out of order word insertion\")\n  }\n\n  for (var i = 0; i < word.length && i < this.previousWord.length; i++) {\n    if (word[i] != this.previousWord[i]) break\n    commonPrefix++\n  }\n\n  this.minimize(commonPrefix)\n\n  if (this.uncheckedNodes.length == 0) {\n    node = this.root\n  } else {\n    node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child\n  }\n\n  for (var i = commonPrefix; i < word.length; i++) {\n    var nextNode = new lunr.TokenSet,\n        char = word[i]\n\n    node.edges[char] = nextNode\n\n    this.uncheckedNodes.push({\n      parent: node,\n      char: char,\n      child: nextNode\n    })\n\n    node = nextNode\n  }\n\n  node.final = true\n  this.previousWord = word\n}\n\nlunr.TokenSet.Builder.prototype.finish = function () {\n  this.minimize(0)\n}\n\nlunr.TokenSet.Builder.prototype.minimize = function (downTo) {\n  for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {\n    var node = this.uncheckedNodes[i],\n        childKey = node.child.toString()\n\n    if (childKey in this.minimizedNodes) {\n      node.parent.edges[node.char] = this.minimizedNodes[childKey]\n    } else {\n      // Cache the key for this node since\n      // we know it can't change anymore\n      node.child._str = childKey\n\n      this.minimizedNodes[childKey] = node.child\n    }\n\n    this.uncheckedNodes.pop()\n  }\n}\n/*!\n * lunr.Index\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * An index contains the built index of all documents and provides a query interface\n * to the index.\n *\n * Usually instances of lunr.Index will not be created using this constructor, instead\n * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be\n * used to load previously built and serialized indexes.\n *\n * @constructor\n * @param {Object} attrs - The attributes of the built search index.\n * @param {Object} attrs.invertedIndex - An index of term/field to document reference.\n * @param {Object<string, lunr.Vector>} attrs.fieldVectors - Field vectors\n * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens.\n * @param {string[]} attrs.fields - The names of indexed document fields.\n * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms.\n */\nlunr.Index = function (attrs) {\n  this.invertedIndex = attrs.invertedIndex\n  this.fieldVectors = attrs.fieldVectors\n  this.tokenSet = attrs.tokenSet\n  this.fields = attrs.fields\n  this.pipeline = attrs.pipeline\n}\n\n/**\n * A result contains details of a document matching a search query.\n * @typedef {Object} lunr.Index~Result\n * @property {string} ref - The reference of the document this result represents.\n * @property {number} score - A number between 0 and 1 representing how similar this document is to the query.\n * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match.\n */\n\n/**\n * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple\n * query language which itself is parsed into an instance of lunr.Query.\n *\n * For programmatically building queries it is advised to directly use lunr.Query, the query language\n * is best used for human entered text rather than program generated text.\n *\n * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported\n * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello'\n * or 'world', though those that contain both will rank higher in the results.\n *\n * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can\n * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding\n * wildcards will increase the number of documents that will be found but can also have a negative\n * impact on query performance, especially with wildcards at the beginning of a term.\n *\n * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term\n * hello in the title field will match this query. Using a field not present in the index will lead\n * to an error being thrown.\n *\n * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term\n * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported\n * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2.\n * Avoid large values for edit distance to improve query performance.\n *\n * Each term also supports a presence modifier. By default a term's presence in document is optional, however\n * this can be changed to either required or prohibited. For a term's presence to be required in a document the\n * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and\n * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not\n * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'.\n *\n * To escape special characters the backslash character '\\' can be used, this allows searches to include\n * characters that would normally be considered modifiers, e.g. `foo\\~2` will search for a term \"foo~2\" instead\n * of attempting to apply a boost of 2 to the search term \"foo\".\n *\n * @typedef {string} lunr.Index~QueryString\n * @example <caption>Simple single term query</caption>\n * hello\n * @example <caption>Multiple term query</caption>\n * hello world\n * @example <caption>term scoped to a field</caption>\n * title:hello\n * @example <caption>term with a boost of 10</caption>\n * hello^10\n * @example <caption>term with an edit distance of 2</caption>\n * hello~2\n * @example <caption>terms with presence modifiers</caption>\n * -foo +bar baz\n */\n\n/**\n * Performs a search against the index using lunr query syntax.\n *\n * Results will be returned sorted by their score, the most relevant results\n * will be returned first.  For details on how the score is calculated, please see\n * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}.\n *\n * For more programmatic querying use lunr.Index#query.\n *\n * @param {lunr.Index~QueryString} queryString - A string containing a lunr query.\n * @throws {lunr.QueryParseError} If the passed query string cannot be parsed.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.search = function (queryString) {\n  return this.query(function (query) {\n    var parser = new lunr.QueryParser(queryString, query)\n    parser.parse()\n  })\n}\n\n/**\n * A query builder callback provides a query object to be used to express\n * the query to perform on the index.\n *\n * @callback lunr.Index~queryBuilder\n * @param {lunr.Query} query - The query object to build up.\n * @this lunr.Query\n */\n\n/**\n * Performs a query against the index using the yielded lunr.Query object.\n *\n * If performing programmatic queries against the index, this method is preferred\n * over lunr.Index#search so as to avoid the additional query parsing overhead.\n *\n * A query object is yielded to the supplied function which should be used to\n * express the query to be run against the index.\n *\n * Note that although this function takes a callback parameter it is _not_ an\n * asynchronous operation, the callback is just yielded a query object to be\n * customized.\n *\n * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.query = function (fn) {\n  // for each query clause\n  // * process terms\n  // * expand terms from token set\n  // * find matching documents and metadata\n  // * get document vectors\n  // * score documents\n\n  var query = new lunr.Query(this.fields),\n      matchingFields = Object.create(null),\n      queryVectors = Object.create(null),\n      termFieldCache = Object.create(null),\n      requiredMatches = Object.create(null),\n      prohibitedMatches = Object.create(null)\n\n  /*\n   * To support field level boosts a query vector is created per\n   * field. An empty vector is eagerly created to support negated\n   * queries.\n   */\n  for (var i = 0; i < this.fields.length; i++) {\n    queryVectors[this.fields[i]] = new lunr.Vector\n  }\n\n  fn.call(query, query)\n\n  for (var i = 0; i < query.clauses.length; i++) {\n    /*\n     * Unless the pipeline has been disabled for this term, which is\n     * the case for terms with wildcards, we need to pass the clause\n     * term through the search pipeline. A pipeline returns an array\n     * of processed terms. Pipeline functions may expand the passed\n     * term, which means we may end up performing multiple index lookups\n     * for a single query term.\n     */\n    var clause = query.clauses[i],\n        terms = null,\n        clauseMatches = lunr.Set.empty\n\n    if (clause.usePipeline) {\n      terms = this.pipeline.runString(clause.term, {\n        fields: clause.fields\n      })\n    } else {\n      terms = [clause.term]\n    }\n\n    for (var m = 0; m < terms.length; m++) {\n      var term = terms[m]\n\n      /*\n       * Each term returned from the pipeline needs to use the same query\n       * clause object, e.g. the same boost and or edit distance. The\n       * simplest way to do this is to re-use the clause object but mutate\n       * its term property.\n       */\n      clause.term = term\n\n      /*\n       * From the term in the clause we create a token set which will then\n       * be used to intersect the indexes token set to get a list of terms\n       * to lookup in the inverted index\n       */\n      var termTokenSet = lunr.TokenSet.fromClause(clause),\n          expandedTerms = this.tokenSet.intersect(termTokenSet).toArray()\n\n      /*\n       * If a term marked as required does not exist in the tokenSet it is\n       * impossible for the search to return any matches. We set all the field\n       * scoped required matches set to empty and stop examining any further\n       * clauses.\n       */\n      if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) {\n        for (var k = 0; k < clause.fields.length; k++) {\n          var field = clause.fields[k]\n          requiredMatches[field] = lunr.Set.empty\n        }\n\n        break\n      }\n\n      for (var j = 0; j < expandedTerms.length; j++) {\n        /*\n         * For each term get the posting and termIndex, this is required for\n         * building the query vector.\n         */\n        var expandedTerm = expandedTerms[j],\n            posting = this.invertedIndex[expandedTerm],\n            termIndex = posting._index\n\n        for (var k = 0; k < clause.fields.length; k++) {\n          /*\n           * For each field that this query term is scoped by (by default\n           * all fields are in scope) we need to get all the document refs\n           * that have this term in that field.\n           *\n           * The posting is the entry in the invertedIndex for the matching\n           * term from above.\n           */\n          var field = clause.fields[k],\n              fieldPosting = posting[field],\n              matchingDocumentRefs = Object.keys(fieldPosting),\n              termField = expandedTerm + \"/\" + field,\n              matchingDocumentsSet = new lunr.Set(matchingDocumentRefs)\n\n          /*\n           * if the presence of this term is required ensure that the matching\n           * documents are added to the set of required matches for this clause.\n           *\n           */\n          if (clause.presence == lunr.Query.presence.REQUIRED) {\n            clauseMatches = clauseMatches.union(matchingDocumentsSet)\n\n            if (requiredMatches[field] === undefined) {\n              requiredMatches[field] = lunr.Set.complete\n            }\n          }\n\n          /*\n           * if the presence of this term is prohibited ensure that the matching\n           * documents are added to the set of prohibited matches for this field,\n           * creating that set if it does not yet exist.\n           */\n          if (clause.presence == lunr.Query.presence.PROHIBITED) {\n            if (prohibitedMatches[field] === undefined) {\n              prohibitedMatches[field] = lunr.Set.empty\n            }\n\n            prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet)\n\n            /*\n             * Prohibited matches should not be part of the query vector used for\n             * similarity scoring and no metadata should be extracted so we continue\n             * to the next field\n             */\n            continue\n          }\n\n          /*\n           * The query field vector is populated using the termIndex found for\n           * the term and a unit value with the appropriate boost applied.\n           * Using upsert because there could already be an entry in the vector\n           * for the term we are working with. In that case we just add the scores\n           * together.\n           */\n          queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b })\n\n          /**\n           * If we've already seen this term, field combo then we've already collected\n           * the matching documents and metadata, no need to go through all that again\n           */\n          if (termFieldCache[termField]) {\n            continue\n          }\n\n          for (var l = 0; l < matchingDocumentRefs.length; l++) {\n            /*\n             * All metadata for this term/field/document triple\n             * are then extracted and collected into an instance\n             * of lunr.MatchData ready to be returned in the query\n             * results\n             */\n            var matchingDocumentRef = matchingDocumentRefs[l],\n                matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field),\n                metadata = fieldPosting[matchingDocumentRef],\n                fieldMatch\n\n            if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) {\n              matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata)\n            } else {\n              fieldMatch.add(expandedTerm, field, metadata)\n            }\n\n          }\n\n          termFieldCache[termField] = true\n        }\n      }\n    }\n\n    /**\n     * If the presence was required we need to update the requiredMatches field sets.\n     * We do this after all fields for the term have collected their matches because\n     * the clause terms presence is required in _any_ of the fields not _all_ of the\n     * fields.\n     */\n    if (clause.presence === lunr.Query.presence.REQUIRED) {\n      for (var k = 0; k < clause.fields.length; k++) {\n        var field = clause.fields[k]\n        requiredMatches[field] = requiredMatches[field].intersect(clauseMatches)\n      }\n    }\n  }\n\n  /**\n   * Need to combine the field scoped required and prohibited\n   * matching documents into a global set of required and prohibited\n   * matches\n   */\n  var allRequiredMatches = lunr.Set.complete,\n      allProhibitedMatches = lunr.Set.empty\n\n  for (var i = 0; i < this.fields.length; i++) {\n    var field = this.fields[i]\n\n    if (requiredMatches[field]) {\n      allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field])\n    }\n\n    if (prohibitedMatches[field]) {\n      allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field])\n    }\n  }\n\n  var matchingFieldRefs = Object.keys(matchingFields),\n      results = [],\n      matches = Object.create(null)\n\n  /*\n   * If the query is negated (contains only prohibited terms)\n   * we need to get _all_ fieldRefs currently existing in the\n   * index. This is only done when we know that the query is\n   * entirely prohibited terms to avoid any cost of getting all\n   * fieldRefs unnecessarily.\n   *\n   * Additionally, blank MatchData must be created to correctly\n   * populate the results.\n   */\n  if (query.isNegated()) {\n    matchingFieldRefs = Object.keys(this.fieldVectors)\n\n    for (var i = 0; i < matchingFieldRefs.length; i++) {\n      var matchingFieldRef = matchingFieldRefs[i]\n      var fieldRef = lunr.FieldRef.fromString(matchingFieldRef)\n      matchingFields[matchingFieldRef] = new lunr.MatchData\n    }\n  }\n\n  for (var i = 0; i < matchingFieldRefs.length; i++) {\n    /*\n     * Currently we have document fields that match the query, but we\n     * need to return documents. The matchData and scores are combined\n     * from multiple fields belonging to the same document.\n     *\n     * Scores are calculated by field, using the query vectors created\n     * above, and combined into a final document score using addition.\n     */\n    var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]),\n        docRef = fieldRef.docRef\n\n    if (!allRequiredMatches.contains(docRef)) {\n      continue\n    }\n\n    if (allProhibitedMatches.contains(docRef)) {\n      continue\n    }\n\n    var fieldVector = this.fieldVectors[fieldRef],\n        score = queryVectors[fieldRef.fieldName].similarity(fieldVector),\n        docMatch\n\n    if ((docMatch = matches[docRef]) !== undefined) {\n      docMatch.score += score\n      docMatch.matchData.combine(matchingFields[fieldRef])\n    } else {\n      var match = {\n        ref: docRef,\n        score: score,\n        matchData: matchingFields[fieldRef]\n      }\n      matches[docRef] = match\n      results.push(match)\n    }\n  }\n\n  /*\n   * Sort the results objects by score, highest first.\n   */\n  return results.sort(function (a, b) {\n    return b.score - a.score\n  })\n}\n\n/**\n * Prepares the index for JSON serialization.\n *\n * The schema for this JSON blob will be described in a\n * separate JSON schema file.\n *\n * @returns {Object}\n */\nlunr.Index.prototype.toJSON = function () {\n  var invertedIndex = Object.keys(this.invertedIndex)\n    .sort()\n    .map(function (term) {\n      return [term, this.invertedIndex[term]]\n    }, this)\n\n  var fieldVectors = Object.keys(this.fieldVectors)\n    .map(function (ref) {\n      return [ref, this.fieldVectors[ref].toJSON()]\n    }, this)\n\n  return {\n    version: lunr.version,\n    fields: this.fields,\n    fieldVectors: fieldVectors,\n    invertedIndex: invertedIndex,\n    pipeline: this.pipeline.toJSON()\n  }\n}\n\n/**\n * Loads a previously serialized lunr.Index\n *\n * @param {Object} serializedIndex - A previously serialized lunr.Index\n * @returns {lunr.Index}\n */\nlunr.Index.load = function (serializedIndex) {\n  var attrs = {},\n      fieldVectors = {},\n      serializedVectors = serializedIndex.fieldVectors,\n      invertedIndex = Object.create(null),\n      serializedInvertedIndex = serializedIndex.invertedIndex,\n      tokenSetBuilder = new lunr.TokenSet.Builder,\n      pipeline = lunr.Pipeline.load(serializedIndex.pipeline)\n\n  if (serializedIndex.version != lunr.version) {\n    lunr.utils.warn(\"Version mismatch when loading serialised index. Current version of lunr '\" + lunr.version + \"' does not match serialized index '\" + serializedIndex.version + \"'\")\n  }\n\n  for (var i = 0; i < serializedVectors.length; i++) {\n    var tuple = serializedVectors[i],\n        ref = tuple[0],\n        elements = tuple[1]\n\n    fieldVectors[ref] = new lunr.Vector(elements)\n  }\n\n  for (var i = 0; i < serializedInvertedIndex.length; i++) {\n    var tuple = serializedInvertedIndex[i],\n        term = tuple[0],\n        posting = tuple[1]\n\n    tokenSetBuilder.insert(term)\n    invertedIndex[term] = posting\n  }\n\n  tokenSetBuilder.finish()\n\n  attrs.fields = serializedIndex.fields\n\n  attrs.fieldVectors = fieldVectors\n  attrs.invertedIndex = invertedIndex\n  attrs.tokenSet = tokenSetBuilder.root\n  attrs.pipeline = pipeline\n\n  return new lunr.Index(attrs)\n}\n/*!\n * lunr.Builder\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Builder performs indexing on a set of documents and\n * returns instances of lunr.Index ready for querying.\n *\n * All configuration of the index is done via the builder, the\n * fields to index, the document reference, the text processing\n * pipeline and document scoring parameters are all set on the\n * builder before indexing.\n *\n * @constructor\n * @property {string} _ref - Internal reference to the document reference field.\n * @property {string[]} _fields - Internal reference to the document fields to index.\n * @property {object} invertedIndex - The inverted index maps terms to document fields.\n * @property {object} documentTermFrequencies - Keeps track of document term frequencies.\n * @property {object} documentLengths - Keeps track of the length of documents added to the index.\n * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing.\n * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing.\n * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index.\n * @property {number} documentCount - Keeps track of the total number of documents indexed.\n * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75.\n * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2.\n * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space.\n * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index.\n */\nlunr.Builder = function () {\n  this._ref = \"id\"\n  this._fields = Object.create(null)\n  this._documents = Object.create(null)\n  this.invertedIndex = Object.create(null)\n  this.fieldTermFrequencies = {}\n  this.fieldLengths = {}\n  this.tokenizer = lunr.tokenizer\n  this.pipeline = new lunr.Pipeline\n  this.searchPipeline = new lunr.Pipeline\n  this.documentCount = 0\n  this._b = 0.75\n  this._k1 = 1.2\n  this.termIndex = 0\n  this.metadataWhitelist = []\n}\n\n/**\n * Sets the document field used as the document reference. Every document must have this field.\n * The type of this field in the document should be a string, if it is not a string it will be\n * coerced into a string by calling toString.\n *\n * The default ref is 'id'.\n *\n * The ref should _not_ be changed during indexing, it should be set before any documents are\n * added to the index. Changing it during indexing can lead to inconsistent results.\n *\n * @param {string} ref - The name of the reference field in the document.\n */\nlunr.Builder.prototype.ref = function (ref) {\n  this._ref = ref\n}\n\n/**\n * A function that is used to extract a field from a document.\n *\n * Lunr expects a field to be at the top level of a document, if however the field\n * is deeply nested within a document an extractor function can be used to extract\n * the right field for indexing.\n *\n * @callback fieldExtractor\n * @param {object} doc - The document being added to the index.\n * @returns {?(string|object|object[])} obj - The object that will be indexed for this field.\n * @example <caption>Extracting a nested field</caption>\n * function (doc) { return doc.nested.field }\n */\n\n/**\n * Adds a field to the list of document fields that will be indexed. Every document being\n * indexed should have this field. Null values for this field in indexed documents will\n * not cause errors but will limit the chance of that document being retrieved by searches.\n *\n * All fields should be added before adding documents to the index. Adding fields after\n * a document has been indexed will have no effect on already indexed documents.\n *\n * Fields can be boosted at build time. This allows terms within that field to have more\n * importance when ranking search results. Use a field boost to specify that matches within\n * one field are more important than other fields.\n *\n * @param {string} fieldName - The name of a field to index in all documents.\n * @param {object} attributes - Optional attributes associated with this field.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this field.\n * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document.\n * @throws {RangeError} fieldName cannot contain unsupported characters '/'\n */\nlunr.Builder.prototype.field = function (fieldName, attributes) {\n  if (/\\//.test(fieldName)) {\n    throw new RangeError (\"Field '\" + fieldName + \"' contains illegal character '/'\")\n  }\n\n  this._fields[fieldName] = attributes || {}\n}\n\n/**\n * A parameter to tune the amount of field length normalisation that is applied when\n * calculating relevance scores. A value of 0 will completely disable any normalisation\n * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b\n * will be clamped to the range 0 - 1.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.b = function (number) {\n  if (number < 0) {\n    this._b = 0\n  } else if (number > 1) {\n    this._b = 1\n  } else {\n    this._b = number\n  }\n}\n\n/**\n * A parameter that controls the speed at which a rise in term frequency results in term\n * frequency saturation. The default value is 1.2. Setting this to a higher value will give\n * slower saturation levels, a lower value will result in quicker saturation.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.k1 = function (number) {\n  this._k1 = number\n}\n\n/**\n * Adds a document to the index.\n *\n * Before adding fields to the index the index should have been fully setup, with the document\n * ref and all fields to index already having been specified.\n *\n * The document must have a field name as specified by the ref (by default this is 'id') and\n * it should have all fields defined for indexing, though null or undefined values will not\n * cause errors.\n *\n * Entire documents can be boosted at build time. Applying a boost to a document indicates that\n * this document should rank higher in search results than other documents.\n *\n * @param {object} doc - The document to add to the index.\n * @param {object} attributes - Optional attributes associated with this document.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this document.\n */\nlunr.Builder.prototype.add = function (doc, attributes) {\n  var docRef = doc[this._ref],\n      fields = Object.keys(this._fields)\n\n  this._documents[docRef] = attributes || {}\n  this.documentCount += 1\n\n  for (var i = 0; i < fields.length; i++) {\n    var fieldName = fields[i],\n        extractor = this._fields[fieldName].extractor,\n        field = extractor ? extractor(doc) : doc[fieldName],\n        tokens = this.tokenizer(field, {\n          fields: [fieldName]\n        }),\n        terms = this.pipeline.run(tokens),\n        fieldRef = new lunr.FieldRef (docRef, fieldName),\n        fieldTerms = Object.create(null)\n\n    this.fieldTermFrequencies[fieldRef] = fieldTerms\n    this.fieldLengths[fieldRef] = 0\n\n    // store the length of this field for this document\n    this.fieldLengths[fieldRef] += terms.length\n\n    // calculate term frequencies for this field\n    for (var j = 0; j < terms.length; j++) {\n      var term = terms[j]\n\n      if (fieldTerms[term] == undefined) {\n        fieldTerms[term] = 0\n      }\n\n      fieldTerms[term] += 1\n\n      // add to inverted index\n      // create an initial posting if one doesn't exist\n      if (this.invertedIndex[term] == undefined) {\n        var posting = Object.create(null)\n        posting[\"_index\"] = this.termIndex\n        this.termIndex += 1\n\n        for (var k = 0; k < fields.length; k++) {\n          posting[fields[k]] = Object.create(null)\n        }\n\n        this.invertedIndex[term] = posting\n      }\n\n      // add an entry for this term/fieldName/docRef to the invertedIndex\n      if (this.invertedIndex[term][fieldName][docRef] == undefined) {\n        this.invertedIndex[term][fieldName][docRef] = Object.create(null)\n      }\n\n      // store all whitelisted metadata about this token in the\n      // inverted index\n      for (var l = 0; l < this.metadataWhitelist.length; l++) {\n        var metadataKey = this.metadataWhitelist[l],\n            metadata = term.metadata[metadataKey]\n\n        if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) {\n          this.invertedIndex[term][fieldName][docRef][metadataKey] = []\n        }\n\n        this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata)\n      }\n    }\n\n  }\n}\n\n/**\n * Calculates the average document length for this index\n *\n * @private\n */\nlunr.Builder.prototype.calculateAverageFieldLengths = function () {\n\n  var fieldRefs = Object.keys(this.fieldLengths),\n      numberOfFields = fieldRefs.length,\n      accumulator = {},\n      documentsWithField = {}\n\n  for (var i = 0; i < numberOfFields; i++) {\n    var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n        field = fieldRef.fieldName\n\n    documentsWithField[field] || (documentsWithField[field] = 0)\n    documentsWithField[field] += 1\n\n    accumulator[field] || (accumulator[field] = 0)\n    accumulator[field] += this.fieldLengths[fieldRef]\n  }\n\n  var fields = Object.keys(this._fields)\n\n  for (var i = 0; i < fields.length; i++) {\n    var fieldName = fields[i]\n    accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName]\n  }\n\n  this.averageFieldLength = accumulator\n}\n\n/**\n * Builds a vector space model of every document using lunr.Vector\n *\n * @private\n */\nlunr.Builder.prototype.createFieldVectors = function () {\n  var fieldVectors = {},\n      fieldRefs = Object.keys(this.fieldTermFrequencies),\n      fieldRefsLength = fieldRefs.length,\n      termIdfCache = Object.create(null)\n\n  for (var i = 0; i < fieldRefsLength; i++) {\n    var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n        fieldName = fieldRef.fieldName,\n        fieldLength = this.fieldLengths[fieldRef],\n        fieldVector = new lunr.Vector,\n        termFrequencies = this.fieldTermFrequencies[fieldRef],\n        terms = Object.keys(termFrequencies),\n        termsLength = terms.length\n\n\n    var fieldBoost = this._fields[fieldName].boost || 1,\n        docBoost = this._documents[fieldRef.docRef].boost || 1\n\n    for (var j = 0; j < termsLength; j++) {\n      var term = terms[j],\n          tf = termFrequencies[term],\n          termIndex = this.invertedIndex[term]._index,\n          idf, score, scoreWithPrecision\n\n      if (termIdfCache[term] === undefined) {\n        idf = lunr.idf(this.invertedIndex[term], this.documentCount)\n        termIdfCache[term] = idf\n      } else {\n        idf = termIdfCache[term]\n      }\n\n      score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf)\n      score *= fieldBoost\n      score *= docBoost\n      scoreWithPrecision = Math.round(score * 1000) / 1000\n      // Converts 1.23456789 to 1.234.\n      // Reducing the precision so that the vectors take up less\n      // space when serialised. Doing it now so that they behave\n      // the same before and after serialisation. Also, this is\n      // the fastest approach to reducing a number's precision in\n      // JavaScript.\n\n      fieldVector.insert(termIndex, scoreWithPrecision)\n    }\n\n    fieldVectors[fieldRef] = fieldVector\n  }\n\n  this.fieldVectors = fieldVectors\n}\n\n/**\n * Creates a token set of all tokens in the index using lunr.TokenSet\n *\n * @private\n */\nlunr.Builder.prototype.createTokenSet = function () {\n  this.tokenSet = lunr.TokenSet.fromArray(\n    Object.keys(this.invertedIndex).sort()\n  )\n}\n\n/**\n * Builds the index, creating an instance of lunr.Index.\n *\n * This completes the indexing process and should only be called\n * once all documents have been added to the index.\n *\n * @returns {lunr.Index}\n */\nlunr.Builder.prototype.build = function () {\n  this.calculateAverageFieldLengths()\n  this.createFieldVectors()\n  this.createTokenSet()\n\n  return new lunr.Index({\n    invertedIndex: this.invertedIndex,\n    fieldVectors: this.fieldVectors,\n    tokenSet: this.tokenSet,\n    fields: Object.keys(this._fields),\n    pipeline: this.searchPipeline\n  })\n}\n\n/**\n * Applies a plugin to the index builder.\n *\n * A plugin is a function that is called with the index builder as its context.\n * Plugins can be used to customise or extend the behaviour of the index\n * in some way. A plugin is just a function, that encapsulated the custom\n * behaviour that should be applied when building the index.\n *\n * The plugin function will be called with the index builder as its argument, additional\n * arguments can also be passed when calling use. The function will be called\n * with the index builder as its context.\n *\n * @param {Function} plugin The plugin to apply.\n */\nlunr.Builder.prototype.use = function (fn) {\n  var args = Array.prototype.slice.call(arguments, 1)\n  args.unshift(this)\n  fn.apply(this, args)\n}\n/**\n * Contains and collects metadata about a matching document.\n * A single instance of lunr.MatchData is returned as part of every\n * lunr.Index~Result.\n *\n * @constructor\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n * @property {object} metadata - A cloned collection of metadata associated with this document.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData = function (term, field, metadata) {\n  var clonedMetadata = Object.create(null),\n      metadataKeys = Object.keys(metadata || {})\n\n  // Cloning the metadata to prevent the original\n  // being mutated during match data combination.\n  // Metadata is kept in an array within the inverted\n  // index so cloning the data can be done with\n  // Array#slice\n  for (var i = 0; i < metadataKeys.length; i++) {\n    var key = metadataKeys[i]\n    clonedMetadata[key] = metadata[key].slice()\n  }\n\n  this.metadata = Object.create(null)\n\n  if (term !== undefined) {\n    this.metadata[term] = Object.create(null)\n    this.metadata[term][field] = clonedMetadata\n  }\n}\n\n/**\n * An instance of lunr.MatchData will be created for every term that matches a\n * document. However only one instance is required in a lunr.Index~Result. This\n * method combines metadata from another instance of lunr.MatchData with this\n * objects metadata.\n *\n * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData.prototype.combine = function (otherMatchData) {\n  var terms = Object.keys(otherMatchData.metadata)\n\n  for (var i = 0; i < terms.length; i++) {\n    var term = terms[i],\n        fields = Object.keys(otherMatchData.metadata[term])\n\n    if (this.metadata[term] == undefined) {\n      this.metadata[term] = Object.create(null)\n    }\n\n    for (var j = 0; j < fields.length; j++) {\n      var field = fields[j],\n          keys = Object.keys(otherMatchData.metadata[term][field])\n\n      if (this.metadata[term][field] == undefined) {\n        this.metadata[term][field] = Object.create(null)\n      }\n\n      for (var k = 0; k < keys.length; k++) {\n        var key = keys[k]\n\n        if (this.metadata[term][field][key] == undefined) {\n          this.metadata[term][field][key] = otherMatchData.metadata[term][field][key]\n        } else {\n          this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key])\n        }\n\n      }\n    }\n  }\n}\n\n/**\n * Add metadata for a term/field pair to this instance of match data.\n *\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n */\nlunr.MatchData.prototype.add = function (term, field, metadata) {\n  if (!(term in this.metadata)) {\n    this.metadata[term] = Object.create(null)\n    this.metadata[term][field] = metadata\n    return\n  }\n\n  if (!(field in this.metadata[term])) {\n    this.metadata[term][field] = metadata\n    return\n  }\n\n  var metadataKeys = Object.keys(metadata)\n\n  for (var i = 0; i < metadataKeys.length; i++) {\n    var key = metadataKeys[i]\n\n    if (key in this.metadata[term][field]) {\n      this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key])\n    } else {\n      this.metadata[term][field][key] = metadata[key]\n    }\n  }\n}\n/**\n * A lunr.Query provides a programmatic way of defining queries to be performed\n * against a {@link lunr.Index}.\n *\n * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method\n * so the query object is pre-initialized with the right index fields.\n *\n * @constructor\n * @property {lunr.Query~Clause[]} clauses - An array of query clauses.\n * @property {string[]} allFields - An array of all available fields in a lunr.Index.\n */\nlunr.Query = function (allFields) {\n  this.clauses = []\n  this.allFields = allFields\n}\n\n/**\n * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause.\n *\n * This allows wildcards to be added to the beginning and end of a term without having to manually do any string\n * concatenation.\n *\n * The wildcard constants can be bitwise combined to select both leading and trailing wildcards.\n *\n * @constant\n * @default\n * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour\n * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists\n * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example <caption>query term with trailing wildcard</caption>\n * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING })\n * @example <caption>query term with leading and trailing wildcard</caption>\n * query.term('foo', {\n *   wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING\n * })\n */\n\nlunr.Query.wildcard = new String (\"*\")\nlunr.Query.wildcard.NONE = 0\nlunr.Query.wildcard.LEADING = 1\nlunr.Query.wildcard.TRAILING = 2\n\n/**\n * Constants for indicating what kind of presence a term must have in matching documents.\n *\n * @constant\n * @enum {number}\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example <caption>query term with required presence</caption>\n * query.term('foo', { presence: lunr.Query.presence.REQUIRED })\n */\nlunr.Query.presence = {\n  /**\n   * Term's presence in a document is optional, this is the default value.\n   */\n  OPTIONAL: 1,\n\n  /**\n   * Term's presence in a document is required, documents that do not contain\n   * this term will not be returned.\n   */\n  REQUIRED: 2,\n\n  /**\n   * Term's presence in a document is prohibited, documents that do contain\n   * this term will not be returned.\n   */\n  PROHIBITED: 3\n}\n\n/**\n * A single clause in a {@link lunr.Query} contains a term and details on how to\n * match that term against a {@link lunr.Index}.\n *\n * @typedef {Object} lunr.Query~Clause\n * @property {string[]} fields - The fields in an index this clause should be matched against.\n * @property {number} [boost=1] - Any boost that should be applied when matching this clause.\n * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be.\n * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline.\n * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended.\n * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents.\n */\n\n/**\n * Adds a {@link lunr.Query~Clause} to this query.\n *\n * Unless the clause contains the fields to be matched all fields will be matched. In addition\n * a default boost of 1 is applied to the clause.\n *\n * @param {lunr.Query~Clause} clause - The clause to add to this query.\n * @see lunr.Query~Clause\n * @returns {lunr.Query}\n */\nlunr.Query.prototype.clause = function (clause) {\n  if (!('fields' in clause)) {\n    clause.fields = this.allFields\n  }\n\n  if (!('boost' in clause)) {\n    clause.boost = 1\n  }\n\n  if (!('usePipeline' in clause)) {\n    clause.usePipeline = true\n  }\n\n  if (!('wildcard' in clause)) {\n    clause.wildcard = lunr.Query.wildcard.NONE\n  }\n\n  if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) {\n    clause.term = \"*\" + clause.term\n  }\n\n  if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) {\n    clause.term = \"\" + clause.term + \"*\"\n  }\n\n  if (!('presence' in clause)) {\n    clause.presence = lunr.Query.presence.OPTIONAL\n  }\n\n  this.clauses.push(clause)\n\n  return this\n}\n\n/**\n * A negated query is one in which every clause has a presence of\n * prohibited. These queries require some special processing to return\n * the expected results.\n *\n * @returns boolean\n */\nlunr.Query.prototype.isNegated = function () {\n  for (var i = 0; i < this.clauses.length; i++) {\n    if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) {\n      return false\n    }\n  }\n\n  return true\n}\n\n/**\n * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause}\n * to the list of clauses that make up this query.\n *\n * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion\n * to a token or token-like string should be done before calling this method.\n *\n * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an\n * array, each term in the array will share the same options.\n *\n * @param {object|object[]} term - The term(s) to add to the query.\n * @param {object} [options] - Any additional properties to add to the query clause.\n * @returns {lunr.Query}\n * @see lunr.Query#clause\n * @see lunr.Query~Clause\n * @example <caption>adding a single term to a query</caption>\n * query.term(\"foo\")\n * @example <caption>adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard</caption>\n * query.term(\"foo\", {\n *   fields: [\"title\"],\n *   boost: 10,\n *   wildcard: lunr.Query.wildcard.TRAILING\n * })\n * @example <caption>using lunr.tokenizer to convert a string to tokens before using them as terms</caption>\n * query.term(lunr.tokenizer(\"foo bar\"))\n */\nlunr.Query.prototype.term = function (term, options) {\n  if (Array.isArray(term)) {\n    term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this)\n    return this\n  }\n\n  var clause = options || {}\n  clause.term = term.toString()\n\n  this.clause(clause)\n\n  return this\n}\nlunr.QueryParseError = function (message, start, end) {\n  this.name = \"QueryParseError\"\n  this.message = message\n  this.start = start\n  this.end = end\n}\n\nlunr.QueryParseError.prototype = new Error\nlunr.QueryLexer = function (str) {\n  this.lexemes = []\n  this.str = str\n  this.length = str.length\n  this.pos = 0\n  this.start = 0\n  this.escapeCharPositions = []\n}\n\nlunr.QueryLexer.prototype.run = function () {\n  var state = lunr.QueryLexer.lexText\n\n  while (state) {\n    state = state(this)\n  }\n}\n\nlunr.QueryLexer.prototype.sliceString = function () {\n  var subSlices = [],\n      sliceStart = this.start,\n      sliceEnd = this.pos\n\n  for (var i = 0; i < this.escapeCharPositions.length; i++) {\n    sliceEnd = this.escapeCharPositions[i]\n    subSlices.push(this.str.slice(sliceStart, sliceEnd))\n    sliceStart = sliceEnd + 1\n  }\n\n  subSlices.push(this.str.slice(sliceStart, this.pos))\n  this.escapeCharPositions.length = 0\n\n  return subSlices.join('')\n}\n\nlunr.QueryLexer.prototype.emit = function (type) {\n  this.lexemes.push({\n    type: type,\n    str: this.sliceString(),\n    start: this.start,\n    end: this.pos\n  })\n\n  this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.escapeCharacter = function () {\n  this.escapeCharPositions.push(this.pos - 1)\n  this.pos += 1\n}\n\nlunr.QueryLexer.prototype.next = function () {\n  if (this.pos >= this.length) {\n    return lunr.QueryLexer.EOS\n  }\n\n  var char = this.str.charAt(this.pos)\n  this.pos += 1\n  return char\n}\n\nlunr.QueryLexer.prototype.width = function () {\n  return this.pos - this.start\n}\n\nlunr.QueryLexer.prototype.ignore = function () {\n  if (this.start == this.pos) {\n    this.pos += 1\n  }\n\n  this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.backup = function () {\n  this.pos -= 1\n}\n\nlunr.QueryLexer.prototype.acceptDigitRun = function () {\n  var char, charCode\n\n  do {\n    char = this.next()\n    charCode = char.charCodeAt(0)\n  } while (charCode > 47 && charCode < 58)\n\n  if (char != lunr.QueryLexer.EOS) {\n    this.backup()\n  }\n}\n\nlunr.QueryLexer.prototype.more = function () {\n  return this.pos < this.length\n}\n\nlunr.QueryLexer.EOS = 'EOS'\nlunr.QueryLexer.FIELD = 'FIELD'\nlunr.QueryLexer.TERM = 'TERM'\nlunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'\nlunr.QueryLexer.BOOST = 'BOOST'\nlunr.QueryLexer.PRESENCE = 'PRESENCE'\n\nlunr.QueryLexer.lexField = function (lexer) {\n  lexer.backup()\n  lexer.emit(lunr.QueryLexer.FIELD)\n  lexer.ignore()\n  return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexTerm = function (lexer) {\n  if (lexer.width() > 1) {\n    lexer.backup()\n    lexer.emit(lunr.QueryLexer.TERM)\n  }\n\n  lexer.ignore()\n\n  if (lexer.more()) {\n    return lunr.QueryLexer.lexText\n  }\n}\n\nlunr.QueryLexer.lexEditDistance = function (lexer) {\n  lexer.ignore()\n  lexer.acceptDigitRun()\n  lexer.emit(lunr.QueryLexer.EDIT_DISTANCE)\n  return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexBoost = function (lexer) {\n  lexer.ignore()\n  lexer.acceptDigitRun()\n  lexer.emit(lunr.QueryLexer.BOOST)\n  return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexEOS = function (lexer) {\n  if (lexer.width() > 0) {\n    lexer.emit(lunr.QueryLexer.TERM)\n  }\n}\n\n// This matches the separator used when tokenising fields\n// within a document. These should match otherwise it is\n// not possible to search for some tokens within a document.\n//\n// It is possible for the user to change the separator on the\n// tokenizer so it _might_ clash with any other of the special\n// characters already used within the search string, e.g. :.\n//\n// This means that it is possible to change the separator in\n// such a way that makes some words unsearchable using a search\n// string.\nlunr.QueryLexer.termSeparator = lunr.tokenizer.separator\n\nlunr.QueryLexer.lexText = function (lexer) {\n  while (true) {\n    var char = lexer.next()\n\n    if (char == lunr.QueryLexer.EOS) {\n      return lunr.QueryLexer.lexEOS\n    }\n\n    // Escape character is '\\'\n    if (char.charCodeAt(0) == 92) {\n      lexer.escapeCharacter()\n      continue\n    }\n\n    if (char == \":\") {\n      return lunr.QueryLexer.lexField\n    }\n\n    if (char == \"~\") {\n      lexer.backup()\n      if (lexer.width() > 0) {\n        lexer.emit(lunr.QueryLexer.TERM)\n      }\n      return lunr.QueryLexer.lexEditDistance\n    }\n\n    if (char == \"^\") {\n      lexer.backup()\n      if (lexer.width() > 0) {\n        lexer.emit(lunr.QueryLexer.TERM)\n      }\n      return lunr.QueryLexer.lexBoost\n    }\n\n    // \"+\" indicates term presence is required\n    // checking for length to ensure that only\n    // leading \"+\" are considered\n    if (char == \"+\" && lexer.width() === 1) {\n      lexer.emit(lunr.QueryLexer.PRESENCE)\n      return lunr.QueryLexer.lexText\n    }\n\n    // \"-\" indicates term presence is prohibited\n    // checking for length to ensure that only\n    // leading \"-\" are considered\n    if (char == \"-\" && lexer.width() === 1) {\n      lexer.emit(lunr.QueryLexer.PRESENCE)\n      return lunr.QueryLexer.lexText\n    }\n\n    if (char.match(lunr.QueryLexer.termSeparator)) {\n      return lunr.QueryLexer.lexTerm\n    }\n  }\n}\n\nlunr.QueryParser = function (str, query) {\n  this.lexer = new lunr.QueryLexer (str)\n  this.query = query\n  this.currentClause = {}\n  this.lexemeIdx = 0\n}\n\nlunr.QueryParser.prototype.parse = function () {\n  this.lexer.run()\n  this.lexemes = this.lexer.lexemes\n\n  var state = lunr.QueryParser.parseClause\n\n  while (state) {\n    state = state(this)\n  }\n\n  return this.query\n}\n\nlunr.QueryParser.prototype.peekLexeme = function () {\n  return this.lexemes[this.lexemeIdx]\n}\n\nlunr.QueryParser.prototype.consumeLexeme = function () {\n  var lexeme = this.peekLexeme()\n  this.lexemeIdx += 1\n  return lexeme\n}\n\nlunr.QueryParser.prototype.nextClause = function () {\n  var completedClause = this.currentClause\n  this.query.clause(completedClause)\n  this.currentClause = {}\n}\n\nlunr.QueryParser.parseClause = function (parser) {\n  var lexeme = parser.peekLexeme()\n\n  if (lexeme == undefined) {\n    return\n  }\n\n  switch (lexeme.type) {\n    case lunr.QueryLexer.PRESENCE:\n      return lunr.QueryParser.parsePresence\n    case lunr.QueryLexer.FIELD:\n      return lunr.QueryParser.parseField\n    case lunr.QueryLexer.TERM:\n      return lunr.QueryParser.parseTerm\n    default:\n      var errorMessage = \"expected either a field or a term, found \" + lexeme.type\n\n      if (lexeme.str.length >= 1) {\n        errorMessage += \" with value '\" + lexeme.str + \"'\"\n      }\n\n      throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n}\n\nlunr.QueryParser.parsePresence = function (parser) {\n  var lexeme = parser.consumeLexeme()\n\n  if (lexeme == undefined) {\n    return\n  }\n\n  switch (lexeme.str) {\n    case \"-\":\n      parser.currentClause.presence = lunr.Query.presence.PROHIBITED\n      break\n    case \"+\":\n      parser.currentClause.presence = lunr.Query.presence.REQUIRED\n      break\n    default:\n      var errorMessage = \"unrecognised presence operator'\" + lexeme.str + \"'\"\n      throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n\n  var nextLexeme = parser.peekLexeme()\n\n  if (nextLexeme == undefined) {\n    var errorMessage = \"expecting term or field, found nothing\"\n    throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n\n  switch (nextLexeme.type) {\n    case lunr.QueryLexer.FIELD:\n      return lunr.QueryParser.parseField\n    case lunr.QueryLexer.TERM:\n      return lunr.QueryParser.parseTerm\n    default:\n      var errorMessage = \"expecting term or field, found '\" + nextLexeme.type + \"'\"\n      throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n  }\n}\n\nlunr.QueryParser.parseField = function (parser) {\n  var lexeme = parser.consumeLexeme()\n\n  if (lexeme == undefined) {\n    return\n  }\n\n  if (parser.query.allFields.indexOf(lexeme.str) == -1) {\n    var possibleFields = parser.query.allFields.map(function (f) { return \"'\" + f + \"'\" }).join(', '),\n        errorMessage = \"unrecognised field '\" + lexeme.str + \"', possible fields: \" + possibleFields\n\n    throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n\n  parser.currentClause.fields = [lexeme.str]\n\n  var nextLexeme = parser.peekLexeme()\n\n  if (nextLexeme == undefined) {\n    var errorMessage = \"expecting term, found nothing\"\n    throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n\n  switch (nextLexeme.type) {\n    case lunr.QueryLexer.TERM:\n      return lunr.QueryParser.parseTerm\n    default:\n      var errorMessage = \"expecting term, found '\" + nextLexeme.type + \"'\"\n      throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n  }\n}\n\nlunr.QueryParser.parseTerm = function (parser) {\n  var lexeme = parser.consumeLexeme()\n\n  if (lexeme == undefined) {\n    return\n  }\n\n  parser.currentClause.term = lexeme.str.toLowerCase()\n\n  if (lexeme.str.indexOf(\"*\") != -1) {\n    parser.currentClause.usePipeline = false\n  }\n\n  var nextLexeme = parser.peekLexeme()\n\n  if (nextLexeme == undefined) {\n    parser.nextClause()\n    return\n  }\n\n  switch (nextLexeme.type) {\n    case lunr.QueryLexer.TERM:\n      parser.nextClause()\n      return lunr.QueryParser.parseTerm\n    case lunr.QueryLexer.FIELD:\n      parser.nextClause()\n      return lunr.QueryParser.parseField\n    case lunr.QueryLexer.EDIT_DISTANCE:\n      return lunr.QueryParser.parseEditDistance\n    case lunr.QueryLexer.BOOST:\n      return lunr.QueryParser.parseBoost\n    case lunr.QueryLexer.PRESENCE:\n      parser.nextClause()\n      return lunr.QueryParser.parsePresence\n    default:\n      var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n      throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n  }\n}\n\nlunr.QueryParser.parseEditDistance = function (parser) {\n  var lexeme = parser.consumeLexeme()\n\n  if (lexeme == undefined) {\n    return\n  }\n\n  var editDistance = parseInt(lexeme.str, 10)\n\n  if (isNaN(editDistance)) {\n    var errorMessage = \"edit distance must be numeric\"\n    throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n\n  parser.currentClause.editDistance = editDistance\n\n  var nextLexeme = parser.peekLexeme()\n\n  if (nextLexeme == undefined) {\n    parser.nextClause()\n    return\n  }\n\n  switch (nextLexeme.type) {\n    case lunr.QueryLexer.TERM:\n      parser.nextClause()\n      return lunr.QueryParser.parseTerm\n    case lunr.QueryLexer.FIELD:\n      parser.nextClause()\n      return lunr.QueryParser.parseField\n    case lunr.QueryLexer.EDIT_DISTANCE:\n      return lunr.QueryParser.parseEditDistance\n    case lunr.QueryLexer.BOOST:\n      return lunr.QueryParser.parseBoost\n    case lunr.QueryLexer.PRESENCE:\n      parser.nextClause()\n      return lunr.QueryParser.parsePresence\n    default:\n      var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n      throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n  }\n}\n\nlunr.QueryParser.parseBoost = function (parser) {\n  var lexeme = parser.consumeLexeme()\n\n  if (lexeme == undefined) {\n    return\n  }\n\n  var boost = parseInt(lexeme.str, 10)\n\n  if (isNaN(boost)) {\n    var errorMessage = \"boost must be numeric\"\n    throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n\n  parser.currentClause.boost = boost\n\n  var nextLexeme = parser.peekLexeme()\n\n  if (nextLexeme == undefined) {\n    parser.nextClause()\n    return\n  }\n\n  switch (nextLexeme.type) {\n    case lunr.QueryLexer.TERM:\n      parser.nextClause()\n      return lunr.QueryParser.parseTerm\n    case lunr.QueryLexer.FIELD:\n      parser.nextClause()\n      return lunr.QueryParser.parseField\n    case lunr.QueryLexer.EDIT_DISTANCE:\n      return lunr.QueryParser.parseEditDistance\n    case lunr.QueryLexer.BOOST:\n      return lunr.QueryParser.parseBoost\n    case lunr.QueryLexer.PRESENCE:\n      parser.nextClause()\n      return lunr.QueryParser.parsePresence\n    default:\n      var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n      throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n  }\n}\n\n  /**\n   * export the module via AMD, CommonJS or as a browser global\n   * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n   */\n  ;(function (root, factory) {\n    if (true) {\n      // AMD. Register as an anonymous module.\n      !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))\n    } else {}\n  }(this, function () {\n    /**\n     * Just return a value to define the module export.\n     * This example returns an object, but the module\n     * can return a function as the exported value.\n     */\n    return lunr\n  }))\n})();\n\n\n//# sourceURL=webpack:///../node_modules/lunr/lunr.js?");
+
+/***/ }),
+
+/***/ "./default/assets/css/main.sass":
+/*!**************************************!*\
+  !*** ./default/assets/css/main.sass ***!
+  \**************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack:///./default/assets/css/main.sass?");
+
+/***/ }),
+
+/***/ "./default/assets/js/src/bootstrap.ts":
+/*!********************************************!*\
+  !*** ./default/assets/js/src/bootstrap.ts ***!
+  \********************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _typedoc_Application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typedoc/Application */ \"./default/assets/js/src/typedoc/Application.ts\");\n/* harmony import */ var _typedoc_components_MenuHighlight__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./typedoc/components/MenuHighlight */ \"./default/assets/js/src/typedoc/components/MenuHighlight.ts\");\n/* harmony import */ var _typedoc_components_Search__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./typedoc/components/Search */ \"./default/assets/js/src/typedoc/components/Search.ts\");\n/* harmony import */ var _typedoc_components_Signature__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./typedoc/components/Signature */ \"./default/assets/js/src/typedoc/components/Signature.ts\");\n/* harmony import */ var _typedoc_components_Toggle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./typedoc/components/Toggle */ \"./default/assets/js/src/typedoc/components/Toggle.ts\");\n/* harmony import */ var _typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./typedoc/components/Filter */ \"./default/assets/js/src/typedoc/components/Filter.ts\");\n/* harmony import */ var _css_main_sass__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../css/main.sass */ \"./default/assets/css/main.sass\");\n\n\n\n\n\n\n\n(0,_typedoc_components_Search__WEBPACK_IMPORTED_MODULE_2__.initSearch)();\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_MenuHighlight__WEBPACK_IMPORTED_MODULE_1__.MenuHighlight, \".menu-highlight\");\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Signature__WEBPACK_IMPORTED_MODULE_3__.Signature, \".tsd-signatures\");\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Toggle__WEBPACK_IMPORTED_MODULE_4__.Toggle, \"a[data-toggle]\");\nif (_typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__.Filter.isSupported()) {\n    (0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__.Filter, \"#tsd-filter\");\n}\nelse {\n    document.documentElement.classList.add(\"no-filter\");\n}\nvar app = new _typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.Application();\nObject.defineProperty(window, \"app\", { value: app });\n\n\n//# sourceURL=webpack:///./default/assets/js/src/bootstrap.ts?");
+
+/***/ }),
+
+/***/ "./default/assets/js/src/typedoc/Application.ts":
+/*!******************************************************!*\
+  !*** ./default/assets/js/src/typedoc/Application.ts ***!
+  \******************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"registerComponent\": () => /* binding */ registerComponent,\n/* harmony export */   \"Application\": () => /* binding */ Application\n/* harmony export */ });\n/**\n * List of all known components.\n */\nvar components = [];\n/**\n * Register a new component.\n */\nfunction registerComponent(constructor, selector) {\n    components.push({\n        selector: selector,\n        constructor: constructor,\n    });\n}\n/**\n * TypeDoc application class.\n */\nvar Application = /** @class */ (function () {\n    /**\n     * Create a new Application instance.\n     */\n    function Application() {\n        this.createComponents(document.body);\n    }\n    /**\n     * Create all components beneath the given jQuery element.\n     */\n    Application.prototype.createComponents = function (context) {\n        components.forEach(function (c) {\n            context.querySelectorAll(c.selector).forEach(function (el) {\n                if (!el.dataset.hasInstance) {\n                    new c.constructor({ el: el });\n                    el.dataset.hasInstance = String(true);\n                }\n            });\n        });\n    };\n    return Application;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/Application.ts?");
+
+/***/ }),
+
+/***/ "./default/assets/js/src/typedoc/Component.ts":
+/*!****************************************************!*\
+  !*** ./default/assets/js/src/typedoc/Component.ts ***!
+  \****************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"Component\": () => /* binding */ Component\n/* harmony export */ });\n/**\n * TypeDoc component class.\n */\nvar Component = /** @class */ (function () {\n    function Component(options) {\n        this.el = options.el;\n    }\n    return Component;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/Component.ts?");
+
+/***/ }),
+
+/***/ "./default/assets/js/src/typedoc/EventTarget.ts":
+/*!******************************************************!*\
+  !*** ./default/assets/js/src/typedoc/EventTarget.ts ***!
+  \******************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"EventTarget\": () => /* binding */ EventTarget\n/* harmony export */ });\n/**\n * TypeDoc event target class.\n */\nvar EventTarget = /** @class */ (function () {\n    function EventTarget() {\n        this.listeners = {};\n    }\n    EventTarget.prototype.addEventListener = function (type, callback) {\n        if (!(type in this.listeners)) {\n            this.listeners[type] = [];\n        }\n        this.listeners[type].push(callback);\n    };\n    EventTarget.prototype.removeEventListener = function (type, callback) {\n        if (!(type in this.listeners)) {\n            return;\n        }\n        var stack = this.listeners[type];\n        for (var i = 0, l = stack.length; i < l; i++) {\n            if (stack[i] === callback) {\n                stack.splice(i, 1);\n                return;\n            }\n        }\n    };\n    EventTarget.prototype.dispatchEvent = function (event) {\n        if (!(event.type in this.listeners)) {\n            return true;\n        }\n        var stack = this.listeners[event.type].slice();\n        for (var i = 0, l = stack.length; i < l; i++) {\n            stack[i].call(this, event);\n        }\n        return !event.defaultPrevented;\n    };\n    return EventTarget;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/EventTarget.ts?");
+
+/***/ }),
+
+/***/ "./default/assets/js/src/typedoc/components/Filter.ts":
+/*!************************************************************!*\
+  !*** ./default/assets/js/src/typedoc/components/Filter.ts ***!
+  \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"Filter\": () => /* binding */ Filter\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _utils_pointer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/pointer */ \"./default/assets/js/src/typedoc/utils/pointer.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\n\nvar FilterItem = /** @class */ (function () {\n    function FilterItem(key, value) {\n        this.key = key;\n        this.value = value;\n        this.defaultValue = value;\n        this.initialize();\n        if (window.localStorage[this.key]) {\n            this.setValue(this.fromLocalStorage(window.localStorage[this.key]));\n        }\n    }\n    FilterItem.prototype.initialize = function () { };\n    FilterItem.prototype.setValue = function (value) {\n        if (this.value == value)\n            return;\n        var oldValue = this.value;\n        this.value = value;\n        window.localStorage[this.key] = this.toLocalStorage(value);\n        this.handleValueChange(oldValue, value);\n    };\n    return FilterItem;\n}());\nvar FilterItemCheckbox = /** @class */ (function (_super) {\n    __extends(FilterItemCheckbox, _super);\n    function FilterItemCheckbox() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    FilterItemCheckbox.prototype.initialize = function () {\n        var _this = this;\n        var checkbox = document.querySelector(\"#tsd-filter-\" + this.key);\n        if (!checkbox)\n            return;\n        this.checkbox = checkbox;\n        this.checkbox.addEventListener(\"change\", function () {\n            _this.setValue(_this.checkbox.checked);\n        });\n    };\n    FilterItemCheckbox.prototype.handleValueChange = function (oldValue, newValue) {\n        if (!this.checkbox)\n            return;\n        this.checkbox.checked = this.value;\n        document.documentElement.classList.toggle(\"toggle-\" + this.key, this.value != this.defaultValue);\n    };\n    FilterItemCheckbox.prototype.fromLocalStorage = function (value) {\n        return value == \"true\";\n    };\n    FilterItemCheckbox.prototype.toLocalStorage = function (value) {\n        return value ? \"true\" : \"false\";\n    };\n    return FilterItemCheckbox;\n}(FilterItem));\nvar FilterItemSelect = /** @class */ (function (_super) {\n    __extends(FilterItemSelect, _super);\n    function FilterItemSelect() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    FilterItemSelect.prototype.initialize = function () {\n        var _this = this;\n        document.documentElement.classList.add(\"toggle-\" + this.key + this.value);\n        var select = document.querySelector(\"#tsd-filter-\" + this.key);\n        if (!select)\n            return;\n        this.select = select;\n        var onActivate = function () {\n            _this.select.classList.add(\"active\");\n        };\n        var onDeactivate = function () {\n            _this.select.classList.remove(\"active\");\n        };\n        this.select.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, onActivate);\n        this.select.addEventListener(\"mouseover\", onActivate);\n        this.select.addEventListener(\"mouseleave\", onDeactivate);\n        this.select.querySelectorAll(\"li\").forEach(function (el) {\n            el.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) {\n                select.classList.remove(\"active\");\n                _this.setValue(e.target.dataset.value || \"\");\n            });\n        });\n        document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, function (e) {\n            if (_this.select.contains(e.target))\n                return;\n            _this.select.classList.remove(\"active\");\n        });\n    };\n    FilterItemSelect.prototype.handleValueChange = function (oldValue, newValue) {\n        this.select.querySelectorAll(\"li.selected\").forEach(function (el) {\n            el.classList.remove(\"selected\");\n        });\n        var selected = this.select.querySelector('li[data-value=\"' + newValue + '\"]');\n        var label = this.select.querySelector(\".tsd-select-label\");\n        if (selected && label) {\n            selected.classList.add(\"selected\");\n            label.textContent = selected.textContent;\n        }\n        document.documentElement.classList.remove(\"toggle-\" + oldValue);\n        document.documentElement.classList.add(\"toggle-\" + newValue);\n    };\n    FilterItemSelect.prototype.fromLocalStorage = function (value) {\n        return value;\n    };\n    FilterItemSelect.prototype.toLocalStorage = function (value) {\n        return value;\n    };\n    return FilterItemSelect;\n}(FilterItem));\nvar Filter = /** @class */ (function (_super) {\n    __extends(Filter, _super);\n    function Filter(options) {\n        var _this = _super.call(this, options) || this;\n        _this.optionVisibility = new FilterItemSelect(\"visibility\", \"private\");\n        _this.optionInherited = new FilterItemCheckbox(\"inherited\", true);\n        _this.optionExternals = new FilterItemCheckbox(\"externals\", true);\n        return _this;\n    }\n    Filter.isSupported = function () {\n        try {\n            return typeof window.localStorage != \"undefined\";\n        }\n        catch (e) {\n            return false;\n        }\n    };\n    return Filter;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Filter.ts?");
+
+/***/ }),
+
+/***/ "./default/assets/js/src/typedoc/components/MenuHighlight.ts":
+/*!*******************************************************************!*\
+  !*** ./default/assets/js/src/typedoc/components/MenuHighlight.ts ***!
+  \*******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"MenuHighlight\": () => /* binding */ MenuHighlight\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _services_Viewport__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/Viewport */ \"./default/assets/js/src/typedoc/services/Viewport.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\n\n/**\n * Manages the sticky state of the navigation and moves the highlight\n * to the current navigation item.\n */\nvar MenuHighlight = /** @class */ (function (_super) {\n    __extends(MenuHighlight, _super);\n    /**\n     * Create a new MenuHighlight instance.\n     *\n     * @param options  Backbone view constructor options.\n     */\n    function MenuHighlight(options) {\n        var _this = _super.call(this, options) || this;\n        /**\n         * List of all discovered anchors.\n         */\n        _this.anchors = [];\n        /**\n         * Index of the currently highlighted anchor.\n         */\n        _this.index = -1;\n        _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.addEventListener(\"resize\", function () { return _this.onResize(); });\n        _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.addEventListener(\"scroll\", function (e) { return _this.onScroll(e); });\n        _this.createAnchors();\n        return _this;\n    }\n    /**\n     * Find all anchors on the current page.\n     */\n    MenuHighlight.prototype.createAnchors = function () {\n        var _this = this;\n        var base = window.location.href;\n        if (base.indexOf(\"#\") != -1) {\n            base = base.substr(0, base.indexOf(\"#\"));\n        }\n        this.el.querySelectorAll(\"a\").forEach(function (el) {\n            var href = el.href;\n            if (href.indexOf(\"#\") == -1)\n                return;\n            if (href.substr(0, base.length) != base)\n                return;\n            var hash = href.substr(href.indexOf(\"#\") + 1);\n            var anchor = document.querySelector(\"a.tsd-anchor[name=\" + hash + \"]\");\n            var link = el.parentNode;\n            if (!anchor || !link)\n                return;\n            _this.anchors.push({\n                link: link,\n                anchor: anchor,\n                position: 0,\n            });\n        });\n        this.onResize();\n    };\n    /**\n     * Triggered after the viewport was resized.\n     */\n    MenuHighlight.prototype.onResize = function () {\n        var anchor;\n        for (var index = 0, count = this.anchors.length; index < count; index++) {\n            anchor = this.anchors[index];\n            var rect = anchor.anchor.getBoundingClientRect();\n            anchor.position = rect.top + document.body.scrollTop;\n        }\n        this.anchors.sort(function (a, b) {\n            return a.position - b.position;\n        });\n        var event = new CustomEvent(\"scroll\", {\n            detail: {\n                scrollTop: _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.scrollTop,\n            },\n        });\n        this.onScroll(event);\n    };\n    /**\n     * Triggered after the viewport was scrolled.\n     *\n     * @param event  The custom event with the current vertical scroll position.\n     */\n    MenuHighlight.prototype.onScroll = function (event) {\n        var scrollTop = event.detail.scrollTop + 5;\n        var anchors = this.anchors;\n        var count = anchors.length - 1;\n        var index = this.index;\n        while (index > -1 && anchors[index].position > scrollTop) {\n            index -= 1;\n        }\n        while (index < count && anchors[index + 1].position < scrollTop) {\n            index += 1;\n        }\n        if (this.index != index) {\n            if (this.index > -1)\n                this.anchors[this.index].link.classList.remove(\"focus\");\n            this.index = index;\n            if (this.index > -1)\n                this.anchors[this.index].link.classList.add(\"focus\");\n        }\n    };\n    return MenuHighlight;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/MenuHighlight.ts?");
+
+/***/ }),
+
+/***/ "./default/assets/js/src/typedoc/components/Search.ts":
+/*!************************************************************!*\
+  !*** ./default/assets/js/src/typedoc/components/Search.ts ***!
+  \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"initSearch\": () => /* binding */ initSearch\n/* harmony export */ });\n/* harmony import */ var _utils_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/debounce */ \"./default/assets/js/src/typedoc/utils/debounce.ts\");\n/* harmony import */ var lunr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lunr */ \"../node_modules/lunr/lunr.js\");\n/* harmony import */ var lunr__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lunr__WEBPACK_IMPORTED_MODULE_1__);\n\n\nfunction initSearch() {\n    var searchEl = document.getElementById(\"tsd-search\");\n    if (!searchEl)\n        return;\n    var searchScript = document.getElementById(\"search-script\");\n    searchEl.classList.add(\"loading\");\n    if (searchScript) {\n        searchScript.addEventListener(\"error\", function () {\n            searchEl.classList.remove(\"loading\");\n            searchEl.classList.add(\"failure\");\n        });\n        searchScript.addEventListener(\"load\", function () {\n            searchEl.classList.remove(\"loading\");\n            searchEl.classList.add(\"ready\");\n        });\n        if (window.searchData) {\n            searchEl.classList.remove(\"loading\");\n        }\n    }\n    var field = document.querySelector(\"#tsd-search-field\");\n    var results = document.querySelector(\".results\");\n    if (!field || !results) {\n        throw new Error(\"The input field or the result list wrapper was not found\");\n    }\n    var resultClicked = false;\n    results.addEventListener(\"mousedown\", function () { return (resultClicked = true); });\n    results.addEventListener(\"mouseup\", function () {\n        resultClicked = false;\n        searchEl.classList.remove(\"has-focus\");\n    });\n    field.addEventListener(\"focus\", function () { return searchEl.classList.add(\"has-focus\"); });\n    field.addEventListener(\"blur\", function () {\n        if (!resultClicked) {\n            resultClicked = false;\n            searchEl.classList.remove(\"has-focus\");\n        }\n    });\n    var state = {\n        base: searchEl.dataset.base + \"/\",\n    };\n    bindEvents(searchEl, results, field, state);\n}\nfunction bindEvents(searchEl, results, field, state) {\n    field.addEventListener(\"input\", (0,_utils_debounce__WEBPACK_IMPORTED_MODULE_0__.debounce)(function () {\n        updateResults(searchEl, results, field, state);\n    }, 200));\n    var preventPress = false;\n    field.addEventListener(\"keydown\", function (e) {\n        preventPress = true;\n        if (e.key == \"Enter\") {\n            gotoCurrentResult(results, field);\n        }\n        else if (e.key == \"Escape\") {\n            field.blur();\n        }\n        else if (e.key == \"ArrowUp\") {\n            setCurrentResult(results, -1);\n        }\n        else if (e.key === \"ArrowDown\") {\n            setCurrentResult(results, 1);\n        }\n        else {\n            preventPress = false;\n        }\n    });\n    field.addEventListener(\"keypress\", function (e) {\n        if (preventPress)\n            e.preventDefault();\n    });\n    /**\n     * Start searching by pressing slash.\n     */\n    document.body.addEventListener(\"keydown\", function (e) {\n        if (e.altKey || e.ctrlKey || e.metaKey)\n            return;\n        if (!field.matches(\":focus\") && e.key === \"/\") {\n            field.focus();\n            e.preventDefault();\n        }\n    });\n}\nfunction checkIndex(state, searchEl) {\n    if (state.index)\n        return;\n    if (window.searchData) {\n        searchEl.classList.remove(\"loading\");\n        searchEl.classList.add(\"ready\");\n        state.data = window.searchData;\n        state.index = lunr__WEBPACK_IMPORTED_MODULE_1__.Index.load(window.searchData.index);\n    }\n}\nfunction updateResults(searchEl, results, query, state) {\n    checkIndex(state, searchEl);\n    // Don't clear results if loading state is not ready,\n    // because loading or error message can be removed.\n    if (!state.index || !state.data)\n        return;\n    results.textContent = \"\";\n    var searchText = query.value.trim();\n    // Perform a wildcard search\n    var res = state.index.search(\"*\" + searchText + \"*\");\n    for (var i = 0, c = Math.min(10, res.length); i < c; i++) {\n        var row = state.data.rows[Number(res[i].ref)];\n        // Bold the matched part of the query in the search results\n        var name_1 = boldMatches(row.name, searchText);\n        if (row.parent) {\n            name_1 = \"<span class=\\\"parent\\\">\" + boldMatches(row.parent, searchText) + \".</span>\" + name_1;\n        }\n        var item = document.createElement(\"li\");\n        item.classList.value = row.classes;\n        var anchor = document.createElement(\"a\");\n        anchor.href = state.base + row.url;\n        anchor.classList.add(\"tsd-kind-icon\");\n        anchor.innerHTML = name_1;\n        item.append(anchor);\n        results.appendChild(item);\n    }\n}\n/**\n * Move the highlight within the result set.\n */\nfunction setCurrentResult(results, dir) {\n    var current = results.querySelector(\".current\");\n    if (!current) {\n        current = results.querySelector(dir == 1 ? \"li:first-child\" : \"li:last-child\");\n        if (current) {\n            current.classList.add(\"current\");\n        }\n    }\n    else {\n        var rel = dir == 1\n            ? current.nextElementSibling\n            : current.previousElementSibling;\n        if (rel) {\n            current.classList.remove(\"current\");\n            rel.classList.add(\"current\");\n        }\n    }\n}\n/**\n * Navigate to the highlighted result.\n */\nfunction gotoCurrentResult(results, field) {\n    var current = results.querySelector(\".current\");\n    if (!current) {\n        current = results.querySelector(\"li:first-child\");\n    }\n    if (current) {\n        var link = current.querySelector(\"a\");\n        if (link) {\n            window.location.href = link.href;\n        }\n        field.blur();\n    }\n}\nfunction boldMatches(text, search) {\n    if (search === \"\") {\n        return text;\n    }\n    var lowerText = text.toLocaleLowerCase();\n    var lowerSearch = search.toLocaleLowerCase();\n    var parts = [];\n    var lastIndex = 0;\n    var index = lowerText.indexOf(lowerSearch);\n    while (index != -1) {\n        parts.push(escapeHtml(text.substring(lastIndex, index)), \"<b>\" + escapeHtml(text.substring(index, index + lowerSearch.length)) + \"</b>\");\n        lastIndex = index + lowerSearch.length;\n        index = lowerText.indexOf(lowerSearch, lastIndex);\n    }\n    parts.push(escapeHtml(text.substring(lastIndex)));\n    return parts.join(\"\");\n}\nvar SPECIAL_HTML = {\n    \"&\": \"&amp;\",\n    \"<\": \"&lt;\",\n    \">\": \"&gt;\",\n    \"'\": \"&#039;\",\n    '\"': \"&quot;\",\n};\nfunction escapeHtml(text) {\n    return text.replace(/[&<>\"'\"]/g, function (match) { return SPECIAL_HTML[match]; });\n}\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Search.ts?");
+
+/***/ }),
+
+/***/ "./default/assets/js/src/typedoc/components/Signature.ts":
+/*!***************************************************************!*\
+  !*** ./default/assets/js/src/typedoc/components/Signature.ts ***!
+  \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"Signature\": () => /* binding */ Signature\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _services_Viewport__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/Viewport */ \"./default/assets/js/src/typedoc/services/Viewport.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\n\n/**\n * Holds a signature and its description.\n */\nvar SignatureGroup = /** @class */ (function () {\n    /**\n     * Create a new SignatureGroup instance.\n     *\n     * @param signature    The target signature.\n     * @param description  The description for the signature.\n     */\n    function SignatureGroup(signature, description) {\n        this.signature = signature;\n        this.description = description;\n    }\n    /**\n     * Add the given class to all elements of the group.\n     *\n     * @param className  The class name to add.\n     */\n    SignatureGroup.prototype.addClass = function (className) {\n        this.signature.classList.add(className);\n        this.description.classList.add(className);\n        return this;\n    };\n    /**\n     * Remove the given class from all elements of the group.\n     *\n     * @param className  The class name to remove.\n     */\n    SignatureGroup.prototype.removeClass = function (className) {\n        this.signature.classList.remove(className);\n        this.description.classList.remove(className);\n        return this;\n    };\n    return SignatureGroup;\n}());\n/**\n * Controls the tab like behaviour of methods and functions with multiple signatures.\n */\nvar Signature = /** @class */ (function (_super) {\n    __extends(Signature, _super);\n    /**\n     * Create a new Signature instance.\n     *\n     * @param options  Backbone view constructor options.\n     */\n    function Signature(options) {\n        var _this = _super.call(this, options) || this;\n        /**\n         * List of found signature groups.\n         */\n        _this.groups = [];\n        /**\n         * The index of the currently displayed signature.\n         */\n        _this.index = -1;\n        _this.createGroups();\n        if (_this.container) {\n            _this.el.classList.add(\"active\");\n            Array.from(_this.el.children).forEach(function (signature) {\n                signature.addEventListener(\"touchstart\", function (event) {\n                    return _this.onClick(event);\n                });\n                signature.addEventListener(\"click\", function (event) {\n                    return _this.onClick(event);\n                });\n            });\n            _this.container.classList.add(\"active\");\n            _this.setIndex(0);\n        }\n        return _this;\n    }\n    /**\n     * Set the index of the active signature.\n     *\n     * @param index  The index of the signature to activate.\n     */\n    Signature.prototype.setIndex = function (index) {\n        if (index < 0)\n            index = 0;\n        if (index > this.groups.length - 1)\n            index = this.groups.length - 1;\n        if (this.index == index)\n            return;\n        var to = this.groups[index];\n        if (this.index > -1) {\n            var from_1 = this.groups[this.index];\n            from_1.removeClass(\"current\").addClass(\"fade-out\");\n            to.addClass(\"current\");\n            to.addClass(\"fade-in\");\n            _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.triggerResize();\n            setTimeout(function () {\n                from_1.removeClass(\"fade-out\");\n                to.removeClass(\"fade-in\");\n            }, 300);\n        }\n        else {\n            to.addClass(\"current\");\n            _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.triggerResize();\n        }\n        this.index = index;\n    };\n    /**\n     * Find all signature/description groups.\n     */\n    Signature.prototype.createGroups = function () {\n        var signatures = this.el.children;\n        if (signatures.length < 2)\n            return;\n        this.container = this.el.nextElementSibling;\n        var descriptions = this.container.children;\n        this.groups = [];\n        for (var index = 0; index < signatures.length; index++) {\n            this.groups.push(new SignatureGroup(signatures[index], descriptions[index]));\n        }\n    };\n    /**\n     * Triggered when the user clicks onto a signature header.\n     *\n     * @param e  The related event object.\n     */\n    Signature.prototype.onClick = function (e) {\n        var _this = this;\n        this.groups.forEach(function (group, index) {\n            if (group.signature === e.currentTarget) {\n                _this.setIndex(index);\n            }\n        });\n    };\n    return Signature;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Signature.ts?");
+
+/***/ }),
+
+/***/ "./default/assets/js/src/typedoc/components/Toggle.ts":
+/*!************************************************************!*\
+  !*** ./default/assets/js/src/typedoc/components/Toggle.ts ***!
+  \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"Toggle\": () => /* binding */ Toggle\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _utils_pointer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/pointer */ \"./default/assets/js/src/typedoc/utils/pointer.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\n\nvar Toggle = /** @class */ (function (_super) {\n    __extends(Toggle, _super);\n    function Toggle(options) {\n        var _this = _super.call(this, options) || this;\n        _this.className = _this.el.dataset.toggle || \"\";\n        _this.el.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) { return _this.onPointerUp(e); });\n        _this.el.addEventListener(\"click\", function (e) { return e.preventDefault(); });\n        document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, function (e) {\n            return _this.onDocumentPointerDown(e);\n        });\n        document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) {\n            return _this.onDocumentPointerUp(e);\n        });\n        return _this;\n    }\n    Toggle.prototype.setActive = function (value) {\n        if (this.active == value)\n            return;\n        this.active = value;\n        document.documentElement.classList.toggle(\"has-\" + this.className, value);\n        this.el.classList.toggle(\"active\", value);\n        var transition = (this.active ? \"to-has-\" : \"from-has-\") + this.className;\n        document.documentElement.classList.add(transition);\n        setTimeout(function () { return document.documentElement.classList.remove(transition); }, 500);\n    };\n    Toggle.prototype.onPointerUp = function (event) {\n        if (_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.hasPointerMoved)\n            return;\n        this.setActive(true);\n        event.preventDefault();\n    };\n    Toggle.prototype.onDocumentPointerDown = function (e) {\n        if (this.active) {\n            if (e.target.closest(\".col-menu, .tsd-filter-group\")) {\n                return;\n            }\n            this.setActive(false);\n        }\n    };\n    Toggle.prototype.onDocumentPointerUp = function (e) {\n        var _this = this;\n        if (_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.hasPointerMoved)\n            return;\n        if (this.active) {\n            if (e.target.closest(\".col-menu\")) {\n                var link = e.target.closest(\"a\");\n                if (link) {\n                    var href = window.location.href;\n                    if (href.indexOf(\"#\") != -1) {\n                        href = href.substr(0, href.indexOf(\"#\"));\n                    }\n                    if (link.href.substr(0, href.length) == href) {\n                        setTimeout(function () { return _this.setActive(false); }, 250);\n                    }\n                }\n            }\n        }\n    };\n    return Toggle;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Toggle.ts?");
+
+/***/ }),
+
+/***/ "./default/assets/js/src/typedoc/services/Viewport.ts":
+/*!************************************************************!*\
+  !*** ./default/assets/js/src/typedoc/services/Viewport.ts ***!
+  \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"Viewport\": () => /* binding */ Viewport\n/* harmony export */ });\n/* harmony import */ var _EventTarget__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../EventTarget */ \"./default/assets/js/src/typedoc/EventTarget.ts\");\n/* harmony import */ var _utils_trottle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/trottle */ \"./default/assets/js/src/typedoc/utils/trottle.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\n\n/**\n * A global service that monitors the window size and scroll position.\n */\nvar Viewport = /** @class */ (function (_super) {\n    __extends(Viewport, _super);\n    /**\n     * Create new Viewport instance.\n     */\n    function Viewport() {\n        var _this = _super.call(this) || this;\n        /**\n         * The current scroll position.\n         */\n        _this.scrollTop = 0;\n        /**\n         * The previous scrollTop.\n         */\n        _this.lastY = 0;\n        /**\n         * The width of the window.\n         */\n        _this.width = 0;\n        /**\n         * The height of the window.\n         */\n        _this.height = 0;\n        /**\n         * Boolean indicating whether the toolbar is shown.\n         */\n        _this.showToolbar = true;\n        _this.toolbar = (document.querySelector(\".tsd-page-toolbar\"));\n        _this.secondaryNav = (document.querySelector(\".tsd-navigation.secondary\"));\n        window.addEventListener(\"scroll\", (0,_utils_trottle__WEBPACK_IMPORTED_MODULE_1__.throttle)(function () { return _this.onScroll(); }, 10));\n        window.addEventListener(\"resize\", (0,_utils_trottle__WEBPACK_IMPORTED_MODULE_1__.throttle)(function () { return _this.onResize(); }, 10));\n        _this.onResize();\n        _this.onScroll();\n        return _this;\n    }\n    /**\n     * Trigger a resize event.\n     */\n    Viewport.prototype.triggerResize = function () {\n        var event = new CustomEvent(\"resize\", {\n            detail: {\n                width: this.width,\n                height: this.height,\n            },\n        });\n        this.dispatchEvent(event);\n    };\n    /**\n     * Triggered when the size of the window has changed.\n     */\n    Viewport.prototype.onResize = function () {\n        this.width = window.innerWidth || 0;\n        this.height = window.innerHeight || 0;\n        var event = new CustomEvent(\"resize\", {\n            detail: {\n                width: this.width,\n                height: this.height,\n            },\n        });\n        this.dispatchEvent(event);\n    };\n    /**\n     * Triggered when the user scrolled the viewport.\n     */\n    Viewport.prototype.onScroll = function () {\n        this.scrollTop = window.scrollY || 0;\n        var event = new CustomEvent(\"scroll\", {\n            detail: {\n                scrollTop: this.scrollTop,\n            },\n        });\n        this.dispatchEvent(event);\n        this.hideShowToolbar();\n    };\n    /**\n     * Handle hiding/showing of the toolbar.\n     */\n    Viewport.prototype.hideShowToolbar = function () {\n        var isShown = this.showToolbar;\n        this.showToolbar = this.lastY >= this.scrollTop || this.scrollTop <= 0;\n        if (isShown !== this.showToolbar) {\n            this.toolbar.classList.toggle(\"tsd-page-toolbar--hide\");\n            this.secondaryNav.classList.toggle(\"tsd-navigation--toolbar-hide\");\n        }\n        this.lastY = this.scrollTop;\n    };\n    Viewport.instance = new Viewport();\n    return Viewport;\n}(_EventTarget__WEBPACK_IMPORTED_MODULE_0__.EventTarget));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/services/Viewport.ts?");
+
+/***/ }),
+
+/***/ "./default/assets/js/src/typedoc/utils/debounce.ts":
+/*!*********************************************************!*\
+  !*** ./default/assets/js/src/typedoc/utils/debounce.ts ***!
+  \*********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"debounce\": () => /* binding */ debounce\n/* harmony export */ });\nvar debounce = function (fn, wait) {\n    if (wait === void 0) { wait = 100; }\n    var timeout;\n    return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        clearTimeout(timeout);\n        timeout = setTimeout(function () { return fn(args); }, wait);\n    };\n};\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/debounce.ts?");
+
+/***/ }),
+
+/***/ "./default/assets/js/src/typedoc/utils/pointer.ts":
+/*!********************************************************!*\
+  !*** ./default/assets/js/src/typedoc/utils/pointer.ts ***!
+  \********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"pointerDown\": () => /* binding */ pointerDown,\n/* harmony export */   \"pointerMove\": () => /* binding */ pointerMove,\n/* harmony export */   \"pointerUp\": () => /* binding */ pointerUp,\n/* harmony export */   \"pointerDownPosition\": () => /* binding */ pointerDownPosition,\n/* harmony export */   \"preventNextClick\": () => /* binding */ preventNextClick,\n/* harmony export */   \"isPointerDown\": () => /* binding */ isPointerDown,\n/* harmony export */   \"isPointerTouch\": () => /* binding */ isPointerTouch,\n/* harmony export */   \"hasPointerMoved\": () => /* binding */ hasPointerMoved,\n/* harmony export */   \"isMobile\": () => /* binding */ isMobile\n/* harmony export */ });\n/**\n * Event name of the pointer down event.\n */\nvar pointerDown = \"mousedown\";\n/**\n * Event name of the pointer move event.\n */\nvar pointerMove = \"mousemove\";\n/**\n * Event name of the pointer up event.\n */\nvar pointerUp = \"mouseup\";\n/**\n * Position the pointer was pressed at.\n */\nvar pointerDownPosition = { x: 0, y: 0 };\n/**\n * Should the next click on the document be supressed?\n */\nvar preventNextClick = false;\n/**\n * Is the pointer down?\n */\nvar isPointerDown = false;\n/**\n * Is the pointer a touch point?\n */\nvar isPointerTouch = false;\n/**\n * Did the pointer move since the last down event?\n */\nvar hasPointerMoved = false;\n/**\n * Is the user agent a mobile agent?\n */\nvar isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\ndocument.documentElement.classList.add(isMobile ? \"is-mobile\" : \"not-mobile\");\nif (isMobile && \"ontouchstart\" in document.documentElement) {\n    isPointerTouch = true;\n    pointerDown = \"touchstart\";\n    pointerMove = \"touchmove\";\n    pointerUp = \"touchend\";\n}\ndocument.addEventListener(pointerDown, function (e) {\n    isPointerDown = true;\n    hasPointerMoved = false;\n    var t = pointerDown == \"touchstart\"\n        ? e.targetTouches[0]\n        : e;\n    pointerDownPosition.y = t.pageY || 0;\n    pointerDownPosition.x = t.pageX || 0;\n});\ndocument.addEventListener(pointerMove, function (e) {\n    if (!isPointerDown)\n        return;\n    if (!hasPointerMoved) {\n        var t = pointerDown == \"touchstart\"\n            ? e.targetTouches[0]\n            : e;\n        var x = pointerDownPosition.x - (t.pageX || 0);\n        var y = pointerDownPosition.y - (t.pageY || 0);\n        hasPointerMoved = Math.sqrt(x * x + y * y) > 10;\n    }\n});\ndocument.addEventListener(pointerUp, function () {\n    isPointerDown = false;\n});\ndocument.addEventListener(\"click\", function (e) {\n    if (preventNextClick) {\n        e.preventDefault();\n        e.stopImmediatePropagation();\n        preventNextClick = false;\n    }\n});\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/pointer.ts?");
+
+/***/ }),
+
+/***/ "./default/assets/js/src/typedoc/utils/trottle.ts":
+/*!********************************************************!*\
+  !*** ./default/assets/js/src/typedoc/utils/trottle.ts ***!
+  \********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"throttle\": () => /* binding */ throttle\n/* harmony export */ });\nvar throttle = function (fn, wait) {\n    if (wait === void 0) { wait = 100; }\n    var time = Date.now();\n    return function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        if (time + wait - Date.now() < 0) {\n            fn.apply(void 0, args);\n            time = Date.now();\n        }\n    };\n};\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/trottle.ts?");
+
+/***/ })
+
+/******/ 	});
+/************************************************************************/
+/******/ 	// The module cache
+/******/ 	var __webpack_module_cache__ = {};
+/******/ 	
+/******/ 	// The require function
+/******/ 	function __webpack_require__(moduleId) {
+/******/ 		// Check if module is in cache
+/******/ 		if(__webpack_module_cache__[moduleId]) {
+/******/ 			return __webpack_module_cache__[moduleId].exports;
+/******/ 		}
+/******/ 		// Create a new module (and put it into the cache)
+/******/ 		var module = __webpack_module_cache__[moduleId] = {
+/******/ 			// no module.id needed
+/******/ 			// no module.loaded needed
+/******/ 			exports: {}
+/******/ 		};
+/******/ 	
+/******/ 		// Execute the module function
+/******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
+/******/ 	
+/******/ 		// Return the exports of the module
+/******/ 		return module.exports;
+/******/ 	}
+/******/ 	
+/************************************************************************/
+/******/ 	/* webpack/runtime/compat get default export */
+/******/ 	(() => {
+/******/ 		// getDefaultExport function for compatibility with non-harmony modules
+/******/ 		__webpack_require__.n = (module) => {
+/******/ 			var getter = module && module.__esModule ?
+/******/ 				() => module['default'] :
+/******/ 				() => module;
+/******/ 			__webpack_require__.d(getter, { a: getter });
+/******/ 			return getter;
+/******/ 		};
+/******/ 	})();
+/******/ 	
+/******/ 	/* webpack/runtime/define property getters */
+/******/ 	(() => {
+/******/ 		// define getter functions for harmony exports
+/******/ 		__webpack_require__.d = (exports, definition) => {
+/******/ 			for(var key in definition) {
+/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
+/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
+/******/ 				}
+/******/ 			}
+/******/ 		};
+/******/ 	})();
+/******/ 	
+/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
+/******/ 	(() => {
+/******/ 		__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)
+/******/ 	})();
+/******/ 	
+/******/ 	/* webpack/runtime/make namespace object */
+/******/ 	(() => {
+/******/ 		// define __esModule on exports
+/******/ 		__webpack_require__.r = (exports) => {
+/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ 			}
+/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
+/******/ 		};
+/******/ 	})();
+/******/ 	
+/************************************************************************/
+/******/ 	// startup
+/******/ 	// Load entry module
+/******/ 	__webpack_require__("./default/assets/js/src/bootstrap.ts");
+/******/ 	// This entry module used 'exports' so it can't be inlined
+/******/ })()
+;
\ No newline at end of file
diff --git a/public/assets/js/search.js b/public/assets/js/search.js
new file mode 100644
index 0000000000000000000000000000000000000000..24fb4ebff977ba16d1994f37e6dae9c766f51c22
--- /dev/null
+++ b/public/assets/js/search.js
@@ -0,0 +1 @@
+window.searchData = {"kinds":{"1":"Module","32":"Variable","64":"Function","256":"Interface","1024":"Property","65536":"Type literal","4194304":"Type alias"},"rows":[{"id":0,"kind":1,"name":"commands/add","url":"modules/commands_add.html","classes":"tsd-kind-module"},{"id":1,"kind":1024,"name":"default","url":"modules/commands_add.html#default","classes":"tsd-kind-property tsd-parent-kind-module","parent":"commands/add"},{"id":2,"kind":65536,"name":"__type","url":"modules/commands_add.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-module","parent":"commands/add"},{"id":3,"kind":1024,"name":"decode","url":"modules/commands_add.html#__type.decode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/add.__type"},{"id":4,"kind":1024,"name":"encode","url":"modules/commands_add.html#__type.encode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/add.__type"},{"id":5,"kind":1,"name":"commands/del","url":"modules/commands_del.html","classes":"tsd-kind-module"},{"id":6,"kind":1024,"name":"default","url":"modules/commands_del.html#default","classes":"tsd-kind-property tsd-parent-kind-module","parent":"commands/del"},{"id":7,"kind":65536,"name":"__type","url":"modules/commands_del.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-module","parent":"commands/del"},{"id":8,"kind":1024,"name":"decode","url":"modules/commands_del.html#__type.decode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/del.__type"},{"id":9,"kind":1024,"name":"encode","url":"modules/commands_del.html#__type.encode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/del.__type"},{"id":10,"kind":1,"name":"commands/get","url":"modules/commands_get.html","classes":"tsd-kind-module"},{"id":11,"kind":1024,"name":"default","url":"modules/commands_get.html#default","classes":"tsd-kind-property tsd-parent-kind-module","parent":"commands/get"},{"id":12,"kind":65536,"name":"__type","url":"modules/commands_get.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-module","parent":"commands/get"},{"id":13,"kind":1024,"name":"decode","url":"modules/commands_get.html#__type.decode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/get.__type"},{"id":14,"kind":1024,"name":"encode","url":"modules/commands_get.html#__type.encode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/get.__type"},{"id":15,"kind":1,"name":"commands","url":"modules/commands.html","classes":"tsd-kind-module"},{"id":16,"kind":32,"name":"rootRecord","url":"modules/commands.html#rootrecord","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"commands"},{"id":17,"kind":32,"name":"rootMsg","url":"modules/commands.html#rootmsg","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"commands"},{"id":18,"kind":32,"name":"header","url":"modules/commands.html#header","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"commands"},{"id":19,"kind":64,"name":"makeRecipes","url":"modules/commands.html#makerecipes","classes":"tsd-kind-function tsd-parent-kind-module","parent":"commands"},{"id":20,"kind":64,"name":"decodeId","url":"modules/commands.html#decodeid","classes":"tsd-kind-function tsd-parent-kind-module","parent":"commands"},{"id":21,"kind":64,"name":"readMsg","url":"modules/commands.html#readmsg","classes":"tsd-kind-function tsd-parent-kind-module","parent":"commands"},{"id":22,"kind":64,"name":"decode","url":"modules/commands.html#decode","classes":"tsd-kind-function tsd-parent-kind-module","parent":"commands"},{"id":23,"kind":64,"name":"makeEncode","url":"modules/commands.html#makeencode","classes":"tsd-kind-function tsd-parent-kind-module","parent":"commands"},{"id":24,"kind":1,"name":"commands/instances","url":"modules/commands_instances.html","classes":"tsd-kind-module"},{"id":25,"kind":1024,"name":"default","url":"modules/commands_instances.html#default","classes":"tsd-kind-property tsd-parent-kind-module","parent":"commands/instances"},{"id":26,"kind":65536,"name":"__type","url":"modules/commands_instances.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-module","parent":"commands/instances"},{"id":27,"kind":1024,"name":"decode","url":"modules/commands_instances.html#__type.decode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/instances.__type"},{"id":28,"kind":1024,"name":"encode","url":"modules/commands_instances.html#__type.encode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/instances.__type"},{"id":29,"kind":1,"name":"commands/notify","url":"modules/commands_notify.html","classes":"tsd-kind-module"},{"id":30,"kind":1024,"name":"default","url":"modules/commands_notify.html#default","classes":"tsd-kind-property tsd-parent-kind-module","parent":"commands/notify"},{"id":31,"kind":65536,"name":"__type","url":"modules/commands_notify.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-module","parent":"commands/notify"},{"id":32,"kind":1024,"name":"decode","url":"modules/commands_notify.html#__type.decode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/notify.__type"},{"id":33,"kind":1024,"name":"encode","url":"modules/commands_notify.html#__type.encode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/notify.__type"},{"id":34,"kind":1024,"name":"make","url":"modules/commands_notify.html#__type.make","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/notify.__type"},{"id":35,"kind":1024,"name":"name","url":"modules/commands_notify.html#__type.name","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/notify.__type"},{"id":36,"kind":1024,"name":"trigger","url":"modules/commands_notify.html#__type.trigger","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/notify.__type"},{"id":37,"kind":65536,"name":"__type","url":"modules/commands_notify.html#__type.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"commands/notify.__type"},{"id":38,"kind":1024,"name":"encode","url":"modules/commands_notify.html#__type.__type-1.encode-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/notify.__type.__type"},{"id":39,"kind":1024,"name":"decode","url":"modules/commands_notify.html#__type.__type-1.decode-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/notify.__type.__type"},{"id":40,"kind":1,"name":"commands/operate","url":"modules/commands_operate.html","classes":"tsd-kind-module"},{"id":41,"kind":1024,"name":"default","url":"modules/commands_operate.html#default","classes":"tsd-kind-property tsd-parent-kind-module","parent":"commands/operate"},{"id":42,"kind":65536,"name":"__type","url":"modules/commands_operate.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-module","parent":"commands/operate"},{"id":43,"kind":1024,"name":"decode","url":"modules/commands_operate.html#__type.decode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/operate.__type"},{"id":44,"kind":1024,"name":"encode","url":"modules/commands_operate.html#__type.encode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/operate.__type"},{"id":45,"kind":1,"name":"commands/proto","url":"modules/commands_proto.html","classes":"tsd-kind-module"},{"id":46,"kind":1024,"name":"default","url":"modules/commands_proto.html#default","classes":"tsd-kind-property tsd-parent-kind-module","parent":"commands/proto"},{"id":47,"kind":65536,"name":"__type","url":"modules/commands_proto.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-module","parent":"commands/proto"},{"id":48,"kind":1024,"name":"decode","url":"modules/commands_proto.html#__type.decode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/proto.__type"},{"id":49,"kind":1024,"name":"encode","url":"modules/commands_proto.html#__type.encode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/proto.__type"},{"id":50,"kind":1,"name":"commands/recipes/operate","url":"modules/commands_recipes_operate.html","classes":"tsd-kind-module"},{"id":51,"kind":1024,"name":"default","url":"modules/commands_recipes_operate.html#default","classes":"tsd-kind-property tsd-parent-kind-module","parent":"commands/recipes/operate"},{"id":52,"kind":65536,"name":"__type","url":"modules/commands_recipes_operate.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-module","parent":"commands/recipes/operate"},{"id":53,"kind":1024,"name":"name","url":"modules/commands_recipes_operate.html#__type.name","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/recipes/operate.__type"},{"id":54,"kind":1024,"name":"make","url":"modules/commands_recipes_operate.html#__type.make","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/recipes/operate.__type"},{"id":55,"kind":1,"name":"commands/recipes/resolve","url":"modules/commands_recipes_resolve.html","classes":"tsd-kind-module"},{"id":56,"kind":1024,"name":"default","url":"modules/commands_recipes_resolve.html#default","classes":"tsd-kind-property tsd-parent-kind-module","parent":"commands/recipes/resolve"},{"id":57,"kind":65536,"name":"__type","url":"modules/commands_recipes_resolve.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-module","parent":"commands/recipes/resolve"},{"id":58,"kind":1024,"name":"name","url":"modules/commands_recipes_resolve.html#__type.name","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/recipes/resolve.__type"},{"id":59,"kind":1024,"name":"make","url":"modules/commands_recipes_resolve.html#__type.make","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/recipes/resolve.__type"},{"id":60,"kind":1,"name":"commands/recipes/subscribe","url":"modules/commands_recipes_subscribe.html","classes":"tsd-kind-module"},{"id":61,"kind":1024,"name":"default","url":"modules/commands_recipes_subscribe.html#default","classes":"tsd-kind-property tsd-parent-kind-module","parent":"commands/recipes/subscribe"},{"id":62,"kind":65536,"name":"__type","url":"modules/commands_recipes_subscribe.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-module","parent":"commands/recipes/subscribe"},{"id":63,"kind":1024,"name":"name","url":"modules/commands_recipes_subscribe.html#__type.name","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/recipes/subscribe.__type"},{"id":64,"kind":1024,"name":"make","url":"modules/commands_recipes_subscribe.html#__type.make","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/recipes/subscribe.__type"},{"id":65,"kind":1,"name":"commands/set","url":"modules/commands_set.html","classes":"tsd-kind-module"},{"id":66,"kind":1024,"name":"default","url":"modules/commands_set.html#default","classes":"tsd-kind-property tsd-parent-kind-module","parent":"commands/set"},{"id":67,"kind":65536,"name":"__type","url":"modules/commands_set.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-module","parent":"commands/set"},{"id":68,"kind":1024,"name":"decode","url":"modules/commands_set.html#__type.decode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/set.__type"},{"id":69,"kind":1024,"name":"encode","url":"modules/commands_set.html#__type.encode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/set.__type"},{"id":70,"kind":1,"name":"commands/supported","url":"modules/commands_supported.html","classes":"tsd-kind-module"},{"id":71,"kind":1024,"name":"default","url":"modules/commands_supported.html#default","classes":"tsd-kind-property tsd-parent-kind-module","parent":"commands/supported"},{"id":72,"kind":65536,"name":"__type","url":"modules/commands_supported.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-module","parent":"commands/supported"},{"id":73,"kind":1024,"name":"decode","url":"modules/commands_supported.html#__type.decode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/supported.__type"},{"id":74,"kind":1024,"name":"encode","url":"modules/commands_supported.html#__type.encode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"commands/supported.__type"},{"id":75,"kind":1,"name":"commands/util","url":"modules/commands_util.html","classes":"tsd-kind-module"},{"id":76,"kind":64,"name":"makeBuffer","url":"modules/commands_util.html#makebuffer","classes":"tsd-kind-function tsd-parent-kind-module","parent":"commands/util"},{"id":77,"kind":64,"name":"unflatten","url":"modules/commands_util.html#unflatten","classes":"tsd-kind-function tsd-parent-kind-module","parent":"commands/util"},{"id":78,"kind":64,"name":"search","url":"modules/commands_util.html#search","classes":"tsd-kind-function tsd-parent-kind-module","parent":"commands/util"},{"id":79,"kind":64,"name":"searchParent","url":"modules/commands_util.html#searchparent","classes":"tsd-kind-function tsd-parent-kind-module","parent":"commands/util"},{"id":80,"kind":64,"name":"searchAll","url":"modules/commands_util.html#searchall","classes":"tsd-kind-function tsd-parent-kind-module","parent":"commands/util"},{"id":81,"kind":64,"name":"extractCommand","url":"modules/commands_util.html#extractcommand","classes":"tsd-kind-function tsd-parent-kind-module","parent":"commands/util"},{"id":82,"kind":64,"name":"unwrapObject","url":"modules/commands_util.html#unwrapobject","classes":"tsd-kind-function tsd-parent-kind-module","parent":"commands/util"},{"id":83,"kind":64,"name":"unwrapArray","url":"modules/commands_util.html#unwraparray","classes":"tsd-kind-function tsd-parent-kind-module","parent":"commands/util"},{"id":84,"kind":64,"name":"uniq","url":"modules/commands_util.html#uniq","classes":"tsd-kind-function tsd-parent-kind-module","parent":"commands/util"},{"id":85,"kind":1,"name":"index","url":"modules/index.html","classes":"tsd-kind-module"},{"id":86,"kind":64,"name":"default","url":"modules/index.html#default","classes":"tsd-kind-function tsd-parent-kind-module","parent":"index"},{"id":87,"kind":1,"name":"testy","url":"modules/testy.html","classes":"tsd-kind-module"},{"id":88,"kind":1,"name":"types","url":"modules/types.html","classes":"tsd-kind-module"},{"id":89,"kind":4194304,"name":"CommandType","url":"modules/types.html#commandtype","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":90,"kind":4194304,"name":"GetReturn","url":"modules/types.html#getreturn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":91,"kind":4194304,"name":"GetCommand","url":"modules/types.html#getcommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":92,"kind":65536,"name":"__type","url":"modules/types.html#getcommand.__type-10","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.GetCommand"},{"id":93,"kind":4194304,"name":"SetCommand","url":"modules/types.html#setcommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":94,"kind":65536,"name":"__type","url":"modules/types.html#setcommand.__type-37","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.SetCommand"},{"id":95,"kind":4194304,"name":"AddCommand","url":"modules/types.html#addcommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":96,"kind":65536,"name":"__type","url":"modules/types.html#addcommand.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.AddCommand"},{"id":97,"kind":4194304,"name":"DelCommand","url":"modules/types.html#delcommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":98,"kind":65536,"name":"__type","url":"modules/types.html#delcommand.__type-7","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.DelCommand"},{"id":99,"kind":4194304,"name":"OperateFn","url":"modules/types.html#operatefn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":100,"kind":65536,"name":"__type","url":"modules/types.html#operatefn.__type-17","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.OperateFn"},{"id":101,"kind":4194304,"name":"OperateClearFn","url":"modules/types.html#operateclearfn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":102,"kind":65536,"name":"__type","url":"modules/types.html#operateclearfn.__type-15","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.OperateClearFn"},{"id":103,"kind":4194304,"name":"OperateRecipe","url":"modules/types.html#operaterecipe","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":104,"kind":65536,"name":"__type","url":"modules/types.html#operaterecipe.__type-18","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.OperateRecipe"},{"id":105,"kind":4194304,"name":"OperateCommand","url":"modules/types.html#operatecommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":106,"kind":65536,"name":"__type","url":"modules/types.html#operatecommand.__type-16","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.OperateCommand"},{"id":107,"kind":4194304,"name":"SupportedDMCommand","url":"modules/types.html#supporteddmcommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":108,"kind":65536,"name":"__type","url":"modules/types.html#supporteddmcommand.__type-40","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.SupportedDMCommand"},{"id":109,"kind":4194304,"name":"InstancesCommand","url":"modules/types.html#instancescommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":110,"kind":65536,"name":"__type","url":"modules/types.html#instancescommand.__type-11","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.InstancesCommand"},{"id":111,"kind":4194304,"name":"SupportedProtoCommand","url":"modules/types.html#supportedprotocommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":112,"kind":65536,"name":"__type","url":"modules/types.html#supportedprotocommand.__type-41","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.SupportedProtoCommand"},{"id":113,"kind":4194304,"name":"SubscribeRecipe","url":"modules/types.html#subscriberecipe","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":114,"kind":65536,"name":"__type","url":"modules/types.html#subscriberecipe.__type-38","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.SubscribeRecipe"},{"id":115,"kind":4194304,"name":"PromiseClearFn","url":"modules/types.html#promiseclearfn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":116,"kind":65536,"name":"__type","url":"modules/types.html#promiseclearfn.__type-35","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.PromiseClearFn"},{"id":117,"kind":4194304,"name":"Command","url":"modules/types.html#command","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":118,"kind":4194304,"name":"PbRequestCommand","url":"modules/types.html#pbrequestcommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":119,"kind":256,"name":"SuportedCommandOpts","url":"interfaces/types.suportedcommandopts.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"types"},{"id":120,"kind":1024,"name":"firstLevelOnly","url":"interfaces/types.suportedcommandopts.html#firstlevelonly","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.SuportedCommandOpts"},{"id":121,"kind":1024,"name":"returnCommands","url":"interfaces/types.suportedcommandopts.html#returncommands","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.SuportedCommandOpts"},{"id":122,"kind":1024,"name":"returnEvents","url":"interfaces/types.suportedcommandopts.html#returnevents","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.SuportedCommandOpts"},{"id":123,"kind":1024,"name":"returnParams","url":"interfaces/types.suportedcommandopts.html#returnparams","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.SuportedCommandOpts"},{"id":124,"kind":4194304,"name":"InputRecord","url":"modules/types.html#inputrecord","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":125,"kind":4194304,"name":"PbRequestCommandSupportProto","url":"modules/types.html#pbrequestcommandsupportproto","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":126,"kind":65536,"name":"__type","url":"modules/types.html#pbrequestcommandsupportproto.__type-33","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.PbRequestCommandSupportProto"},{"id":127,"kind":1024,"name":"getSupportedProtocol","url":"modules/types.html#pbrequestcommandsupportproto.__type-33.getsupportedprotocol","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandSupportProto.__type"},{"id":128,"kind":65536,"name":"__type","url":"modules/types.html#pbrequestcommandsupportproto.__type-33.__type-34","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"types.PbRequestCommandSupportProto.__type"},{"id":129,"kind":1024,"name":"controllerSupportedProtocolVersions","url":"modules/types.html#pbrequestcommandsupportproto.__type-33.__type-34.controllersupportedprotocolversions","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandSupportProto.__type.__type"},{"id":130,"kind":4194304,"name":"PbRequestCommandInstance","url":"modules/types.html#pbrequestcommandinstance","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":131,"kind":65536,"name":"__type","url":"modules/types.html#pbrequestcommandinstance.__type-25","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.PbRequestCommandInstance"},{"id":132,"kind":1024,"name":"getInstances","url":"modules/types.html#pbrequestcommandinstance.__type-25.getinstances","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandInstance.__type"},{"id":133,"kind":65536,"name":"__type","url":"modules/types.html#pbrequestcommandinstance.__type-25.__type-26","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"types.PbRequestCommandInstance.__type"},{"id":134,"kind":1024,"name":"objPaths","url":"modules/types.html#pbrequestcommandinstance.__type-25.__type-26.objpaths-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandInstance.__type.__type"},{"id":135,"kind":1024,"name":"firstLevelOnly","url":"modules/types.html#pbrequestcommandinstance.__type-25.__type-26.firstlevelonly","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandInstance.__type.__type"},{"id":136,"kind":4194304,"name":"PbRequestCommandSupport","url":"modules/types.html#pbrequestcommandsupport","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":137,"kind":65536,"name":"__type","url":"modules/types.html#pbrequestcommandsupport.__type-31","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.PbRequestCommandSupport"},{"id":138,"kind":1024,"name":"getSupportedDm","url":"modules/types.html#pbrequestcommandsupport.__type-31.getsupporteddm","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandSupport.__type"},{"id":139,"kind":65536,"name":"__type","url":"modules/types.html#pbrequestcommandsupport.__type-31.__type-32","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"types.PbRequestCommandSupport.__type"},{"id":140,"kind":1024,"name":"objPaths","url":"modules/types.html#pbrequestcommandsupport.__type-31.__type-32.objpaths-2","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandSupport.__type.__type"},{"id":141,"kind":1024,"name":"firstLevelOnly","url":"modules/types.html#pbrequestcommandsupport.__type-31.__type-32.firstlevelonly-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandSupport.__type.__type"},{"id":142,"kind":1024,"name":"returnCommands","url":"modules/types.html#pbrequestcommandsupport.__type-31.__type-32.returncommands","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandSupport.__type.__type"},{"id":143,"kind":1024,"name":"returnEvents","url":"modules/types.html#pbrequestcommandsupport.__type-31.__type-32.returnevents","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandSupport.__type.__type"},{"id":144,"kind":1024,"name":"returnParams","url":"modules/types.html#pbrequestcommandsupport.__type-31.__type-32.returnparams","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandSupport.__type.__type"},{"id":145,"kind":4194304,"name":"PbRequestCommandOperate","url":"modules/types.html#pbrequestcommandoperate","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":146,"kind":65536,"name":"__type","url":"modules/types.html#pbrequestcommandoperate.__type-27","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.PbRequestCommandOperate"},{"id":147,"kind":1024,"name":"operate","url":"modules/types.html#pbrequestcommandoperate.__type-27.operate","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandOperate.__type"},{"id":148,"kind":65536,"name":"__type","url":"modules/types.html#pbrequestcommandoperate.__type-27.__type-28","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"types.PbRequestCommandOperate.__type"},{"id":149,"kind":1024,"name":"command","url":"modules/types.html#pbrequestcommandoperate.__type-27.__type-28.command-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandOperate.__type.__type"},{"id":150,"kind":1024,"name":"commandKey","url":"modules/types.html#pbrequestcommandoperate.__type-27.__type-28.commandkey","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandOperate.__type.__type"},{"id":151,"kind":1024,"name":"sendResp","url":"modules/types.html#pbrequestcommandoperate.__type-27.__type-28.sendresp","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandOperate.__type.__type"},{"id":152,"kind":1024,"name":"inputArgs","url":"modules/types.html#pbrequestcommandoperate.__type-27.__type-28.inputargs","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandOperate.__type.__type"},{"id":153,"kind":4194304,"name":"PbRequestCommandDel","url":"modules/types.html#pbrequestcommanddel","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":154,"kind":65536,"name":"__type","url":"modules/types.html#pbrequestcommanddel.__type-21","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.PbRequestCommandDel"},{"id":155,"kind":1024,"name":"delete","url":"modules/types.html#pbrequestcommanddel.__type-21.delete","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandDel.__type"},{"id":156,"kind":65536,"name":"__type","url":"modules/types.html#pbrequestcommanddel.__type-21.__type-22","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"types.PbRequestCommandDel.__type"},{"id":157,"kind":1024,"name":"allowPartial","url":"modules/types.html#pbrequestcommanddel.__type-21.__type-22.allowpartial-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandDel.__type.__type"},{"id":158,"kind":1024,"name":"objPaths","url":"modules/types.html#pbrequestcommanddel.__type-21.__type-22.objpaths","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandDel.__type.__type"},{"id":159,"kind":4194304,"name":"PbRequestCommandGet","url":"modules/types.html#pbrequestcommandget","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":160,"kind":65536,"name":"__type","url":"modules/types.html#pbrequestcommandget.__type-23","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.PbRequestCommandGet"},{"id":161,"kind":1024,"name":"get","url":"modules/types.html#pbrequestcommandget.__type-23.get","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandGet.__type"},{"id":162,"kind":65536,"name":"__type","url":"modules/types.html#pbrequestcommandget.__type-23.__type-24","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"types.PbRequestCommandGet.__type"},{"id":163,"kind":1024,"name":"paramPaths","url":"modules/types.html#pbrequestcommandget.__type-23.__type-24.parampaths","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandGet.__type.__type"},{"id":164,"kind":4194304,"name":"PbRequestCommandSet","url":"modules/types.html#pbrequestcommandset","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":165,"kind":65536,"name":"__type","url":"modules/types.html#pbrequestcommandset.__type-29","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.PbRequestCommandSet"},{"id":166,"kind":1024,"name":"set","url":"modules/types.html#pbrequestcommandset.__type-29.set","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandSet.__type"},{"id":167,"kind":65536,"name":"__type","url":"modules/types.html#pbrequestcommandset.__type-29.__type-30","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"types.PbRequestCommandSet.__type"},{"id":168,"kind":1024,"name":"allowPartial","url":"modules/types.html#pbrequestcommandset.__type-29.__type-30.allowpartial-2","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandSet.__type.__type"},{"id":169,"kind":1024,"name":"updateObjs","url":"modules/types.html#pbrequestcommandset.__type-29.__type-30.updateobjs","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandSet.__type.__type"},{"id":170,"kind":4194304,"name":"PbRequestCommandAdd","url":"modules/types.html#pbrequestcommandadd","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":171,"kind":65536,"name":"__type","url":"modules/types.html#pbrequestcommandadd.__type-19","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.PbRequestCommandAdd"},{"id":172,"kind":1024,"name":"add","url":"modules/types.html#pbrequestcommandadd.__type-19.add","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandAdd.__type"},{"id":173,"kind":65536,"name":"__type","url":"modules/types.html#pbrequestcommandadd.__type-19.__type-20","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"types.PbRequestCommandAdd.__type"},{"id":174,"kind":1024,"name":"allowPartial","url":"modules/types.html#pbrequestcommandadd.__type-19.__type-20.allowpartial","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandAdd.__type.__type"},{"id":175,"kind":1024,"name":"createObjs","url":"modules/types.html#pbrequestcommandadd.__type-19.__type-20.createobjs","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.PbRequestCommandAdd.__type.__type"},{"id":176,"kind":4194304,"name":"Recipe","url":"modules/types.html#recipe","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":177,"kind":4194304,"name":"ResolveRecipe","url":"modules/types.html#resolverecipe","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":178,"kind":65536,"name":"__type","url":"modules/types.html#resolverecipe.__type-36","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.ResolveRecipe"},{"id":179,"kind":256,"name":"USP","url":"interfaces/types.usp.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"types"},{"id":180,"kind":1024,"name":"get","url":"interfaces/types.usp.html#get","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.USP"},{"id":181,"kind":1024,"name":"set","url":"interfaces/types.usp.html#set","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.USP"},{"id":182,"kind":1024,"name":"operate","url":"interfaces/types.usp.html#operate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.USP"},{"id":183,"kind":1024,"name":"_operate","url":"interfaces/types.usp.html#_operate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.USP"},{"id":184,"kind":1024,"name":"add","url":"interfaces/types.usp.html#add","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.USP"},{"id":185,"kind":1024,"name":"del","url":"interfaces/types.usp.html#del","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.USP"},{"id":186,"kind":1024,"name":"resolve","url":"interfaces/types.usp.html#resolve","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.USP"},{"id":187,"kind":1024,"name":"supportedDM","url":"interfaces/types.usp.html#supporteddm","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.USP"},{"id":188,"kind":1024,"name":"supportedProto","url":"interfaces/types.usp.html#supportedproto","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.USP"},{"id":189,"kind":1024,"name":"instances","url":"interfaces/types.usp.html#instances","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.USP"},{"id":190,"kind":1024,"name":"subscribe","url":"interfaces/types.usp.html#subscribe","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.USP"},{"id":191,"kind":1024,"name":"on","url":"interfaces/types.usp.html#on","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.USP"},{"id":192,"kind":1024,"name":"disconnect","url":"interfaces/types.usp.html#disconnect","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.USP"},{"id":193,"kind":65536,"name":"__type","url":"interfaces/types.usp.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"types.USP"},{"id":194,"kind":4194304,"name":"Connect","url":"modules/types.html#connect","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":195,"kind":65536,"name":"__type","url":"modules/types.html#connect.__type-5","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.Connect"},{"id":196,"kind":256,"name":"SubscriptionOptions","url":"interfaces/types.subscriptionoptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"types"},{"id":197,"kind":1024,"name":"id","url":"interfaces/types.subscriptionoptions.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.SubscriptionOptions"},{"id":198,"kind":1024,"name":"notif","url":"interfaces/types.subscriptionoptions.html#notif","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.SubscriptionOptions"},{"id":199,"kind":1024,"name":"reference","url":"interfaces/types.subscriptionoptions.html#reference","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.SubscriptionOptions"},{"id":200,"kind":4194304,"name":"SubscriptionCallback","url":"modules/types.html#subscriptioncallback","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":201,"kind":65536,"name":"__type","url":"modules/types.html#subscriptioncallback.__type-39","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.SubscriptionCallback"},{"id":202,"kind":256,"name":"OperateOptions","url":"interfaces/types.operateoptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"types"},{"id":203,"kind":1024,"name":"ID","url":"interfaces/types.operateoptions.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.OperateOptions"},{"id":204,"kind":1024,"name":"Persistent","url":"interfaces/types.operateoptions.html#persistent","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.OperateOptions"},{"id":205,"kind":256,"name":"PbRequestHeader","url":"interfaces/types.pbrequestheader.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"types"},{"id":206,"kind":1024,"name":"msgId","url":"interfaces/types.pbrequestheader.html#msgid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.PbRequestHeader"},{"id":207,"kind":1024,"name":"msgType","url":"interfaces/types.pbrequestheader.html#msgtype","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.PbRequestHeader"},{"id":208,"kind":1024,"name":"lookup","url":"interfaces/types.pbrequestheader.html#lookup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.PbRequestHeader"},{"id":209,"kind":256,"name":"PbRequestBody","url":"interfaces/types.pbrequestbody.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"types"},{"id":210,"kind":1024,"name":"lookup","url":"interfaces/types.pbrequestbody.html#lookup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.PbRequestBody"},{"id":211,"kind":1024,"name":"request","url":"interfaces/types.pbrequestbody.html#request","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.PbRequestBody"},{"id":212,"kind":256,"name":"PbRequestMessage","url":"interfaces/types.pbrequestmessage.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"types"},{"id":213,"kind":1024,"name":"header","url":"interfaces/types.pbrequestmessage.html#header","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.PbRequestMessage"},{"id":214,"kind":1024,"name":"body","url":"interfaces/types.pbrequestmessage.html#body","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.PbRequestMessage"},{"id":215,"kind":1024,"name":"lookup","url":"interfaces/types.pbrequestmessage.html#lookup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.PbRequestMessage"},{"id":216,"kind":4194304,"name":"URLConnectionOptions","url":"modules/types.html#urlconnectionoptions","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":217,"kind":4194304,"name":"HostConnectionOptions","url":"modules/types.html#hostconnectionoptions","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":218,"kind":4194304,"name":"CertType","url":"modules/types.html#certtype","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":219,"kind":256,"name":"OtherConnectionOptions","url":"interfaces/types.otherconnectionoptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"types"},{"id":220,"kind":1024,"name":"username","url":"interfaces/types.otherconnectionoptions.html#username","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.OtherConnectionOptions"},{"id":221,"kind":1024,"name":"password","url":"interfaces/types.otherconnectionoptions.html#password","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.OtherConnectionOptions"},{"id":222,"kind":1024,"name":"fromId","url":"interfaces/types.otherconnectionoptions.html#fromid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.OtherConnectionOptions"},{"id":223,"kind":1024,"name":"toId","url":"interfaces/types.otherconnectionoptions.html#toid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.OtherConnectionOptions"},{"id":224,"kind":1024,"name":"idEndpoint","url":"interfaces/types.otherconnectionoptions.html#idendpoint","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.OtherConnectionOptions"},{"id":225,"kind":1024,"name":"publishEndpoint","url":"interfaces/types.otherconnectionoptions.html#publishendpoint","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.OtherConnectionOptions"},{"id":226,"kind":1024,"name":"subscribeEndpoint","url":"interfaces/types.otherconnectionoptions.html#subscribeendpoint","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.OtherConnectionOptions"},{"id":227,"kind":1024,"name":"ca","url":"interfaces/types.otherconnectionoptions.html#ca","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.OtherConnectionOptions"},{"id":228,"kind":1024,"name":"key","url":"interfaces/types.otherconnectionoptions.html#key","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.OtherConnectionOptions"},{"id":229,"kind":1024,"name":"cert","url":"interfaces/types.otherconnectionoptions.html#cert","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.OtherConnectionOptions"},{"id":230,"kind":4194304,"name":"ConnectionOptions","url":"modules/types.html#connectionoptions","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":231,"kind":4194304,"name":"Response","url":"modules/types.html#response","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":232,"kind":4194304,"name":"DecodeFn","url":"modules/types.html#decodefn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":233,"kind":65536,"name":"__type","url":"modules/types.html#decodefn.__type-6","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.DecodeFn"},{"id":234,"kind":4194304,"name":"DecodeResponse","url":"modules/types.html#decoderesponse","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":235,"kind":4194304,"name":"EncodeArgs","url":"modules/types.html#encodeargs","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":236,"kind":65536,"name":"__type","url":"modules/types.html#encodeargs.__type-8","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.EncodeArgs"},{"id":237,"kind":1024,"name":"rootMsg","url":"modules/types.html#encodeargs.__type-8.rootmsg","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.EncodeArgs.__type"},{"id":238,"kind":1024,"name":"rootRecord","url":"modules/types.html#encodeargs.__type-8.rootrecord","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.EncodeArgs.__type"},{"id":239,"kind":1024,"name":"header","url":"modules/types.html#encodeargs.__type-8.header","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.EncodeArgs.__type"},{"id":240,"kind":1024,"name":"options","url":"modules/types.html#encodeargs.__type-8.options","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.EncodeArgs.__type"},{"id":241,"kind":1024,"name":"args","url":"modules/types.html#encodeargs.__type-8.args","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.EncodeArgs.__type"},{"id":242,"kind":4194304,"name":"OnIdent","url":"modules/types.html#onident","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":243,"kind":4194304,"name":"EncodeFn","url":"modules/types.html#encodefn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":244,"kind":65536,"name":"__type","url":"modules/types.html#encodefn.__type-9","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.EncodeFn"},{"id":245,"kind":4194304,"name":"CallArgs","url":"modules/types.html#callargs","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":246,"kind":4194304,"name":"ClearFn","url":"modules/types.html#clearfn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":247,"kind":65536,"name":"__type","url":"modules/types.html#clearfn.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.ClearFn"},{"id":248,"kind":4194304,"name":"OnFn","url":"modules/types.html#onfn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":249,"kind":65536,"name":"__type","url":"modules/types.html#onfn.__type-14","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.OnFn"},{"id":250,"kind":4194304,"name":"MakeFn","url":"modules/types.html#makefn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":251,"kind":65536,"name":"__type","url":"modules/types.html#makefn.__type-12","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.MakeFn"},{"id":252,"kind":4194304,"name":"MakeRecipeFn","url":"modules/types.html#makerecipefn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":253,"kind":65536,"name":"__type","url":"modules/types.html#makerecipefn.__type-13","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.MakeRecipeFn"},{"id":254,"kind":4194304,"name":"CommandTrigger","url":"modules/types.html#commandtrigger","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":255,"kind":65536,"name":"__type","url":"modules/types.html#commandtrigger.__type-4","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.CommandTrigger"},{"id":256,"kind":1024,"name":"decode","url":"modules/types.html#commandtrigger.__type-4.decode-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.CommandTrigger.__type"},{"id":257,"kind":1024,"name":"encode","url":"modules/types.html#commandtrigger.__type-4.encode-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.CommandTrigger.__type"},{"id":258,"kind":4194304,"name":"CommandObject","url":"modules/types.html#commandobject","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":259,"kind":65536,"name":"__type","url":"modules/types.html#commandobject.__type-3","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.CommandObject"},{"id":260,"kind":1024,"name":"encode","url":"modules/types.html#commandobject.__type-3.encode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.CommandObject.__type"},{"id":261,"kind":1024,"name":"decode","url":"modules/types.html#commandobject.__type-3.decode","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"types.CommandObject.__type"},{"id":262,"kind":256,"name":"ConnectionEvents","url":"interfaces/types.connectionevents.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"types"},{"id":263,"kind":1024,"name":"onError","url":"interfaces/types.connectionevents.html#onerror","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.ConnectionEvents"},{"id":264,"kind":65536,"name":"__type","url":"interfaces/types.connectionevents.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"types.ConnectionEvents"},{"id":265,"kind":256,"name":"RecipeObject","url":"interfaces/types.recipeobject.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"types"},{"id":266,"kind":1024,"name":"name","url":"interfaces/types.recipeobject.html#name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.RecipeObject"},{"id":267,"kind":1024,"name":"make","url":"interfaces/types.recipeobject.html#make","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"types.RecipeObject"},{"id":268,"kind":4194304,"name":"ResponseID","url":"modules/types.html#responseid","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":269,"kind":4194304,"name":"JSValue","url":"modules/types.html#jsvalue","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":270,"kind":4194304,"name":"CallFn","url":"modules/types.html#callfn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"types"},{"id":271,"kind":65536,"name":"__type","url":"modules/types.html#callfn.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"types.CallFn"},{"id":272,"kind":1,"name":"util","url":"modules/util.html","classes":"tsd-kind-module"},{"id":273,"kind":64,"name":"makeRouter","url":"modules/util.html#makerouter","classes":"tsd-kind-function tsd-parent-kind-module","parent":"util"},{"id":274,"kind":64,"name":"makeCallbackRouter","url":"modules/util.html#makecallbackrouter","classes":"tsd-kind-function tsd-parent-kind-module","parent":"util"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,43.676]],["parent/0",[]],["name/1",[1,30.177]],["parent/1",[0,4.246]],["name/2",[2,15.686]],["parent/2",[0,4.246]],["name/3",[3,30.177]],["parent/3",[4,4.573]],["name/4",[5,30.947]],["parent/4",[4,4.573]],["name/5",[6,43.676]],["parent/5",[]],["name/6",[1,30.177]],["parent/6",[6,4.246]],["name/7",[2,15.686]],["parent/7",[6,4.246]],["name/8",[3,30.177]],["parent/8",[7,4.573]],["name/9",[5,30.947]],["parent/9",[7,4.573]],["name/10",[8,43.676]],["parent/10",[]],["name/11",[1,30.177]],["parent/11",[8,4.246]],["name/12",[2,15.686]],["parent/12",[8,4.246]],["name/13",[3,30.177]],["parent/13",[9,4.573]],["name/14",[5,30.947]],["parent/14",[9,4.573]],["name/15",[10,33.691]],["parent/15",[]],["name/16",[11,47.041]],["parent/16",[10,3.275]],["name/17",[12,47.041]],["parent/17",[10,3.275]],["name/18",[13,43.676]],["parent/18",[10,3.275]],["name/19",[14,52.149]],["parent/19",[10,3.275]],["name/20",[15,52.149]],["parent/20",[10,3.275]],["name/21",[16,52.149]],["parent/21",[10,3.275]],["name/22",[3,30.177]],["parent/22",[10,3.275]],["name/23",[17,52.149]],["parent/23",[10,3.275]],["name/24",[18,43.676]],["parent/24",[]],["name/25",[1,30.177]],["parent/25",[18,4.246]],["name/26",[2,15.686]],["parent/26",[18,4.246]],["name/27",[3,30.177]],["parent/27",[19,4.573]],["name/28",[5,30.947]],["parent/28",[19,4.573]],["name/29",[20,43.676]],["parent/29",[]],["name/30",[1,30.177]],["parent/30",[20,4.246]],["name/31",[2,15.686]],["parent/31",[20,4.246]],["name/32",[3,30.177]],["parent/32",[21,3.644]],["name/33",[5,30.947]],["parent/33",[21,3.644]],["name/34",[22,39.157]],["parent/34",[21,3.644]],["name/35",[23,39.157]],["parent/35",[21,3.644]],["name/36",[24,52.149]],["parent/36",[21,3.644]],["name/37",[2,15.686]],["parent/37",[21,3.644]],["name/38",[5,30.947]],["parent/38",[25,4.573]],["name/39",[3,30.177]],["parent/39",[25,4.573]],["name/40",[26,43.676]],["parent/40",[]],["name/41",[1,30.177]],["parent/41",[26,4.246]],["name/42",[2,15.686]],["parent/42",[26,4.246]],["name/43",[3,30.177]],["parent/43",[27,4.573]],["name/44",[5,30.947]],["parent/44",[27,4.573]],["name/45",[28,43.676]],["parent/45",[]],["name/46",[1,30.177]],["parent/46",[28,4.246]],["name/47",[2,15.686]],["parent/47",[28,4.246]],["name/48",[3,30.177]],["parent/48",[29,4.573]],["name/49",[5,30.947]],["parent/49",[29,4.573]],["name/50",[30,43.676]],["parent/50",[]],["name/51",[1,30.177]],["parent/51",[30,4.246]],["name/52",[2,15.686]],["parent/52",[30,4.246]],["name/53",[23,39.157]],["parent/53",[31,4.573]],["name/54",[22,39.157]],["parent/54",[31,4.573]],["name/55",[32,43.676]],["parent/55",[]],["name/56",[1,30.177]],["parent/56",[32,4.246]],["name/57",[2,15.686]],["parent/57",[32,4.246]],["name/58",[23,39.157]],["parent/58",[33,4.573]],["name/59",[22,39.157]],["parent/59",[33,4.573]],["name/60",[34,43.676]],["parent/60",[]],["name/61",[1,30.177]],["parent/61",[34,4.246]],["name/62",[2,15.686]],["parent/62",[34,4.246]],["name/63",[23,39.157]],["parent/63",[35,4.573]],["name/64",[22,39.157]],["parent/64",[35,4.573]],["name/65",[36,43.676]],["parent/65",[]],["name/66",[1,30.177]],["parent/66",[36,4.246]],["name/67",[2,15.686]],["parent/67",[36,4.246]],["name/68",[3,30.177]],["parent/68",[37,4.573]],["name/69",[5,30.947]],["parent/69",[37,4.573]],["name/70",[38,43.676]],["parent/70",[]],["name/71",[1,30.177]],["parent/71",[38,4.246]],["name/72",[2,15.686]],["parent/72",[38,4.246]],["name/73",[3,30.177]],["parent/73",[39,4.573]],["name/74",[5,30.947]],["parent/74",[39,4.573]],["name/75",[40,32.69]],["parent/75",[]],["name/76",[41,52.149]],["parent/76",[40,3.178]],["name/77",[42,52.149]],["parent/77",[40,3.178]],["name/78",[43,52.149]],["parent/78",[40,3.178]],["name/79",[44,52.149]],["parent/79",[40,3.178]],["name/80",[45,52.149]],["parent/80",[40,3.178]],["name/81",[46,52.149]],["parent/81",[40,3.178]],["name/82",[47,52.149]],["parent/82",[40,3.178]],["name/83",[48,52.149]],["parent/83",[40,3.178]],["name/84",[49,52.149]],["parent/84",[40,3.178]],["name/85",[50,47.041]],["parent/85",[]],["name/86",[1,30.177]],["parent/86",[50,4.573]],["name/87",[51,52.149]],["parent/87",[]],["name/88",[52,15.014]],["parent/88",[]],["name/89",[53,52.149]],["parent/89",[52,1.46]],["name/90",[54,52.149]],["parent/90",[52,1.46]],["name/91",[55,52.149]],["parent/91",[52,1.46]],["name/92",[2,15.686]],["parent/92",[56,5.07]],["name/93",[57,52.149]],["parent/93",[52,1.46]],["name/94",[2,15.686]],["parent/94",[58,5.07]],["name/95",[59,52.149]],["parent/95",[52,1.46]],["name/96",[2,15.686]],["parent/96",[60,5.07]],["name/97",[61,52.149]],["parent/97",[52,1.46]],["name/98",[2,15.686]],["parent/98",[62,5.07]],["name/99",[63,52.149]],["parent/99",[52,1.46]],["name/100",[2,15.686]],["parent/100",[64,5.07]],["name/101",[65,52.149]],["parent/101",[52,1.46]],["name/102",[2,15.686]],["parent/102",[66,5.07]],["name/103",[67,52.149]],["parent/103",[52,1.46]],["name/104",[2,15.686]],["parent/104",[68,5.07]],["name/105",[69,52.149]],["parent/105",[52,1.46]],["name/106",[2,15.686]],["parent/106",[70,5.07]],["name/107",[71,52.149]],["parent/107",[52,1.46]],["name/108",[2,15.686]],["parent/108",[72,5.07]],["name/109",[73,52.149]],["parent/109",[52,1.46]],["name/110",[2,15.686]],["parent/110",[74,5.07]],["name/111",[75,52.149]],["parent/111",[52,1.46]],["name/112",[2,15.686]],["parent/112",[76,5.07]],["name/113",[77,52.149]],["parent/113",[52,1.46]],["name/114",[2,15.686]],["parent/114",[78,5.07]],["name/115",[79,52.149]],["parent/115",[52,1.46]],["name/116",[2,15.686]],["parent/116",[80,5.07]],["name/117",[81,47.041]],["parent/117",[52,1.46]],["name/118",[82,52.149]],["parent/118",[52,1.46]],["name/119",[83,52.149]],["parent/119",[52,1.46]],["name/120",[84,43.676]],["parent/120",[85,4.002]],["name/121",[86,47.041]],["parent/121",[85,4.002]],["name/122",[87,47.041]],["parent/122",[85,4.002]],["name/123",[88,47.041]],["parent/123",[85,4.002]],["name/124",[89,52.149]],["parent/124",[52,1.46]],["name/125",[90,52.149]],["parent/125",[52,1.46]],["name/126",[2,15.686]],["parent/126",[91,5.07]],["name/127",[92,52.149]],["parent/127",[93,4.573]],["name/128",[2,15.686]],["parent/128",[93,4.573]],["name/129",[94,52.149]],["parent/129",[95,5.07]],["name/130",[96,52.149]],["parent/130",[52,1.46]],["name/131",[2,15.686]],["parent/131",[97,5.07]],["name/132",[98,52.149]],["parent/132",[99,4.573]],["name/133",[2,15.686]],["parent/133",[99,4.573]],["name/134",[100,43.676]],["parent/134",[101,4.573]],["name/135",[84,43.676]],["parent/135",[101,4.573]],["name/136",[102,52.149]],["parent/136",[52,1.46]],["name/137",[2,15.686]],["parent/137",[103,5.07]],["name/138",[104,52.149]],["parent/138",[105,4.573]],["name/139",[2,15.686]],["parent/139",[105,4.573]],["name/140",[100,43.676]],["parent/140",[106,3.807]],["name/141",[84,43.676]],["parent/141",[106,3.807]],["name/142",[86,47.041]],["parent/142",[106,3.807]],["name/143",[87,47.041]],["parent/143",[106,3.807]],["name/144",[88,47.041]],["parent/144",[106,3.807]],["name/145",[107,52.149]],["parent/145",[52,1.46]],["name/146",[2,15.686]],["parent/146",[108,5.07]],["name/147",[109,47.041]],["parent/147",[110,4.573]],["name/148",[2,15.686]],["parent/148",[110,4.573]],["name/149",[81,47.041]],["parent/149",[111,4.002]],["name/150",[112,52.149]],["parent/150",[111,4.002]],["name/151",[113,52.149]],["parent/151",[111,4.002]],["name/152",[114,52.149]],["parent/152",[111,4.002]],["name/153",[115,52.149]],["parent/153",[52,1.46]],["name/154",[2,15.686]],["parent/154",[116,5.07]],["name/155",[117,52.149]],["parent/155",[118,4.573]],["name/156",[2,15.686]],["parent/156",[118,4.573]],["name/157",[119,43.676]],["parent/157",[120,4.573]],["name/158",[100,43.676]],["parent/158",[120,4.573]],["name/159",[121,52.149]],["parent/159",[52,1.46]],["name/160",[2,15.686]],["parent/160",[122,5.07]],["name/161",[123,47.041]],["parent/161",[124,4.573]],["name/162",[2,15.686]],["parent/162",[124,4.573]],["name/163",[125,52.149]],["parent/163",[126,5.07]],["name/164",[127,52.149]],["parent/164",[52,1.46]],["name/165",[2,15.686]],["parent/165",[128,5.07]],["name/166",[129,47.041]],["parent/166",[130,4.573]],["name/167",[2,15.686]],["parent/167",[130,4.573]],["name/168",[119,43.676]],["parent/168",[131,4.573]],["name/169",[132,52.149]],["parent/169",[131,4.573]],["name/170",[133,52.149]],["parent/170",[52,1.46]],["name/171",[2,15.686]],["parent/171",[134,5.07]],["name/172",[135,47.041]],["parent/172",[136,4.573]],["name/173",[2,15.686]],["parent/173",[136,4.573]],["name/174",[119,43.676]],["parent/174",[137,4.573]],["name/175",[138,52.149]],["parent/175",[137,4.573]],["name/176",[139,52.149]],["parent/176",[52,1.46]],["name/177",[140,52.149]],["parent/177",[52,1.46]],["name/178",[2,15.686]],["parent/178",[141,5.07]],["name/179",[142,52.149]],["parent/179",[52,1.46]],["name/180",[123,47.041]],["parent/180",[143,2.864]],["name/181",[129,47.041]],["parent/181",[143,2.864]],["name/182",[109,47.041]],["parent/182",[143,2.864]],["name/183",[144,52.149]],["parent/183",[143,2.864]],["name/184",[135,47.041]],["parent/184",[143,2.864]],["name/185",[145,52.149]],["parent/185",[143,2.864]],["name/186",[146,52.149]],["parent/186",[143,2.864]],["name/187",[147,52.149]],["parent/187",[143,2.864]],["name/188",[148,52.149]],["parent/188",[143,2.864]],["name/189",[149,52.149]],["parent/189",[143,2.864]],["name/190",[150,52.149]],["parent/190",[143,2.864]],["name/191",[151,52.149]],["parent/191",[143,2.864]],["name/192",[152,52.149]],["parent/192",[143,2.864]],["name/193",[2,15.686]],["parent/193",[143,2.864]],["name/194",[153,52.149]],["parent/194",[52,1.46]],["name/195",[2,15.686]],["parent/195",[154,5.07]],["name/196",[155,52.149]],["parent/196",[52,1.46]],["name/197",[156,47.041]],["parent/197",[157,4.246]],["name/198",[158,52.149]],["parent/198",[157,4.246]],["name/199",[159,52.149]],["parent/199",[157,4.246]],["name/200",[160,52.149]],["parent/200",[52,1.46]],["name/201",[2,15.686]],["parent/201",[161,5.07]],["name/202",[162,52.149]],["parent/202",[52,1.46]],["name/203",[156,47.041]],["parent/203",[163,4.573]],["name/204",[164,52.149]],["parent/204",[163,4.573]],["name/205",[165,52.149]],["parent/205",[52,1.46]],["name/206",[166,52.149]],["parent/206",[167,4.246]],["name/207",[168,52.149]],["parent/207",[167,4.246]],["name/208",[169,43.676]],["parent/208",[167,4.246]],["name/209",[170,52.149]],["parent/209",[52,1.46]],["name/210",[169,43.676]],["parent/210",[171,4.573]],["name/211",[172,52.149]],["parent/211",[171,4.573]],["name/212",[173,52.149]],["parent/212",[52,1.46]],["name/213",[13,43.676]],["parent/213",[174,4.246]],["name/214",[175,52.149]],["parent/214",[174,4.246]],["name/215",[169,43.676]],["parent/215",[174,4.246]],["name/216",[176,52.149]],["parent/216",[52,1.46]],["name/217",[177,52.149]],["parent/217",[52,1.46]],["name/218",[178,52.149]],["parent/218",[52,1.46]],["name/219",[179,52.149]],["parent/219",[52,1.46]],["name/220",[180,52.149]],["parent/220",[181,3.178]],["name/221",[182,52.149]],["parent/221",[181,3.178]],["name/222",[183,52.149]],["parent/222",[181,3.178]],["name/223",[184,52.149]],["parent/223",[181,3.178]],["name/224",[185,52.149]],["parent/224",[181,3.178]],["name/225",[186,52.149]],["parent/225",[181,3.178]],["name/226",[187,52.149]],["parent/226",[181,3.178]],["name/227",[188,52.149]],["parent/227",[181,3.178]],["name/228",[189,52.149]],["parent/228",[181,3.178]],["name/229",[190,52.149]],["parent/229",[181,3.178]],["name/230",[191,52.149]],["parent/230",[52,1.46]],["name/231",[192,52.149]],["parent/231",[52,1.46]],["name/232",[193,52.149]],["parent/232",[52,1.46]],["name/233",[2,15.686]],["parent/233",[194,5.07]],["name/234",[195,52.149]],["parent/234",[52,1.46]],["name/235",[196,52.149]],["parent/235",[52,1.46]],["name/236",[2,15.686]],["parent/236",[197,5.07]],["name/237",[12,47.041]],["parent/237",[198,3.807]],["name/238",[11,47.041]],["parent/238",[198,3.807]],["name/239",[13,43.676]],["parent/239",[198,3.807]],["name/240",[199,52.149]],["parent/240",[198,3.807]],["name/241",[200,52.149]],["parent/241",[198,3.807]],["name/242",[201,52.149]],["parent/242",[52,1.46]],["name/243",[202,52.149]],["parent/243",[52,1.46]],["name/244",[2,15.686]],["parent/244",[203,5.07]],["name/245",[204,52.149]],["parent/245",[52,1.46]],["name/246",[205,52.149]],["parent/246",[52,1.46]],["name/247",[2,15.686]],["parent/247",[206,5.07]],["name/248",[207,52.149]],["parent/248",[52,1.46]],["name/249",[2,15.686]],["parent/249",[208,5.07]],["name/250",[209,52.149]],["parent/250",[52,1.46]],["name/251",[2,15.686]],["parent/251",[210,5.07]],["name/252",[211,52.149]],["parent/252",[52,1.46]],["name/253",[2,15.686]],["parent/253",[212,5.07]],["name/254",[213,52.149]],["parent/254",[52,1.46]],["name/255",[2,15.686]],["parent/255",[214,5.07]],["name/256",[3,30.177]],["parent/256",[215,4.573]],["name/257",[5,30.947]],["parent/257",[215,4.573]],["name/258",[216,52.149]],["parent/258",[52,1.46]],["name/259",[2,15.686]],["parent/259",[217,5.07]],["name/260",[5,30.947]],["parent/260",[218,4.573]],["name/261",[3,30.177]],["parent/261",[218,4.573]],["name/262",[219,52.149]],["parent/262",[52,1.46]],["name/263",[220,52.149]],["parent/263",[221,4.573]],["name/264",[2,15.686]],["parent/264",[221,4.573]],["name/265",[222,52.149]],["parent/265",[52,1.46]],["name/266",[23,39.157]],["parent/266",[223,4.573]],["name/267",[22,39.157]],["parent/267",[223,4.573]],["name/268",[224,52.149]],["parent/268",[52,1.46]],["name/269",[225,52.149]],["parent/269",[52,1.46]],["name/270",[226,52.149]],["parent/270",[52,1.46]],["name/271",[2,15.686]],["parent/271",[227,5.07]],["name/272",[228,43.676]],["parent/272",[]],["name/273",[229,52.149]],["parent/273",[228,4.246]],["name/274",[230,52.149]],["parent/274",[228,4.246]]],"invertedIndex":[["__type",{"_index":2,"name":{"2":{},"7":{},"12":{},"26":{},"31":{},"37":{},"42":{},"47":{},"52":{},"57":{},"62":{},"67":{},"72":{},"92":{},"94":{},"96":{},"98":{},"100":{},"102":{},"104":{},"106":{},"108":{},"110":{},"112":{},"114":{},"116":{},"126":{},"128":{},"131":{},"133":{},"137":{},"139":{},"146":{},"148":{},"154":{},"156":{},"160":{},"162":{},"165":{},"167":{},"171":{},"173":{},"178":{},"193":{},"195":{},"201":{},"233":{},"236":{},"244":{},"247":{},"249":{},"251":{},"253":{},"255":{},"259":{},"264":{},"271":{}},"parent":{}}],["_operate",{"_index":144,"name":{"183":{}},"parent":{}}],["add",{"_index":135,"name":{"172":{},"184":{}},"parent":{}}],["addcommand",{"_index":59,"name":{"95":{}},"parent":{}}],["allowpartial",{"_index":119,"name":{"157":{},"168":{},"174":{}},"parent":{}}],["args",{"_index":200,"name":{"241":{}},"parent":{}}],["body",{"_index":175,"name":{"214":{}},"parent":{}}],["ca",{"_index":188,"name":{"227":{}},"parent":{}}],["callargs",{"_index":204,"name":{"245":{}},"parent":{}}],["callfn",{"_index":226,"name":{"270":{}},"parent":{}}],["cert",{"_index":190,"name":{"229":{}},"parent":{}}],["certtype",{"_index":178,"name":{"218":{}},"parent":{}}],["clearfn",{"_index":205,"name":{"246":{}},"parent":{}}],["command",{"_index":81,"name":{"117":{},"149":{}},"parent":{}}],["commandkey",{"_index":112,"name":{"150":{}},"parent":{}}],["commandobject",{"_index":216,"name":{"258":{}},"parent":{}}],["commands",{"_index":10,"name":{"15":{}},"parent":{"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{}}}],["commands/add",{"_index":0,"name":{"0":{}},"parent":{"1":{},"2":{}}}],["commands/add.__type",{"_index":4,"name":{},"parent":{"3":{},"4":{}}}],["commands/del",{"_index":6,"name":{"5":{}},"parent":{"6":{},"7":{}}}],["commands/del.__type",{"_index":7,"name":{},"parent":{"8":{},"9":{}}}],["commands/get",{"_index":8,"name":{"10":{}},"parent":{"11":{},"12":{}}}],["commands/get.__type",{"_index":9,"name":{},"parent":{"13":{},"14":{}}}],["commands/instances",{"_index":18,"name":{"24":{}},"parent":{"25":{},"26":{}}}],["commands/instances.__type",{"_index":19,"name":{},"parent":{"27":{},"28":{}}}],["commands/notify",{"_index":20,"name":{"29":{}},"parent":{"30":{},"31":{}}}],["commands/notify.__type",{"_index":21,"name":{},"parent":{"32":{},"33":{},"34":{},"35":{},"36":{},"37":{}}}],["commands/notify.__type.__type",{"_index":25,"name":{},"parent":{"38":{},"39":{}}}],["commands/operate",{"_index":26,"name":{"40":{}},"parent":{"41":{},"42":{}}}],["commands/operate.__type",{"_index":27,"name":{},"parent":{"43":{},"44":{}}}],["commands/proto",{"_index":28,"name":{"45":{}},"parent":{"46":{},"47":{}}}],["commands/proto.__type",{"_index":29,"name":{},"parent":{"48":{},"49":{}}}],["commands/recipes/operate",{"_index":30,"name":{"50":{}},"parent":{"51":{},"52":{}}}],["commands/recipes/operate.__type",{"_index":31,"name":{},"parent":{"53":{},"54":{}}}],["commands/recipes/resolve",{"_index":32,"name":{"55":{}},"parent":{"56":{},"57":{}}}],["commands/recipes/resolve.__type",{"_index":33,"name":{},"parent":{"58":{},"59":{}}}],["commands/recipes/subscribe",{"_index":34,"name":{"60":{}},"parent":{"61":{},"62":{}}}],["commands/recipes/subscribe.__type",{"_index":35,"name":{},"parent":{"63":{},"64":{}}}],["commands/set",{"_index":36,"name":{"65":{}},"parent":{"66":{},"67":{}}}],["commands/set.__type",{"_index":37,"name":{},"parent":{"68":{},"69":{}}}],["commands/supported",{"_index":38,"name":{"70":{}},"parent":{"71":{},"72":{}}}],["commands/supported.__type",{"_index":39,"name":{},"parent":{"73":{},"74":{}}}],["commands/util",{"_index":40,"name":{"75":{}},"parent":{"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{}}}],["commandtrigger",{"_index":213,"name":{"254":{}},"parent":{}}],["commandtype",{"_index":53,"name":{"89":{}},"parent":{}}],["connect",{"_index":153,"name":{"194":{}},"parent":{}}],["connectionevents",{"_index":219,"name":{"262":{}},"parent":{}}],["connectionoptions",{"_index":191,"name":{"230":{}},"parent":{}}],["controllersupportedprotocolversions",{"_index":94,"name":{"129":{}},"parent":{}}],["createobjs",{"_index":138,"name":{"175":{}},"parent":{}}],["decode",{"_index":3,"name":{"3":{},"8":{},"13":{},"22":{},"27":{},"32":{},"39":{},"43":{},"48":{},"68":{},"73":{},"256":{},"261":{}},"parent":{}}],["decodefn",{"_index":193,"name":{"232":{}},"parent":{}}],["decodeid",{"_index":15,"name":{"20":{}},"parent":{}}],["decoderesponse",{"_index":195,"name":{"234":{}},"parent":{}}],["default",{"_index":1,"name":{"1":{},"6":{},"11":{},"25":{},"30":{},"41":{},"46":{},"51":{},"56":{},"61":{},"66":{},"71":{},"86":{}},"parent":{}}],["del",{"_index":145,"name":{"185":{}},"parent":{}}],["delcommand",{"_index":61,"name":{"97":{}},"parent":{}}],["delete",{"_index":117,"name":{"155":{}},"parent":{}}],["disconnect",{"_index":152,"name":{"192":{}},"parent":{}}],["encode",{"_index":5,"name":{"4":{},"9":{},"14":{},"28":{},"33":{},"38":{},"44":{},"49":{},"69":{},"74":{},"257":{},"260":{}},"parent":{}}],["encodeargs",{"_index":196,"name":{"235":{}},"parent":{}}],["encodefn",{"_index":202,"name":{"243":{}},"parent":{}}],["extractcommand",{"_index":46,"name":{"81":{}},"parent":{}}],["firstlevelonly",{"_index":84,"name":{"120":{},"135":{},"141":{}},"parent":{}}],["fromid",{"_index":183,"name":{"222":{}},"parent":{}}],["get",{"_index":123,"name":{"161":{},"180":{}},"parent":{}}],["getcommand",{"_index":55,"name":{"91":{}},"parent":{}}],["getinstances",{"_index":98,"name":{"132":{}},"parent":{}}],["getreturn",{"_index":54,"name":{"90":{}},"parent":{}}],["getsupporteddm",{"_index":104,"name":{"138":{}},"parent":{}}],["getsupportedprotocol",{"_index":92,"name":{"127":{}},"parent":{}}],["header",{"_index":13,"name":{"18":{},"213":{},"239":{}},"parent":{}}],["hostconnectionoptions",{"_index":177,"name":{"217":{}},"parent":{}}],["id",{"_index":156,"name":{"197":{},"203":{}},"parent":{}}],["idendpoint",{"_index":185,"name":{"224":{}},"parent":{}}],["index",{"_index":50,"name":{"85":{}},"parent":{"86":{}}}],["inputargs",{"_index":114,"name":{"152":{}},"parent":{}}],["inputrecord",{"_index":89,"name":{"124":{}},"parent":{}}],["instances",{"_index":149,"name":{"189":{}},"parent":{}}],["instancescommand",{"_index":73,"name":{"109":{}},"parent":{}}],["jsvalue",{"_index":225,"name":{"269":{}},"parent":{}}],["key",{"_index":189,"name":{"228":{}},"parent":{}}],["lookup",{"_index":169,"name":{"208":{},"210":{},"215":{}},"parent":{}}],["make",{"_index":22,"name":{"34":{},"54":{},"59":{},"64":{},"267":{}},"parent":{}}],["makebuffer",{"_index":41,"name":{"76":{}},"parent":{}}],["makecallbackrouter",{"_index":230,"name":{"274":{}},"parent":{}}],["makeencode",{"_index":17,"name":{"23":{}},"parent":{}}],["makefn",{"_index":209,"name":{"250":{}},"parent":{}}],["makerecipefn",{"_index":211,"name":{"252":{}},"parent":{}}],["makerecipes",{"_index":14,"name":{"19":{}},"parent":{}}],["makerouter",{"_index":229,"name":{"273":{}},"parent":{}}],["msgid",{"_index":166,"name":{"206":{}},"parent":{}}],["msgtype",{"_index":168,"name":{"207":{}},"parent":{}}],["name",{"_index":23,"name":{"35":{},"53":{},"58":{},"63":{},"266":{}},"parent":{}}],["notif",{"_index":158,"name":{"198":{}},"parent":{}}],["objpaths",{"_index":100,"name":{"134":{},"140":{},"158":{}},"parent":{}}],["on",{"_index":151,"name":{"191":{}},"parent":{}}],["onerror",{"_index":220,"name":{"263":{}},"parent":{}}],["onfn",{"_index":207,"name":{"248":{}},"parent":{}}],["onident",{"_index":201,"name":{"242":{}},"parent":{}}],["operate",{"_index":109,"name":{"147":{},"182":{}},"parent":{}}],["operateclearfn",{"_index":65,"name":{"101":{}},"parent":{}}],["operatecommand",{"_index":69,"name":{"105":{}},"parent":{}}],["operatefn",{"_index":63,"name":{"99":{}},"parent":{}}],["operateoptions",{"_index":162,"name":{"202":{}},"parent":{}}],["operaterecipe",{"_index":67,"name":{"103":{}},"parent":{}}],["options",{"_index":199,"name":{"240":{}},"parent":{}}],["otherconnectionoptions",{"_index":179,"name":{"219":{}},"parent":{}}],["parampaths",{"_index":125,"name":{"163":{}},"parent":{}}],["password",{"_index":182,"name":{"221":{}},"parent":{}}],["pbrequestbody",{"_index":170,"name":{"209":{}},"parent":{}}],["pbrequestcommand",{"_index":82,"name":{"118":{}},"parent":{}}],["pbrequestcommandadd",{"_index":133,"name":{"170":{}},"parent":{}}],["pbrequestcommanddel",{"_index":115,"name":{"153":{}},"parent":{}}],["pbrequestcommandget",{"_index":121,"name":{"159":{}},"parent":{}}],["pbrequestcommandinstance",{"_index":96,"name":{"130":{}},"parent":{}}],["pbrequestcommandoperate",{"_index":107,"name":{"145":{}},"parent":{}}],["pbrequestcommandset",{"_index":127,"name":{"164":{}},"parent":{}}],["pbrequestcommandsupport",{"_index":102,"name":{"136":{}},"parent":{}}],["pbrequestcommandsupportproto",{"_index":90,"name":{"125":{}},"parent":{}}],["pbrequestheader",{"_index":165,"name":{"205":{}},"parent":{}}],["pbrequestmessage",{"_index":173,"name":{"212":{}},"parent":{}}],["persistent",{"_index":164,"name":{"204":{}},"parent":{}}],["promiseclearfn",{"_index":79,"name":{"115":{}},"parent":{}}],["publishendpoint",{"_index":186,"name":{"225":{}},"parent":{}}],["readmsg",{"_index":16,"name":{"21":{}},"parent":{}}],["recipe",{"_index":139,"name":{"176":{}},"parent":{}}],["recipeobject",{"_index":222,"name":{"265":{}},"parent":{}}],["reference",{"_index":159,"name":{"199":{}},"parent":{}}],["request",{"_index":172,"name":{"211":{}},"parent":{}}],["resolve",{"_index":146,"name":{"186":{}},"parent":{}}],["resolverecipe",{"_index":140,"name":{"177":{}},"parent":{}}],["response",{"_index":192,"name":{"231":{}},"parent":{}}],["responseid",{"_index":224,"name":{"268":{}},"parent":{}}],["returncommands",{"_index":86,"name":{"121":{},"142":{}},"parent":{}}],["returnevents",{"_index":87,"name":{"122":{},"143":{}},"parent":{}}],["returnparams",{"_index":88,"name":{"123":{},"144":{}},"parent":{}}],["rootmsg",{"_index":12,"name":{"17":{},"237":{}},"parent":{}}],["rootrecord",{"_index":11,"name":{"16":{},"238":{}},"parent":{}}],["search",{"_index":43,"name":{"78":{}},"parent":{}}],["searchall",{"_index":45,"name":{"80":{}},"parent":{}}],["searchparent",{"_index":44,"name":{"79":{}},"parent":{}}],["sendresp",{"_index":113,"name":{"151":{}},"parent":{}}],["set",{"_index":129,"name":{"166":{},"181":{}},"parent":{}}],["setcommand",{"_index":57,"name":{"93":{}},"parent":{}}],["subscribe",{"_index":150,"name":{"190":{}},"parent":{}}],["subscribeendpoint",{"_index":187,"name":{"226":{}},"parent":{}}],["subscriberecipe",{"_index":77,"name":{"113":{}},"parent":{}}],["subscriptioncallback",{"_index":160,"name":{"200":{}},"parent":{}}],["subscriptionoptions",{"_index":155,"name":{"196":{}},"parent":{}}],["suportedcommandopts",{"_index":83,"name":{"119":{}},"parent":{}}],["supporteddm",{"_index":147,"name":{"187":{}},"parent":{}}],["supporteddmcommand",{"_index":71,"name":{"107":{}},"parent":{}}],["supportedproto",{"_index":148,"name":{"188":{}},"parent":{}}],["supportedprotocommand",{"_index":75,"name":{"111":{}},"parent":{}}],["testy",{"_index":51,"name":{"87":{}},"parent":{}}],["toid",{"_index":184,"name":{"223":{}},"parent":{}}],["trigger",{"_index":24,"name":{"36":{}},"parent":{}}],["types",{"_index":52,"name":{"88":{}},"parent":{"89":{},"90":{},"91":{},"93":{},"95":{},"97":{},"99":{},"101":{},"103":{},"105":{},"107":{},"109":{},"111":{},"113":{},"115":{},"117":{},"118":{},"119":{},"124":{},"125":{},"130":{},"136":{},"145":{},"153":{},"159":{},"164":{},"170":{},"176":{},"177":{},"179":{},"194":{},"196":{},"200":{},"202":{},"205":{},"209":{},"212":{},"216":{},"217":{},"218":{},"219":{},"230":{},"231":{},"232":{},"234":{},"235":{},"242":{},"243":{},"245":{},"246":{},"248":{},"250":{},"252":{},"254":{},"258":{},"262":{},"265":{},"268":{},"269":{},"270":{}}}],["types.addcommand",{"_index":60,"name":{},"parent":{"96":{}}}],["types.callfn",{"_index":227,"name":{},"parent":{"271":{}}}],["types.clearfn",{"_index":206,"name":{},"parent":{"247":{}}}],["types.commandobject",{"_index":217,"name":{},"parent":{"259":{}}}],["types.commandobject.__type",{"_index":218,"name":{},"parent":{"260":{},"261":{}}}],["types.commandtrigger",{"_index":214,"name":{},"parent":{"255":{}}}],["types.commandtrigger.__type",{"_index":215,"name":{},"parent":{"256":{},"257":{}}}],["types.connect",{"_index":154,"name":{},"parent":{"195":{}}}],["types.connectionevents",{"_index":221,"name":{},"parent":{"263":{},"264":{}}}],["types.decodefn",{"_index":194,"name":{},"parent":{"233":{}}}],["types.delcommand",{"_index":62,"name":{},"parent":{"98":{}}}],["types.encodeargs",{"_index":197,"name":{},"parent":{"236":{}}}],["types.encodeargs.__type",{"_index":198,"name":{},"parent":{"237":{},"238":{},"239":{},"240":{},"241":{}}}],["types.encodefn",{"_index":203,"name":{},"parent":{"244":{}}}],["types.getcommand",{"_index":56,"name":{},"parent":{"92":{}}}],["types.instancescommand",{"_index":74,"name":{},"parent":{"110":{}}}],["types.makefn",{"_index":210,"name":{},"parent":{"251":{}}}],["types.makerecipefn",{"_index":212,"name":{},"parent":{"253":{}}}],["types.onfn",{"_index":208,"name":{},"parent":{"249":{}}}],["types.operateclearfn",{"_index":66,"name":{},"parent":{"102":{}}}],["types.operatecommand",{"_index":70,"name":{},"parent":{"106":{}}}],["types.operatefn",{"_index":64,"name":{},"parent":{"100":{}}}],["types.operateoptions",{"_index":163,"name":{},"parent":{"203":{},"204":{}}}],["types.operaterecipe",{"_index":68,"name":{},"parent":{"104":{}}}],["types.otherconnectionoptions",{"_index":181,"name":{},"parent":{"220":{},"221":{},"222":{},"223":{},"224":{},"225":{},"226":{},"227":{},"228":{},"229":{}}}],["types.pbrequestbody",{"_index":171,"name":{},"parent":{"210":{},"211":{}}}],["types.pbrequestcommandadd",{"_index":134,"name":{},"parent":{"171":{}}}],["types.pbrequestcommandadd.__type",{"_index":136,"name":{},"parent":{"172":{},"173":{}}}],["types.pbrequestcommandadd.__type.__type",{"_index":137,"name":{},"parent":{"174":{},"175":{}}}],["types.pbrequestcommanddel",{"_index":116,"name":{},"parent":{"154":{}}}],["types.pbrequestcommanddel.__type",{"_index":118,"name":{},"parent":{"155":{},"156":{}}}],["types.pbrequestcommanddel.__type.__type",{"_index":120,"name":{},"parent":{"157":{},"158":{}}}],["types.pbrequestcommandget",{"_index":122,"name":{},"parent":{"160":{}}}],["types.pbrequestcommandget.__type",{"_index":124,"name":{},"parent":{"161":{},"162":{}}}],["types.pbrequestcommandget.__type.__type",{"_index":126,"name":{},"parent":{"163":{}}}],["types.pbrequestcommandinstance",{"_index":97,"name":{},"parent":{"131":{}}}],["types.pbrequestcommandinstance.__type",{"_index":99,"name":{},"parent":{"132":{},"133":{}}}],["types.pbrequestcommandinstance.__type.__type",{"_index":101,"name":{},"parent":{"134":{},"135":{}}}],["types.pbrequestcommandoperate",{"_index":108,"name":{},"parent":{"146":{}}}],["types.pbrequestcommandoperate.__type",{"_index":110,"name":{},"parent":{"147":{},"148":{}}}],["types.pbrequestcommandoperate.__type.__type",{"_index":111,"name":{},"parent":{"149":{},"150":{},"151":{},"152":{}}}],["types.pbrequestcommandset",{"_index":128,"name":{},"parent":{"165":{}}}],["types.pbrequestcommandset.__type",{"_index":130,"name":{},"parent":{"166":{},"167":{}}}],["types.pbrequestcommandset.__type.__type",{"_index":131,"name":{},"parent":{"168":{},"169":{}}}],["types.pbrequestcommandsupport",{"_index":103,"name":{},"parent":{"137":{}}}],["types.pbrequestcommandsupport.__type",{"_index":105,"name":{},"parent":{"138":{},"139":{}}}],["types.pbrequestcommandsupport.__type.__type",{"_index":106,"name":{},"parent":{"140":{},"141":{},"142":{},"143":{},"144":{}}}],["types.pbrequestcommandsupportproto",{"_index":91,"name":{},"parent":{"126":{}}}],["types.pbrequestcommandsupportproto.__type",{"_index":93,"name":{},"parent":{"127":{},"128":{}}}],["types.pbrequestcommandsupportproto.__type.__type",{"_index":95,"name":{},"parent":{"129":{}}}],["types.pbrequestheader",{"_index":167,"name":{},"parent":{"206":{},"207":{},"208":{}}}],["types.pbrequestmessage",{"_index":174,"name":{},"parent":{"213":{},"214":{},"215":{}}}],["types.promiseclearfn",{"_index":80,"name":{},"parent":{"116":{}}}],["types.recipeobject",{"_index":223,"name":{},"parent":{"266":{},"267":{}}}],["types.resolverecipe",{"_index":141,"name":{},"parent":{"178":{}}}],["types.setcommand",{"_index":58,"name":{},"parent":{"94":{}}}],["types.subscriberecipe",{"_index":78,"name":{},"parent":{"114":{}}}],["types.subscriptioncallback",{"_index":161,"name":{},"parent":{"201":{}}}],["types.subscriptionoptions",{"_index":157,"name":{},"parent":{"197":{},"198":{},"199":{}}}],["types.suportedcommandopts",{"_index":85,"name":{},"parent":{"120":{},"121":{},"122":{},"123":{}}}],["types.supporteddmcommand",{"_index":72,"name":{},"parent":{"108":{}}}],["types.supportedprotocommand",{"_index":76,"name":{},"parent":{"112":{}}}],["types.usp",{"_index":143,"name":{},"parent":{"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"190":{},"191":{},"192":{},"193":{}}}],["unflatten",{"_index":42,"name":{"77":{}},"parent":{}}],["uniq",{"_index":49,"name":{"84":{}},"parent":{}}],["unwraparray",{"_index":48,"name":{"83":{}},"parent":{}}],["unwrapobject",{"_index":47,"name":{"82":{}},"parent":{}}],["updateobjs",{"_index":132,"name":{"169":{}},"parent":{}}],["urlconnectionoptions",{"_index":176,"name":{"216":{}},"parent":{}}],["username",{"_index":180,"name":{"220":{}},"parent":{}}],["usp",{"_index":142,"name":{"179":{}},"parent":{}}],["util",{"_index":228,"name":{"272":{}},"parent":{"273":{},"274":{}}}]],"pipeline":[]}}
\ No newline at end of file
diff --git a/public/assets/js/search.json b/public/assets/js/search.json
deleted file mode 100644
index 0a4f82a5c6291a1b4270ff784529420142074cf9..0000000000000000000000000000000000000000
--- a/public/assets/js/search.json
+++ /dev/null
@@ -1 +0,0 @@
-{"kinds":{"1":"Module","32":"Variable","64":"Function","256":"Interface","1024":"Property","65536":"Type literal","2097152":"Object literal","4194304":"Type alias"},"rows":[{"id":0,"kind":1,"name":"\"commands/util\"","url":"modules/_commands_util_.html","classes":"tsd-kind-module"},{"id":1,"kind":32,"name":"digitRe","url":"modules/_commands_util_.html#digitre","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/util\""},{"id":2,"kind":32,"name":"digitDotRe","url":"modules/_commands_util_.html#digitdotre","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/util\""},{"id":3,"kind":64,"name":"isDigit","url":"modules/_commands_util_.html#isdigit","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/util\""},{"id":4,"kind":64,"name":"firstIsIndex","url":"modules/_commands_util_.html#firstisindex","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/util\""},{"id":5,"kind":64,"name":"unflatten","url":"modules/_commands_util_.html#unflatten","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"commands/util\""},{"id":6,"kind":64,"name":"search","url":"modules/_commands_util_.html#search","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"commands/util\""},{"id":7,"kind":64,"name":"searchParent","url":"modules/_commands_util_.html#searchparent","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"commands/util\""},{"id":8,"kind":64,"name":"_searchAll","url":"modules/_commands_util_.html#_searchall","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/util\""},{"id":9,"kind":64,"name":"searchAll","url":"modules/_commands_util_.html#searchall","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"commands/util\""},{"id":10,"kind":64,"name":"extractCommand","url":"modules/_commands_util_.html#extractcommand","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"commands/util\""},{"id":11,"kind":64,"name":"unwrapObject","url":"modules/_commands_util_.html#unwrapobject","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"commands/util\""},{"id":12,"kind":64,"name":"unwrapArray","url":"modules/_commands_util_.html#unwraparray","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"commands/util\""},{"id":13,"kind":64,"name":"makeBuffer","url":"modules/_commands_util_.html#makebuffer","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"commands/util\""},{"id":14,"kind":64,"name":"uniq","url":"modules/_commands_util_.html#uniq","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"commands/util\""},{"id":15,"kind":1,"name":"\"commands/get\"","url":"modules/_commands_get_.html","classes":"tsd-kind-module"},{"id":16,"kind":64,"name":"decode","url":"modules/_commands_get_.html#decode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/get\""},{"id":17,"kind":64,"name":"encode","url":"modules/_commands_get_.html#encode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/get\""},{"id":18,"kind":1,"name":"\"commands/set\"","url":"modules/_commands_set_.html","classes":"tsd-kind-module"},{"id":19,"kind":64,"name":"decode","url":"modules/_commands_set_.html#decode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/set\""},{"id":20,"kind":64,"name":"isObject","url":"modules/_commands_set_.html#isobject","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/set\""},{"id":21,"kind":64,"name":"encode","url":"modules/_commands_set_.html#encode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/set\""},{"id":22,"kind":1,"name":"\"commands/del\"","url":"modules/_commands_del_.html","classes":"tsd-kind-module"},{"id":23,"kind":64,"name":"decode","url":"modules/_commands_del_.html#decode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/del\""},{"id":24,"kind":64,"name":"encode","url":"modules/_commands_del_.html#encode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/del\""},{"id":25,"kind":1,"name":"\"commands/operate\"","url":"modules/_commands_operate_.html","classes":"tsd-kind-module"},{"id":26,"kind":64,"name":"decode","url":"modules/_commands_operate_.html#decode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/operate\""},{"id":27,"kind":64,"name":"encode","url":"modules/_commands_operate_.html#encode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/operate\""},{"id":28,"kind":1,"name":"\"commands/supported\"","url":"modules/_commands_supported_.html","classes":"tsd-kind-module"},{"id":29,"kind":64,"name":"decode","url":"modules/_commands_supported_.html#decode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/supported\""},{"id":30,"kind":64,"name":"encode","url":"modules/_commands_supported_.html#encode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/supported\""},{"id":31,"kind":1,"name":"\"commands/proto\"","url":"modules/_commands_proto_.html","classes":"tsd-kind-module"},{"id":32,"kind":64,"name":"decode","url":"modules/_commands_proto_.html#decode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/proto\""},{"id":33,"kind":64,"name":"encode","url":"modules/_commands_proto_.html#encode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/proto\""},{"id":34,"kind":1,"name":"\"commands/instances\"","url":"modules/_commands_instances_.html","classes":"tsd-kind-module"},{"id":35,"kind":64,"name":"decode","url":"modules/_commands_instances_.html#decode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/instances\""},{"id":36,"kind":64,"name":"encode","url":"modules/_commands_instances_.html#encode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/instances\""},{"id":37,"kind":1,"name":"\"commands/notify\"","url":"modules/_commands_notify_.html","classes":"tsd-kind-module"},{"id":38,"kind":64,"name":"parseInfo","url":"modules/_commands_notify_.html#parseinfo","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/notify\""},{"id":39,"kind":64,"name":"decode","url":"modules/_commands_notify_.html#decode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/notify\""},{"id":40,"kind":64,"name":"encode","url":"modules/_commands_notify_.html#encode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/notify\""},{"id":41,"kind":64,"name":"make","url":"modules/_commands_notify_.html#make","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/notify\""},{"id":42,"kind":1,"name":"\"commands/recipes/resolve\"","url":"modules/_commands_recipes_resolve_.html","classes":"tsd-kind-module"},{"id":43,"kind":64,"name":"splitReference","url":"modules/_commands_recipes_resolve_.html#splitreference","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/recipes/resolve\""},{"id":44,"kind":64,"name":"isReference","url":"modules/_commands_recipes_resolve_.html#isreference","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/recipes/resolve\""},{"id":45,"kind":64,"name":"addDot","url":"modules/_commands_recipes_resolve_.html#adddot","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/recipes/resolve\""},{"id":46,"kind":64,"name":"resolveReferences","url":"modules/_commands_recipes_resolve_.html#resolvereferences","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/recipes/resolve\""},{"id":47,"kind":64,"name":"make","url":"modules/_commands_recipes_resolve_.html#make","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/recipes/resolve\""},{"id":48,"kind":1,"name":"\"commands/recipes/operate\"","url":"modules/_commands_recipes_operate_.html","classes":"tsd-kind-module"},{"id":49,"kind":32,"name":"operateSubscriptionPath","url":"modules/_commands_recipes_operate_.html#operatesubscriptionpath","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/recipes/operate\""},{"id":50,"kind":64,"name":"make","url":"modules/_commands_recipes_operate_.html#make","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/recipes/operate\""},{"id":51,"kind":1,"name":"\"commands/recipes/subscribe\"","url":"modules/_commands_recipes_subscribe_.html","classes":"tsd-kind-module"},{"id":52,"kind":32,"name":"subscriptionPath","url":"modules/_commands_recipes_subscribe_.html#subscriptionpath","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/recipes/subscribe\""},{"id":53,"kind":64,"name":"make","url":"modules/_commands_recipes_subscribe_.html#make","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/recipes/subscribe\""},{"id":54,"kind":1,"name":"\"commands/index\"","url":"modules/_commands_index_.html","classes":"tsd-kind-module"},{"id":55,"kind":32,"name":"rootRecord","url":"modules/_commands_index_.html#rootrecord","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"\"commands/index\""},{"id":56,"kind":32,"name":"rootMsg","url":"modules/_commands_index_.html#rootmsg","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"\"commands/index\""},{"id":57,"kind":32,"name":"header","url":"modules/_commands_index_.html#header","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"\"commands/index\""},{"id":58,"kind":2097152,"name":"commands","url":"modules/_commands_index_.html#commands","classes":"tsd-kind-object-literal tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/index\""},{"id":59,"kind":32,"name":"GET","url":"modules/_commands_index_.html#commands.get","classes":"tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported","parent":"\"commands/index\".commands"},{"id":60,"kind":65536,"name":"__type","url":"modules/_commands_index_.html#commands.get.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-variable tsd-is-not-exported","parent":"\"commands/index\".commands.GET"},{"id":61,"kind":32,"name":"decode","url":"modules/_commands_index_.html#commands.get.__type-2.decode-3","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.GET.__type"},{"id":62,"kind":32,"name":"encode","url":"modules/_commands_index_.html#commands.get.__type-2.encode-2","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.GET.__type"},{"id":63,"kind":32,"name":"ADD","url":"modules/_commands_index_.html#commands.add","classes":"tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported","parent":"\"commands/index\".commands"},{"id":64,"kind":65536,"name":"__type","url":"modules/_commands_index_.html#commands.add.__type","classes":"tsd-kind-type-literal tsd-parent-kind-variable tsd-is-not-exported","parent":"\"commands/index\".commands.ADD"},{"id":65,"kind":32,"name":"decode","url":"modules/_commands_index_.html#commands.add.__type.decode-1","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.ADD.__type"},{"id":66,"kind":32,"name":"encode","url":"modules/_commands_index_.html#commands.add.__type.encode","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.ADD.__type"},{"id":67,"kind":32,"name":"DELETE","url":"modules/_commands_index_.html#commands.delete","classes":"tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported","parent":"\"commands/index\".commands"},{"id":68,"kind":65536,"name":"__type","url":"modules/_commands_index_.html#commands.delete.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-variable tsd-is-not-exported","parent":"\"commands/index\".commands.DELETE"},{"id":69,"kind":32,"name":"decode","url":"modules/_commands_index_.html#commands.delete.__type-1.decode-2","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.DELETE.__type"},{"id":70,"kind":32,"name":"encode","url":"modules/_commands_index_.html#commands.delete.__type-1.encode-1","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.DELETE.__type"},{"id":71,"kind":32,"name":"GET_INSTANCES","url":"modules/_commands_index_.html#commands.get_instances","classes":"tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported","parent":"\"commands/index\".commands"},{"id":72,"kind":65536,"name":"__type","url":"modules/_commands_index_.html#commands.get_instances.__type-3","classes":"tsd-kind-type-literal tsd-parent-kind-variable tsd-is-not-exported","parent":"\"commands/index\".commands.GET_INSTANCES"},{"id":73,"kind":32,"name":"decode","url":"modules/_commands_index_.html#commands.get_instances.__type-3.decode-4","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.GET_INSTANCES.__type"},{"id":74,"kind":32,"name":"encode","url":"modules/_commands_index_.html#commands.get_instances.__type-3.encode-3","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.GET_INSTANCES.__type"},{"id":75,"kind":32,"name":"GET_SUPPORTED_DM","url":"modules/_commands_index_.html#commands.get_supported_dm","classes":"tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported","parent":"\"commands/index\".commands"},{"id":76,"kind":65536,"name":"__type","url":"modules/_commands_index_.html#commands.get_supported_dm.__type-4","classes":"tsd-kind-type-literal tsd-parent-kind-variable tsd-is-not-exported","parent":"\"commands/index\".commands.GET_SUPPORTED_DM"},{"id":77,"kind":32,"name":"decode","url":"modules/_commands_index_.html#commands.get_supported_dm.__type-4.decode-5","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.GET_SUPPORTED_DM.__type"},{"id":78,"kind":32,"name":"encode","url":"modules/_commands_index_.html#commands.get_supported_dm.__type-4.encode-4","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.GET_SUPPORTED_DM.__type"},{"id":79,"kind":32,"name":"GET_SUPPORTED_PROTO","url":"modules/_commands_index_.html#commands.get_supported_proto","classes":"tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported","parent":"\"commands/index\".commands"},{"id":80,"kind":65536,"name":"__type","url":"modules/_commands_index_.html#commands.get_supported_proto.__type-5","classes":"tsd-kind-type-literal tsd-parent-kind-variable tsd-is-not-exported","parent":"\"commands/index\".commands.GET_SUPPORTED_PROTO"},{"id":81,"kind":32,"name":"decode","url":"modules/_commands_index_.html#commands.get_supported_proto.__type-5.decode-6","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.GET_SUPPORTED_PROTO.__type"},{"id":82,"kind":32,"name":"encode","url":"modules/_commands_index_.html#commands.get_supported_proto.__type-5.encode-5","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.GET_SUPPORTED_PROTO.__type"},{"id":83,"kind":32,"name":"NOTIFY","url":"modules/_commands_index_.html#commands.notify","classes":"tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported","parent":"\"commands/index\".commands"},{"id":84,"kind":65536,"name":"__type","url":"modules/_commands_index_.html#commands.notify.__type-6","classes":"tsd-kind-type-literal tsd-parent-kind-variable tsd-is-not-exported","parent":"\"commands/index\".commands.NOTIFY"},{"id":85,"kind":32,"name":"decode","url":"modules/_commands_index_.html#commands.notify.__type-6.decode-7","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.NOTIFY.__type"},{"id":86,"kind":32,"name":"encode","url":"modules/_commands_index_.html#commands.notify.__type-6.encode-6","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.NOTIFY.__type"},{"id":87,"kind":32,"name":"make","url":"modules/_commands_index_.html#commands.notify.__type-6.make","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.NOTIFY.__type"},{"id":88,"kind":32,"name":"name","url":"modules/_commands_index_.html#commands.notify.__type-6.name","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.NOTIFY.__type"},{"id":89,"kind":2097152,"name":"trigger","url":"modules/_commands_index_.html#commands.notify.__type-6.trigger","classes":"tsd-kind-object-literal tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.NOTIFY.__type"},{"id":90,"kind":32,"name":"encode","url":"modules/_commands_index_.html#commands.notify.__type-6.trigger.encode-7","classes":"tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported","parent":"\"commands/index\".commands.NOTIFY.__type.trigger"},{"id":91,"kind":32,"name":"decode","url":"modules/_commands_index_.html#commands.notify.__type-6.trigger.decode-8","classes":"tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported","parent":"\"commands/index\".commands.NOTIFY.__type.trigger"},{"id":92,"kind":32,"name":"OPERATE","url":"modules/_commands_index_.html#commands.operate","classes":"tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported","parent":"\"commands/index\".commands"},{"id":93,"kind":65536,"name":"__type","url":"modules/_commands_index_.html#commands.operate.__type-7","classes":"tsd-kind-type-literal tsd-parent-kind-variable tsd-is-not-exported","parent":"\"commands/index\".commands.OPERATE"},{"id":94,"kind":32,"name":"decode","url":"modules/_commands_index_.html#commands.operate.__type-7.decode-9","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.OPERATE.__type"},{"id":95,"kind":32,"name":"encode","url":"modules/_commands_index_.html#commands.operate.__type-7.encode-8","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.OPERATE.__type"},{"id":96,"kind":32,"name":"SET","url":"modules/_commands_index_.html#commands.set","classes":"tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported","parent":"\"commands/index\".commands"},{"id":97,"kind":65536,"name":"__type","url":"modules/_commands_index_.html#commands.set.__type-8","classes":"tsd-kind-type-literal tsd-parent-kind-variable tsd-is-not-exported","parent":"\"commands/index\".commands.SET"},{"id":98,"kind":32,"name":"decode","url":"modules/_commands_index_.html#commands.set.__type-8.decode-10","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.SET.__type"},{"id":99,"kind":32,"name":"encode","url":"modules/_commands_index_.html#commands.set.__type-8.encode-9","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"\"commands/index\".commands.SET.__type"},{"id":100,"kind":32,"name":"recipes","url":"modules/_commands_index_.html#recipes","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/index\""},{"id":101,"kind":64,"name":"makeRecipes","url":"modules/_commands_index_.html#makerecipes","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"commands/index\""},{"id":102,"kind":64,"name":"decodeId","url":"modules/_commands_index_.html#decodeid","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"commands/index\""},{"id":103,"kind":64,"name":"unkownErr","url":"modules/_commands_index_.html#unkownerr","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/index\""},{"id":104,"kind":64,"name":"readMsg","url":"modules/_commands_index_.html#readmsg","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"commands/index\""},{"id":105,"kind":64,"name":"decode","url":"modules/_commands_index_.html#decode","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"commands/index\""},{"id":106,"kind":64,"name":"makeEncode","url":"modules/_commands_index_.html#makeencode","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"commands/index\""},{"id":107,"kind":64,"name":"convert","url":"modules/_commands_index_.html#convert","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/index\""},{"id":108,"kind":64,"name":"isError","url":"modules/_commands_index_.html#iserror","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/index\""},{"id":109,"kind":32,"name":"internalKeys","url":"modules/_commands_index_.html#internalkeys","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/index\""},{"id":110,"kind":64,"name":"isInternal","url":"modules/_commands_index_.html#isinternal","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/index\""},{"id":111,"kind":64,"name":"makePayload","url":"modules/_commands_index_.html#makepayload","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/index\""},{"id":112,"kind":64,"name":"isStringArray","url":"modules/_commands_index_.html#isstringarray","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/index\""},{"id":113,"kind":64,"name":"needsConversion","url":"modules/_commands_index_.html#needsconversion","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/index\""},{"id":114,"kind":64,"name":"_convert","url":"modules/_commands_index_.html#_convert","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/index\""},{"id":115,"kind":1,"name":"\"types\"","url":"modules/_types_.html","classes":"tsd-kind-module"},{"id":116,"kind":256,"name":"SuportedCommandOpts","url":"interfaces/_types_.suportedcommandopts.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":117,"kind":1024,"name":"firstLevelOnly","url":"interfaces/_types_.suportedcommandopts.html#firstlevelonly","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".SuportedCommandOpts"},{"id":118,"kind":1024,"name":"returnCommands","url":"interfaces/_types_.suportedcommandopts.html#returncommands","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".SuportedCommandOpts"},{"id":119,"kind":1024,"name":"returnEvents","url":"interfaces/_types_.suportedcommandopts.html#returnevents","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".SuportedCommandOpts"},{"id":120,"kind":1024,"name":"returnParams","url":"interfaces/_types_.suportedcommandopts.html#returnparams","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".SuportedCommandOpts"},{"id":121,"kind":256,"name":"USP","url":"interfaces/_types_.usp.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":122,"kind":1024,"name":"get","url":"interfaces/_types_.usp.html#get","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".USP"},{"id":123,"kind":1024,"name":"set","url":"interfaces/_types_.usp.html#set","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".USP"},{"id":124,"kind":1024,"name":"operate","url":"interfaces/_types_.usp.html#operate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".USP"},{"id":125,"kind":1024,"name":"_operate","url":"interfaces/_types_.usp.html#_operate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".USP"},{"id":126,"kind":1024,"name":"add","url":"interfaces/_types_.usp.html#add","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".USP"},{"id":127,"kind":1024,"name":"del","url":"interfaces/_types_.usp.html#del","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".USP"},{"id":128,"kind":1024,"name":"resolve","url":"interfaces/_types_.usp.html#resolve","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".USP"},{"id":129,"kind":1024,"name":"supportedDM","url":"interfaces/_types_.usp.html#supporteddm","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".USP"},{"id":130,"kind":1024,"name":"supportedProto","url":"interfaces/_types_.usp.html#supportedproto","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".USP"},{"id":131,"kind":1024,"name":"instances","url":"interfaces/_types_.usp.html#instances","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".USP"},{"id":132,"kind":1024,"name":"subscribe","url":"interfaces/_types_.usp.html#subscribe","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".USP"},{"id":133,"kind":1024,"name":"on","url":"interfaces/_types_.usp.html#on","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".USP"},{"id":134,"kind":1024,"name":"disconnect","url":"interfaces/_types_.usp.html#disconnect","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".USP"},{"id":135,"kind":65536,"name":"__type","url":"interfaces/_types_.usp.html#disconnect.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"\"types\".USP.disconnect"},{"id":136,"kind":256,"name":"SubscriptionOptions","url":"interfaces/_types_.subscriptionoptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":137,"kind":1024,"name":"id","url":"interfaces/_types_.subscriptionoptions.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".SubscriptionOptions"},{"id":138,"kind":1024,"name":"notif","url":"interfaces/_types_.subscriptionoptions.html#notif","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".SubscriptionOptions"},{"id":139,"kind":1024,"name":"reference","url":"interfaces/_types_.subscriptionoptions.html#reference","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".SubscriptionOptions"},{"id":140,"kind":256,"name":"OperateOptions","url":"interfaces/_types_.operateoptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":141,"kind":1024,"name":"ID","url":"interfaces/_types_.operateoptions.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".OperateOptions"},{"id":142,"kind":1024,"name":"Persistent","url":"interfaces/_types_.operateoptions.html#persistent","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".OperateOptions"},{"id":143,"kind":256,"name":"PbRequestHeader","url":"interfaces/_types_.pbrequestheader.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":144,"kind":1024,"name":"msgId","url":"interfaces/_types_.pbrequestheader.html#msgid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".PbRequestHeader"},{"id":145,"kind":1024,"name":"msgType","url":"interfaces/_types_.pbrequestheader.html#msgtype","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".PbRequestHeader"},{"id":146,"kind":1024,"name":"lookup","url":"interfaces/_types_.pbrequestheader.html#lookup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".PbRequestHeader"},{"id":147,"kind":256,"name":"PbRequestBody","url":"interfaces/_types_.pbrequestbody.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":148,"kind":1024,"name":"lookup","url":"interfaces/_types_.pbrequestbody.html#lookup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".PbRequestBody"},{"id":149,"kind":1024,"name":"request","url":"interfaces/_types_.pbrequestbody.html#request","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".PbRequestBody"},{"id":150,"kind":256,"name":"PbRequestMessage","url":"interfaces/_types_.pbrequestmessage.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":151,"kind":1024,"name":"header","url":"interfaces/_types_.pbrequestmessage.html#header","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".PbRequestMessage"},{"id":152,"kind":1024,"name":"body","url":"interfaces/_types_.pbrequestmessage.html#body","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".PbRequestMessage"},{"id":153,"kind":1024,"name":"lookup","url":"interfaces/_types_.pbrequestmessage.html#lookup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".PbRequestMessage"},{"id":154,"kind":256,"name":"OtherConnectionOptions","url":"interfaces/_types_.otherconnectionoptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":155,"kind":1024,"name":"username","url":"interfaces/_types_.otherconnectionoptions.html#username","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".OtherConnectionOptions"},{"id":156,"kind":1024,"name":"password","url":"interfaces/_types_.otherconnectionoptions.html#password","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".OtherConnectionOptions"},{"id":157,"kind":1024,"name":"fromId","url":"interfaces/_types_.otherconnectionoptions.html#fromid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".OtherConnectionOptions"},{"id":158,"kind":1024,"name":"toId","url":"interfaces/_types_.otherconnectionoptions.html#toid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".OtherConnectionOptions"},{"id":159,"kind":1024,"name":"idEndpoint","url":"interfaces/_types_.otherconnectionoptions.html#idendpoint","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".OtherConnectionOptions"},{"id":160,"kind":1024,"name":"publishEndpoint","url":"interfaces/_types_.otherconnectionoptions.html#publishendpoint","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".OtherConnectionOptions"},{"id":161,"kind":1024,"name":"subscribeEndpoint","url":"interfaces/_types_.otherconnectionoptions.html#subscribeendpoint","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".OtherConnectionOptions"},{"id":162,"kind":1024,"name":"ca","url":"interfaces/_types_.otherconnectionoptions.html#ca","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".OtherConnectionOptions"},{"id":163,"kind":1024,"name":"key","url":"interfaces/_types_.otherconnectionoptions.html#key","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".OtherConnectionOptions"},{"id":164,"kind":1024,"name":"cert","url":"interfaces/_types_.otherconnectionoptions.html#cert","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".OtherConnectionOptions"},{"id":165,"kind":256,"name":"ConnectionEvents","url":"interfaces/_types_.connectionevents.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":166,"kind":1024,"name":"onError","url":"interfaces/_types_.connectionevents.html#onerror","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".ConnectionEvents"},{"id":167,"kind":256,"name":"RecipeObject","url":"interfaces/_types_.recipeobject.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"\"types\""},{"id":168,"kind":1024,"name":"name","url":"interfaces/_types_.recipeobject.html#name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".RecipeObject"},{"id":169,"kind":1024,"name":"make","url":"interfaces/_types_.recipeobject.html#make","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"types\".RecipeObject"},{"id":170,"kind":4194304,"name":"CommandType","url":"modules/_types_.html#commandtype","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":171,"kind":4194304,"name":"GetReturn","url":"modules/_types_.html#getreturn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":172,"kind":4194304,"name":"GetCommand","url":"modules/_types_.html#getcommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":173,"kind":65536,"name":"__type","url":"modules/_types_.html#getcommand.__type-10","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".GetCommand"},{"id":174,"kind":4194304,"name":"SetCommand","url":"modules/_types_.html#setcommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":175,"kind":65536,"name":"__type","url":"modules/_types_.html#setcommand.__type-37","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".SetCommand"},{"id":176,"kind":4194304,"name":"AddCommand","url":"modules/_types_.html#addcommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":177,"kind":65536,"name":"__type","url":"modules/_types_.html#addcommand.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".AddCommand"},{"id":178,"kind":4194304,"name":"DelCommand","url":"modules/_types_.html#delcommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":179,"kind":65536,"name":"__type","url":"modules/_types_.html#delcommand.__type-7","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".DelCommand"},{"id":180,"kind":4194304,"name":"OperateFn","url":"modules/_types_.html#operatefn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":181,"kind":65536,"name":"__type","url":"modules/_types_.html#operatefn.__type-17","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".OperateFn"},{"id":182,"kind":4194304,"name":"OperateClearFn","url":"modules/_types_.html#operateclearfn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":183,"kind":65536,"name":"__type","url":"modules/_types_.html#operateclearfn.__type-15","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".OperateClearFn"},{"id":184,"kind":4194304,"name":"OperateRecipe","url":"modules/_types_.html#operaterecipe","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":185,"kind":65536,"name":"__type","url":"modules/_types_.html#operaterecipe.__type-18","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".OperateRecipe"},{"id":186,"kind":4194304,"name":"OperateCommand","url":"modules/_types_.html#operatecommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":187,"kind":65536,"name":"__type","url":"modules/_types_.html#operatecommand.__type-16","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".OperateCommand"},{"id":188,"kind":4194304,"name":"SupportedDMCommand","url":"modules/_types_.html#supporteddmcommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":189,"kind":65536,"name":"__type","url":"modules/_types_.html#supporteddmcommand.__type-40","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".SupportedDMCommand"},{"id":190,"kind":4194304,"name":"InstancesCommand","url":"modules/_types_.html#instancescommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":191,"kind":65536,"name":"__type","url":"modules/_types_.html#instancescommand.__type-11","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".InstancesCommand"},{"id":192,"kind":4194304,"name":"SupportedProtoCommand","url":"modules/_types_.html#supportedprotocommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":193,"kind":65536,"name":"__type","url":"modules/_types_.html#supportedprotocommand.__type-41","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".SupportedProtoCommand"},{"id":194,"kind":4194304,"name":"SubscribeRecipe","url":"modules/_types_.html#subscriberecipe","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":195,"kind":65536,"name":"__type","url":"modules/_types_.html#subscriberecipe.__type-38","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".SubscribeRecipe"},{"id":196,"kind":4194304,"name":"PromiseClearFn","url":"modules/_types_.html#promiseclearfn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":197,"kind":65536,"name":"__type","url":"modules/_types_.html#promiseclearfn.__type-35","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".PromiseClearFn"},{"id":198,"kind":4194304,"name":"Command","url":"modules/_types_.html#command","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":199,"kind":4194304,"name":"PbRequestCommand","url":"modules/_types_.html#pbrequestcommand","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":200,"kind":4194304,"name":"InputRecord","url":"modules/_types_.html#inputrecord","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":201,"kind":4194304,"name":"PbRequestCommandSupportProto","url":"modules/_types_.html#pbrequestcommandsupportproto","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":202,"kind":65536,"name":"__type","url":"modules/_types_.html#pbrequestcommandsupportproto.__type-33","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".PbRequestCommandSupportProto"},{"id":203,"kind":32,"name":"getSupportedProtocol","url":"modules/_types_.html#pbrequestcommandsupportproto.__type-33.getsupportedprotocol","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandSupportProto.__type"},{"id":204,"kind":65536,"name":"__type","url":"modules/_types_.html#pbrequestcommandsupportproto.__type-33.getsupportedprotocol.__type-34","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"\"types\".PbRequestCommandSupportProto.__type.getSupportedProtocol"},{"id":205,"kind":32,"name":"controllerSupportedProtocolVersions","url":"modules/_types_.html#pbrequestcommandsupportproto.__type-33.getsupportedprotocol.__type-34.controllersupportedprotocolversions","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandSupportProto.__type.getSupportedProtocol.__type"},{"id":206,"kind":4194304,"name":"PbRequestCommandInstance","url":"modules/_types_.html#pbrequestcommandinstance","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":207,"kind":65536,"name":"__type","url":"modules/_types_.html#pbrequestcommandinstance.__type-25","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".PbRequestCommandInstance"},{"id":208,"kind":32,"name":"getInstances","url":"modules/_types_.html#pbrequestcommandinstance.__type-25.getinstances","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandInstance.__type"},{"id":209,"kind":65536,"name":"__type","url":"modules/_types_.html#pbrequestcommandinstance.__type-25.getinstances.__type-26","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"\"types\".PbRequestCommandInstance.__type.getInstances"},{"id":210,"kind":32,"name":"objPaths","url":"modules/_types_.html#pbrequestcommandinstance.__type-25.getinstances.__type-26.objpaths-1","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandInstance.__type.getInstances.__type"},{"id":211,"kind":32,"name":"firstLevelOnly","url":"modules/_types_.html#pbrequestcommandinstance.__type-25.getinstances.__type-26.firstlevelonly","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandInstance.__type.getInstances.__type"},{"id":212,"kind":4194304,"name":"PbRequestCommandSupport","url":"modules/_types_.html#pbrequestcommandsupport","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":213,"kind":65536,"name":"__type","url":"modules/_types_.html#pbrequestcommandsupport.__type-31","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".PbRequestCommandSupport"},{"id":214,"kind":32,"name":"getSupportedDm","url":"modules/_types_.html#pbrequestcommandsupport.__type-31.getsupporteddm","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandSupport.__type"},{"id":215,"kind":65536,"name":"__type","url":"modules/_types_.html#pbrequestcommandsupport.__type-31.getsupporteddm.__type-32","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"\"types\".PbRequestCommandSupport.__type.getSupportedDm"},{"id":216,"kind":32,"name":"objPaths","url":"modules/_types_.html#pbrequestcommandsupport.__type-31.getsupporteddm.__type-32.objpaths-2","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandSupport.__type.getSupportedDm.__type"},{"id":217,"kind":32,"name":"firstLevelOnly","url":"modules/_types_.html#pbrequestcommandsupport.__type-31.getsupporteddm.__type-32.firstlevelonly-1","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandSupport.__type.getSupportedDm.__type"},{"id":218,"kind":32,"name":"returnCommands","url":"modules/_types_.html#pbrequestcommandsupport.__type-31.getsupporteddm.__type-32.returncommands","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandSupport.__type.getSupportedDm.__type"},{"id":219,"kind":32,"name":"returnEvents","url":"modules/_types_.html#pbrequestcommandsupport.__type-31.getsupporteddm.__type-32.returnevents","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandSupport.__type.getSupportedDm.__type"},{"id":220,"kind":32,"name":"returnParams","url":"modules/_types_.html#pbrequestcommandsupport.__type-31.getsupporteddm.__type-32.returnparams","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandSupport.__type.getSupportedDm.__type"},{"id":221,"kind":4194304,"name":"PbRequestCommandOperate","url":"modules/_types_.html#pbrequestcommandoperate","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":222,"kind":65536,"name":"__type","url":"modules/_types_.html#pbrequestcommandoperate.__type-27","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".PbRequestCommandOperate"},{"id":223,"kind":32,"name":"operate","url":"modules/_types_.html#pbrequestcommandoperate.__type-27.operate","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandOperate.__type"},{"id":224,"kind":65536,"name":"__type","url":"modules/_types_.html#pbrequestcommandoperate.__type-27.operate.__type-28","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"\"types\".PbRequestCommandOperate.__type.operate"},{"id":225,"kind":32,"name":"command","url":"modules/_types_.html#pbrequestcommandoperate.__type-27.operate.__type-28.command-1","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandOperate.__type.operate.__type"},{"id":226,"kind":32,"name":"commandKey","url":"modules/_types_.html#pbrequestcommandoperate.__type-27.operate.__type-28.commandkey","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandOperate.__type.operate.__type"},{"id":227,"kind":32,"name":"sendResp","url":"modules/_types_.html#pbrequestcommandoperate.__type-27.operate.__type-28.sendresp","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandOperate.__type.operate.__type"},{"id":228,"kind":32,"name":"inputArgs","url":"modules/_types_.html#pbrequestcommandoperate.__type-27.operate.__type-28.inputargs","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandOperate.__type.operate.__type"},{"id":229,"kind":4194304,"name":"PbRequestCommandDel","url":"modules/_types_.html#pbrequestcommanddel","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":230,"kind":65536,"name":"__type","url":"modules/_types_.html#pbrequestcommanddel.__type-21","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".PbRequestCommandDel"},{"id":231,"kind":32,"name":"delete","url":"modules/_types_.html#pbrequestcommanddel.__type-21.delete","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandDel.__type"},{"id":232,"kind":65536,"name":"__type","url":"modules/_types_.html#pbrequestcommanddel.__type-21.delete.__type-22","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"\"types\".PbRequestCommandDel.__type.delete"},{"id":233,"kind":32,"name":"allowPartial","url":"modules/_types_.html#pbrequestcommanddel.__type-21.delete.__type-22.allowpartial-1","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandDel.__type.delete.__type"},{"id":234,"kind":32,"name":"objPaths","url":"modules/_types_.html#pbrequestcommanddel.__type-21.delete.__type-22.objpaths","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandDel.__type.delete.__type"},{"id":235,"kind":4194304,"name":"PbRequestCommandGet","url":"modules/_types_.html#pbrequestcommandget","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":236,"kind":65536,"name":"__type","url":"modules/_types_.html#pbrequestcommandget.__type-23","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".PbRequestCommandGet"},{"id":237,"kind":32,"name":"get","url":"modules/_types_.html#pbrequestcommandget.__type-23.get","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandGet.__type"},{"id":238,"kind":65536,"name":"__type","url":"modules/_types_.html#pbrequestcommandget.__type-23.get.__type-24","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"\"types\".PbRequestCommandGet.__type.get"},{"id":239,"kind":32,"name":"paramPaths","url":"modules/_types_.html#pbrequestcommandget.__type-23.get.__type-24.parampaths","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandGet.__type.get.__type"},{"id":240,"kind":4194304,"name":"PbRequestCommandSet","url":"modules/_types_.html#pbrequestcommandset","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":241,"kind":65536,"name":"__type","url":"modules/_types_.html#pbrequestcommandset.__type-29","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".PbRequestCommandSet"},{"id":242,"kind":32,"name":"set","url":"modules/_types_.html#pbrequestcommandset.__type-29.set","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandSet.__type"},{"id":243,"kind":65536,"name":"__type","url":"modules/_types_.html#pbrequestcommandset.__type-29.set.__type-30","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"\"types\".PbRequestCommandSet.__type.set"},{"id":244,"kind":32,"name":"allowPartial","url":"modules/_types_.html#pbrequestcommandset.__type-29.set.__type-30.allowpartial-2","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandSet.__type.set.__type"},{"id":245,"kind":32,"name":"updateObjs","url":"modules/_types_.html#pbrequestcommandset.__type-29.set.__type-30.updateobjs","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandSet.__type.set.__type"},{"id":246,"kind":4194304,"name":"PbRequestCommandAdd","url":"modules/_types_.html#pbrequestcommandadd","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":247,"kind":65536,"name":"__type","url":"modules/_types_.html#pbrequestcommandadd.__type-19","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".PbRequestCommandAdd"},{"id":248,"kind":32,"name":"add","url":"modules/_types_.html#pbrequestcommandadd.__type-19.add","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandAdd.__type"},{"id":249,"kind":65536,"name":"__type","url":"modules/_types_.html#pbrequestcommandadd.__type-19.add.__type-20","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"\"types\".PbRequestCommandAdd.__type.add"},{"id":250,"kind":32,"name":"allowPartial","url":"modules/_types_.html#pbrequestcommandadd.__type-19.add.__type-20.allowpartial","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandAdd.__type.add.__type"},{"id":251,"kind":32,"name":"createObjs","url":"modules/_types_.html#pbrequestcommandadd.__type-19.add.__type-20.createobjs","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".PbRequestCommandAdd.__type.add.__type"},{"id":252,"kind":4194304,"name":"Recipe","url":"modules/_types_.html#recipe","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":253,"kind":4194304,"name":"ResolveRecipe","url":"modules/_types_.html#resolverecipe","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":254,"kind":65536,"name":"__type","url":"modules/_types_.html#resolverecipe.__type-36","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".ResolveRecipe"},{"id":255,"kind":4194304,"name":"Connect","url":"modules/_types_.html#connect","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":256,"kind":65536,"name":"__type","url":"modules/_types_.html#connect.__type-5","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".Connect"},{"id":257,"kind":4194304,"name":"NotifType","url":"modules/_types_.html#notiftype","classes":"tsd-kind-type-alias tsd-parent-kind-module tsd-is-not-exported","parent":"\"types\""},{"id":258,"kind":4194304,"name":"SubscriptionCallback","url":"modules/_types_.html#subscriptioncallback","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":259,"kind":65536,"name":"__type","url":"modules/_types_.html#subscriptioncallback.__type-39","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".SubscriptionCallback"},{"id":260,"kind":4194304,"name":"URLConnectionOptions","url":"modules/_types_.html#urlconnectionoptions","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":261,"kind":4194304,"name":"HostConnectionOptions","url":"modules/_types_.html#hostconnectionoptions","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":262,"kind":4194304,"name":"CertType","url":"modules/_types_.html#certtype","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":263,"kind":4194304,"name":"ConnectionOptions","url":"modules/_types_.html#connectionoptions","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":264,"kind":4194304,"name":"Response","url":"modules/_types_.html#response","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":265,"kind":4194304,"name":"DecodeFn","url":"modules/_types_.html#decodefn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":266,"kind":65536,"name":"__type","url":"modules/_types_.html#decodefn.__type-6","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".DecodeFn"},{"id":267,"kind":4194304,"name":"DecodeResponse","url":"modules/_types_.html#decoderesponse","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":268,"kind":4194304,"name":"EncodeArgs","url":"modules/_types_.html#encodeargs","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":269,"kind":65536,"name":"__type","url":"modules/_types_.html#encodeargs.__type-8","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".EncodeArgs"},{"id":270,"kind":32,"name":"rootMsg","url":"modules/_types_.html#encodeargs.__type-8.rootmsg","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".EncodeArgs.__type"},{"id":271,"kind":32,"name":"rootRecord","url":"modules/_types_.html#encodeargs.__type-8.rootrecord","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".EncodeArgs.__type"},{"id":272,"kind":32,"name":"header","url":"modules/_types_.html#encodeargs.__type-8.header","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".EncodeArgs.__type"},{"id":273,"kind":32,"name":"options","url":"modules/_types_.html#encodeargs.__type-8.options","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".EncodeArgs.__type"},{"id":274,"kind":32,"name":"args","url":"modules/_types_.html#encodeargs.__type-8.args","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".EncodeArgs.__type"},{"id":275,"kind":4194304,"name":"OnIdent","url":"modules/_types_.html#onident","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":276,"kind":4194304,"name":"EncodeFn","url":"modules/_types_.html#encodefn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":277,"kind":65536,"name":"__type","url":"modules/_types_.html#encodefn.__type-9","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".EncodeFn"},{"id":278,"kind":4194304,"name":"CallArgs","url":"modules/_types_.html#callargs","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":279,"kind":4194304,"name":"ClearFn","url":"modules/_types_.html#clearfn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":280,"kind":65536,"name":"__type","url":"modules/_types_.html#clearfn.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".ClearFn"},{"id":281,"kind":4194304,"name":"OnFn","url":"modules/_types_.html#onfn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":282,"kind":65536,"name":"__type","url":"modules/_types_.html#onfn.__type-14","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".OnFn"},{"id":283,"kind":4194304,"name":"MakeFn","url":"modules/_types_.html#makefn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":284,"kind":65536,"name":"__type","url":"modules/_types_.html#makefn.__type-12","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".MakeFn"},{"id":285,"kind":4194304,"name":"MakeRecipeFn","url":"modules/_types_.html#makerecipefn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":286,"kind":65536,"name":"__type","url":"modules/_types_.html#makerecipefn.__type-13","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".MakeRecipeFn"},{"id":287,"kind":4194304,"name":"CommandTrigger","url":"modules/_types_.html#commandtrigger","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":288,"kind":65536,"name":"__type","url":"modules/_types_.html#commandtrigger.__type-4","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".CommandTrigger"},{"id":289,"kind":32,"name":"decode","url":"modules/_types_.html#commandtrigger.__type-4.decode-1","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".CommandTrigger.__type"},{"id":290,"kind":32,"name":"encode","url":"modules/_types_.html#commandtrigger.__type-4.encode-1","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".CommandTrigger.__type"},{"id":291,"kind":4194304,"name":"CommandObject","url":"modules/_types_.html#commandobject","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":292,"kind":65536,"name":"__type","url":"modules/_types_.html#commandobject.__type-3","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".CommandObject"},{"id":293,"kind":32,"name":"encode","url":"modules/_types_.html#commandobject.__type-3.encode","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".CommandObject.__type"},{"id":294,"kind":32,"name":"decode","url":"modules/_types_.html#commandobject.__type-3.decode","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"\"types\".CommandObject.__type"},{"id":295,"kind":4194304,"name":"ResponseID","url":"modules/_types_.html#responseid","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":296,"kind":4194304,"name":"JSValue","url":"modules/_types_.html#jsvalue","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":297,"kind":4194304,"name":"CallFn","url":"modules/_types_.html#callfn","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"\"types\""},{"id":298,"kind":65536,"name":"__type","url":"modules/_types_.html#callfn.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"types\".CallFn"},{"id":299,"kind":1,"name":"\"commands/add\"","url":"modules/_commands_add_.html","classes":"tsd-kind-module"},{"id":300,"kind":64,"name":"decode","url":"modules/_commands_add_.html#decode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/add\""},{"id":301,"kind":64,"name":"isObj","url":"modules/_commands_add_.html#isobj","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/add\""},{"id":302,"kind":64,"name":"encode","url":"modules/_commands_add_.html#encode","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"commands/add\""},{"id":303,"kind":1,"name":"\"util\"","url":"modules/_util_.html","classes":"tsd-kind-module"},{"id":304,"kind":64,"name":"makeRouter","url":"modules/_util_.html#makerouter","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"util\""},{"id":305,"kind":64,"name":"toId","url":"modules/_util_.html#toid","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"util\""},{"id":306,"kind":64,"name":"isRegExp","url":"modules/_util_.html#isregexp","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"util\""},{"id":307,"kind":64,"name":"satisfies","url":"modules/_util_.html#satisfies","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"util\""},{"id":308,"kind":64,"name":"makeCallbackRouter","url":"modules/_util_.html#makecallbackrouter","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"util\""},{"id":309,"kind":1,"name":"\"index\"","url":"modules/_index_.html","classes":"tsd-kind-module"},{"id":310,"kind":32,"name":"defaultPublishEndpoint","url":"modules/_index_.html#defaultpublishendpoint","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"index\""},{"id":311,"kind":32,"name":"defaultSubscribeEndpoint","url":"modules/_index_.html#defaultsubscribeendpoint","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"index\""},{"id":312,"kind":32,"name":"defaultIdEndpoint","url":"modules/_index_.html#defaultidendpoint","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"index\""},{"id":313,"kind":32,"name":"defaultFromId","url":"modules/_index_.html#defaultfromid","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"index\""},{"id":314,"kind":32,"name":"idResolveTimeout","url":"modules/_index_.html#idresolvetimeout","classes":"tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported","parent":"\"index\""},{"id":315,"kind":64,"name":"isURL","url":"modules/_index_.html#isurl","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"index\""},{"id":316,"kind":64,"name":"_connect","url":"modules/_index_.html#_connect","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"index\""},{"id":317,"kind":64,"name":"fixId","url":"modules/_index_.html#fixid","classes":"tsd-kind-function tsd-parent-kind-module tsd-is-not-exported","parent":"\"index\""},{"id":318,"kind":64,"name":"connect","url":"modules/_index_.html#connect","classes":"tsd-kind-function tsd-parent-kind-module","parent":"\"index\""}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,30.275]],["parent/0",[]],["name/1",[1,53.629]],["parent/1",[0,2.959]],["name/2",[2,53.629]],["parent/2",[0,2.959]],["name/3",[3,53.629]],["parent/3",[0,2.959]],["name/4",[4,53.629]],["parent/4",[0,2.959]],["name/5",[5,53.629]],["parent/5",[0,2.959]],["name/6",[6,53.629]],["parent/6",[0,2.959]],["name/7",[7,53.629]],["parent/7",[0,2.959]],["name/8",[8,53.629]],["parent/8",[0,2.959]],["name/9",[9,53.629]],["parent/9",[0,2.959]],["name/10",[10,53.629]],["parent/10",[0,2.959]],["name/11",[11,53.629]],["parent/11",[0,2.959]],["name/12",[12,53.629]],["parent/12",[0,2.959]],["name/13",[13,53.629]],["parent/13",[0,2.959]],["name/14",[14,53.629]],["parent/14",[0,2.959]],["name/15",[15,45.156]],["parent/15",[]],["name/16",[16,26.548]],["parent/16",[15,4.414]],["name/17",[17,27.003]],["parent/17",[15,4.414]],["name/18",[18,42.642]],["parent/18",[]],["name/19",[16,26.548]],["parent/19",[18,4.168]],["name/20",[19,53.629]],["parent/20",[18,4.168]],["name/21",[17,27.003]],["parent/21",[18,4.168]],["name/22",[20,45.156]],["parent/22",[]],["name/23",[16,26.548]],["parent/23",[20,4.414]],["name/24",[17,27.003]],["parent/24",[20,4.414]],["name/25",[21,45.156]],["parent/25",[]],["name/26",[16,26.548]],["parent/26",[21,4.414]],["name/27",[17,27.003]],["parent/27",[21,4.414]],["name/28",[22,45.156]],["parent/28",[]],["name/29",[16,26.548]],["parent/29",[22,4.414]],["name/30",[17,27.003]],["parent/30",[22,4.414]],["name/31",[23,45.156]],["parent/31",[]],["name/32",[16,26.548]],["parent/32",[23,4.414]],["name/33",[17,27.003]],["parent/33",[23,4.414]],["name/34",[24,45.156]],["parent/34",[]],["name/35",[16,26.548]],["parent/35",[24,4.414]],["name/36",[17,27.003]],["parent/36",[24,4.414]],["name/37",[25,40.636]],["parent/37",[]],["name/38",[26,53.629]],["parent/38",[25,3.972]],["name/39",[16,26.548]],["parent/39",[25,3.972]],["name/40",[17,27.003]],["parent/40",[25,3.972]],["name/41",[27,38.965]],["parent/41",[25,3.972]],["name/42",[28,38.965]],["parent/42",[]],["name/43",[29,53.629]],["parent/43",[28,3.809]],["name/44",[30,53.629]],["parent/44",[28,3.809]],["name/45",[31,53.629]],["parent/45",[28,3.809]],["name/46",[32,53.629]],["parent/46",[28,3.809]],["name/47",[27,38.965]],["parent/47",[28,3.809]],["name/48",[33,45.156]],["parent/48",[]],["name/49",[34,53.629]],["parent/49",[33,4.414]],["name/50",[27,38.965]],["parent/50",[33,4.414]],["name/51",[35,45.156]],["parent/51",[]],["name/52",[36,53.629]],["parent/52",[35,4.414]],["name/53",[27,38.965]],["parent/53",[35,4.414]],["name/54",[37,27.479]],["parent/54",[]],["name/55",[38,48.52]],["parent/55",[37,2.686]],["name/56",[39,48.52]],["parent/56",[37,2.686]],["name/57",[40,45.156]],["parent/57",[37,2.686]],["name/58",[41,53.629]],["parent/58",[37,2.686]],["name/59",[42,45.156]],["parent/59",[43,3.438]],["name/60",[44,18.075]],["parent/60",[45,5.242]],["name/61",[16,26.548]],["parent/61",[46,4.743]],["name/62",[17,27.003]],["parent/62",[46,4.743]],["name/63",[47,45.156]],["parent/63",[43,3.438]],["name/64",[44,18.075]],["parent/64",[48,5.242]],["name/65",[16,26.548]],["parent/65",[49,4.743]],["name/66",[17,27.003]],["parent/66",[49,4.743]],["name/67",[50,48.52]],["parent/67",[43,3.438]],["name/68",[44,18.075]],["parent/68",[51,5.242]],["name/69",[16,26.548]],["parent/69",[52,4.743]],["name/70",[17,27.003]],["parent/70",[52,4.743]],["name/71",[53,53.629]],["parent/71",[43,3.438]],["name/72",[44,18.075]],["parent/72",[54,5.242]],["name/73",[16,26.548]],["parent/73",[55,4.743]],["name/74",[17,27.003]],["parent/74",[55,4.743]],["name/75",[56,53.629]],["parent/75",[43,3.438]],["name/76",[44,18.075]],["parent/76",[57,5.242]],["name/77",[16,26.548]],["parent/77",[58,4.743]],["name/78",[17,27.003]],["parent/78",[58,4.743]],["name/79",[59,53.629]],["parent/79",[43,3.438]],["name/80",[44,18.075]],["parent/80",[60,5.242]],["name/81",[16,26.548]],["parent/81",[61,4.743]],["name/82",[17,27.003]],["parent/82",[61,4.743]],["name/83",[62,53.629]],["parent/83",[43,3.438]],["name/84",[44,18.075]],["parent/84",[63,5.242]],["name/85",[16,26.548]],["parent/85",[64,3.972]],["name/86",[17,27.003]],["parent/86",[64,3.972]],["name/87",[27,38.965]],["parent/87",[64,3.972]],["name/88",[65,48.52]],["parent/88",[64,3.972]],["name/89",[66,53.629]],["parent/89",[64,3.972]],["name/90",[17,27.003]],["parent/90",[67,4.743]],["name/91",[16,26.548]],["parent/91",[67,4.743]],["name/92",[68,45.156]],["parent/92",[43,3.438]],["name/93",[44,18.075]],["parent/93",[69,5.242]],["name/94",[16,26.548]],["parent/94",[70,4.743]],["name/95",[17,27.003]],["parent/95",[70,4.743]],["name/96",[71,45.156]],["parent/96",[43,3.438]],["name/97",[44,18.075]],["parent/97",[72,5.242]],["name/98",[16,26.548]],["parent/98",[73,4.743]],["name/99",[17,27.003]],["parent/99",[73,4.743]],["name/100",[74,53.629]],["parent/100",[37,2.686]],["name/101",[75,53.629]],["parent/101",[37,2.686]],["name/102",[76,53.629]],["parent/102",[37,2.686]],["name/103",[77,53.629]],["parent/103",[37,2.686]],["name/104",[78,53.629]],["parent/104",[37,2.686]],["name/105",[16,26.548]],["parent/105",[37,2.686]],["name/106",[79,53.629]],["parent/106",[37,2.686]],["name/107",[80,53.629]],["parent/107",[37,2.686]],["name/108",[81,53.629]],["parent/108",[37,2.686]],["name/109",[82,53.629]],["parent/109",[37,2.686]],["name/110",[83,53.629]],["parent/110",[37,2.686]],["name/111",[84,53.629]],["parent/111",[37,2.686]],["name/112",[85,53.629]],["parent/112",[37,2.686]],["name/113",[86,53.629]],["parent/113",[37,2.686]],["name/114",[87,53.629]],["parent/114",[37,2.686]],["name/115",[88,16.332]],["parent/115",[]],["name/116",[89,53.629]],["parent/116",[88,1.596]],["name/117",[90,45.156]],["parent/117",[91,4.168]],["name/118",[92,48.52]],["parent/118",[91,4.168]],["name/119",[93,48.52]],["parent/119",[91,4.168]],["name/120",[94,48.52]],["parent/120",[91,4.168]],["name/121",[95,53.629]],["parent/121",[88,1.596]],["name/122",[42,45.156]],["parent/122",[96,3.094]],["name/123",[71,45.156]],["parent/123",[96,3.094]],["name/124",[68,45.156]],["parent/124",[96,3.094]],["name/125",[97,53.629]],["parent/125",[96,3.094]],["name/126",[47,45.156]],["parent/126",[96,3.094]],["name/127",[98,53.629]],["parent/127",[96,3.094]],["name/128",[99,53.629]],["parent/128",[96,3.094]],["name/129",[100,53.629]],["parent/129",[96,3.094]],["name/130",[101,53.629]],["parent/130",[96,3.094]],["name/131",[102,53.629]],["parent/131",[96,3.094]],["name/132",[103,53.629]],["parent/132",[96,3.094]],["name/133",[104,53.629]],["parent/133",[96,3.094]],["name/134",[105,53.629]],["parent/134",[96,3.094]],["name/135",[44,18.075]],["parent/135",[106,5.242]],["name/136",[107,53.629]],["parent/136",[88,1.596]],["name/137",[108,48.52]],["parent/137",[109,4.414]],["name/138",[110,53.629]],["parent/138",[109,4.414]],["name/139",[111,53.629]],["parent/139",[109,4.414]],["name/140",[112,53.629]],["parent/140",[88,1.596]],["name/141",[108,48.52]],["parent/141",[113,4.743]],["name/142",[114,53.629]],["parent/142",[113,4.743]],["name/143",[115,53.629]],["parent/143",[88,1.596]],["name/144",[116,53.629]],["parent/144",[117,4.414]],["name/145",[118,53.629]],["parent/145",[117,4.414]],["name/146",[119,45.156]],["parent/146",[117,4.414]],["name/147",[120,53.629]],["parent/147",[88,1.596]],["name/148",[119,45.156]],["parent/148",[121,4.743]],["name/149",[122,53.629]],["parent/149",[121,4.743]],["name/150",[123,53.629]],["parent/150",[88,1.596]],["name/151",[40,45.156]],["parent/151",[124,4.414]],["name/152",[125,53.629]],["parent/152",[124,4.414]],["name/153",[119,45.156]],["parent/153",[124,4.414]],["name/154",[126,53.629]],["parent/154",[88,1.596]],["name/155",[127,53.629]],["parent/155",[128,3.34]],["name/156",[129,53.629]],["parent/156",[128,3.34]],["name/157",[130,53.629]],["parent/157",[128,3.34]],["name/158",[131,48.52]],["parent/158",[128,3.34]],["name/159",[132,53.629]],["parent/159",[128,3.34]],["name/160",[133,53.629]],["parent/160",[128,3.34]],["name/161",[134,53.629]],["parent/161",[128,3.34]],["name/162",[135,53.629]],["parent/162",[128,3.34]],["name/163",[136,53.629]],["parent/163",[128,3.34]],["name/164",[137,53.629]],["parent/164",[128,3.34]],["name/165",[138,53.629]],["parent/165",[88,1.596]],["name/166",[139,53.629]],["parent/166",[140,5.242]],["name/167",[141,53.629]],["parent/167",[88,1.596]],["name/168",[65,48.52]],["parent/168",[142,4.743]],["name/169",[27,38.965]],["parent/169",[142,4.743]],["name/170",[143,53.629]],["parent/170",[88,1.596]],["name/171",[144,53.629]],["parent/171",[88,1.596]],["name/172",[145,53.629]],["parent/172",[88,1.596]],["name/173",[44,18.075]],["parent/173",[146,5.242]],["name/174",[147,53.629]],["parent/174",[88,1.596]],["name/175",[44,18.075]],["parent/175",[148,5.242]],["name/176",[149,53.629]],["parent/176",[88,1.596]],["name/177",[44,18.075]],["parent/177",[150,5.242]],["name/178",[151,53.629]],["parent/178",[88,1.596]],["name/179",[44,18.075]],["parent/179",[152,5.242]],["name/180",[153,53.629]],["parent/180",[88,1.596]],["name/181",[44,18.075]],["parent/181",[154,5.242]],["name/182",[155,53.629]],["parent/182",[88,1.596]],["name/183",[44,18.075]],["parent/183",[156,5.242]],["name/184",[157,53.629]],["parent/184",[88,1.596]],["name/185",[44,18.075]],["parent/185",[158,5.242]],["name/186",[159,53.629]],["parent/186",[88,1.596]],["name/187",[44,18.075]],["parent/187",[160,5.242]],["name/188",[161,53.629]],["parent/188",[88,1.596]],["name/189",[44,18.075]],["parent/189",[162,5.242]],["name/190",[163,53.629]],["parent/190",[88,1.596]],["name/191",[44,18.075]],["parent/191",[164,5.242]],["name/192",[165,53.629]],["parent/192",[88,1.596]],["name/193",[44,18.075]],["parent/193",[166,5.242]],["name/194",[167,53.629]],["parent/194",[88,1.596]],["name/195",[44,18.075]],["parent/195",[168,5.242]],["name/196",[169,53.629]],["parent/196",[88,1.596]],["name/197",[44,18.075]],["parent/197",[170,5.242]],["name/198",[171,48.52]],["parent/198",[88,1.596]],["name/199",[172,53.629]],["parent/199",[88,1.596]],["name/200",[173,53.629]],["parent/200",[88,1.596]],["name/201",[174,53.629]],["parent/201",[88,1.596]],["name/202",[44,18.075]],["parent/202",[175,5.242]],["name/203",[176,53.629]],["parent/203",[177,5.242]],["name/204",[44,18.075]],["parent/204",[178,5.242]],["name/205",[179,53.629]],["parent/205",[180,5.242]],["name/206",[181,53.629]],["parent/206",[88,1.596]],["name/207",[44,18.075]],["parent/207",[182,5.242]],["name/208",[183,53.629]],["parent/208",[184,5.242]],["name/209",[44,18.075]],["parent/209",[185,5.242]],["name/210",[186,45.156]],["parent/210",[187,4.743]],["name/211",[90,45.156]],["parent/211",[187,4.743]],["name/212",[188,53.629]],["parent/212",[88,1.596]],["name/213",[44,18.075]],["parent/213",[189,5.242]],["name/214",[190,53.629]],["parent/214",[191,5.242]],["name/215",[44,18.075]],["parent/215",[192,5.242]],["name/216",[186,45.156]],["parent/216",[193,3.972]],["name/217",[90,45.156]],["parent/217",[193,3.972]],["name/218",[92,48.52]],["parent/218",[193,3.972]],["name/219",[93,48.52]],["parent/219",[193,3.972]],["name/220",[94,48.52]],["parent/220",[193,3.972]],["name/221",[194,53.629]],["parent/221",[88,1.596]],["name/222",[44,18.075]],["parent/222",[195,5.242]],["name/223",[68,45.156]],["parent/223",[196,5.242]],["name/224",[44,18.075]],["parent/224",[197,5.242]],["name/225",[171,48.52]],["parent/225",[198,4.168]],["name/226",[199,53.629]],["parent/226",[198,4.168]],["name/227",[200,53.629]],["parent/227",[198,4.168]],["name/228",[201,53.629]],["parent/228",[198,4.168]],["name/229",[202,53.629]],["parent/229",[88,1.596]],["name/230",[44,18.075]],["parent/230",[203,5.242]],["name/231",[50,48.52]],["parent/231",[204,5.242]],["name/232",[44,18.075]],["parent/232",[205,5.242]],["name/233",[206,45.156]],["parent/233",[207,4.743]],["name/234",[186,45.156]],["parent/234",[207,4.743]],["name/235",[208,53.629]],["parent/235",[88,1.596]],["name/236",[44,18.075]],["parent/236",[209,5.242]],["name/237",[42,45.156]],["parent/237",[210,5.242]],["name/238",[44,18.075]],["parent/238",[211,5.242]],["name/239",[212,53.629]],["parent/239",[213,5.242]],["name/240",[214,53.629]],["parent/240",[88,1.596]],["name/241",[44,18.075]],["parent/241",[215,5.242]],["name/242",[71,45.156]],["parent/242",[216,5.242]],["name/243",[44,18.075]],["parent/243",[217,5.242]],["name/244",[206,45.156]],["parent/244",[218,4.743]],["name/245",[219,53.629]],["parent/245",[218,4.743]],["name/246",[220,53.629]],["parent/246",[88,1.596]],["name/247",[44,18.075]],["parent/247",[221,5.242]],["name/248",[47,45.156]],["parent/248",[222,5.242]],["name/249",[44,18.075]],["parent/249",[223,5.242]],["name/250",[206,45.156]],["parent/250",[224,4.743]],["name/251",[225,53.629]],["parent/251",[224,4.743]],["name/252",[226,53.629]],["parent/252",[88,1.596]],["name/253",[227,53.629]],["parent/253",[88,1.596]],["name/254",[44,18.075]],["parent/254",[228,5.242]],["name/255",[229,48.52]],["parent/255",[88,1.596]],["name/256",[44,18.075]],["parent/256",[230,5.242]],["name/257",[231,53.629]],["parent/257",[88,1.596]],["name/258",[232,53.629]],["parent/258",[88,1.596]],["name/259",[44,18.075]],["parent/259",[233,5.242]],["name/260",[234,53.629]],["parent/260",[88,1.596]],["name/261",[235,53.629]],["parent/261",[88,1.596]],["name/262",[236,53.629]],["parent/262",[88,1.596]],["name/263",[237,53.629]],["parent/263",[88,1.596]],["name/264",[238,53.629]],["parent/264",[88,1.596]],["name/265",[239,53.629]],["parent/265",[88,1.596]],["name/266",[44,18.075]],["parent/266",[240,5.242]],["name/267",[241,53.629]],["parent/267",[88,1.596]],["name/268",[242,53.629]],["parent/268",[88,1.596]],["name/269",[44,18.075]],["parent/269",[243,5.242]],["name/270",[39,48.52]],["parent/270",[244,3.972]],["name/271",[38,48.52]],["parent/271",[244,3.972]],["name/272",[40,45.156]],["parent/272",[244,3.972]],["name/273",[245,53.629]],["parent/273",[244,3.972]],["name/274",[246,53.629]],["parent/274",[244,3.972]],["name/275",[247,53.629]],["parent/275",[88,1.596]],["name/276",[248,53.629]],["parent/276",[88,1.596]],["name/277",[44,18.075]],["parent/277",[249,5.242]],["name/278",[250,53.629]],["parent/278",[88,1.596]],["name/279",[251,53.629]],["parent/279",[88,1.596]],["name/280",[44,18.075]],["parent/280",[252,5.242]],["name/281",[253,53.629]],["parent/281",[88,1.596]],["name/282",[44,18.075]],["parent/282",[254,5.242]],["name/283",[255,53.629]],["parent/283",[88,1.596]],["name/284",[44,18.075]],["parent/284",[256,5.242]],["name/285",[257,53.629]],["parent/285",[88,1.596]],["name/286",[44,18.075]],["parent/286",[258,5.242]],["name/287",[259,53.629]],["parent/287",[88,1.596]],["name/288",[44,18.075]],["parent/288",[260,5.242]],["name/289",[16,26.548]],["parent/289",[261,4.743]],["name/290",[17,27.003]],["parent/290",[261,4.743]],["name/291",[262,53.629]],["parent/291",[88,1.596]],["name/292",[44,18.075]],["parent/292",[263,5.242]],["name/293",[17,27.003]],["parent/293",[264,4.743]],["name/294",[16,26.548]],["parent/294",[264,4.743]],["name/295",[265,53.629]],["parent/295",[88,1.596]],["name/296",[266,53.629]],["parent/296",[88,1.596]],["name/297",[267,53.629]],["parent/297",[88,1.596]],["name/298",[44,18.075]],["parent/298",[268,5.242]],["name/299",[269,42.642]],["parent/299",[]],["name/300",[16,26.548]],["parent/300",[269,4.168]],["name/301",[270,53.629]],["parent/301",[269,4.168]],["name/302",[17,27.003]],["parent/302",[269,4.168]],["name/303",[271,38.965]],["parent/303",[]],["name/304",[272,53.629]],["parent/304",[271,3.809]],["name/305",[131,48.52]],["parent/305",[271,3.809]],["name/306",[273,53.629]],["parent/306",[271,3.809]],["name/307",[274,53.629]],["parent/307",[271,3.809]],["name/308",[275,53.629]],["parent/308",[271,3.809]],["name/309",[276,34.169]],["parent/309",[]],["name/310",[277,53.629]],["parent/310",[276,3.34]],["name/311",[278,53.629]],["parent/311",[276,3.34]],["name/312",[279,53.629]],["parent/312",[276,3.34]],["name/313",[280,53.629]],["parent/313",[276,3.34]],["name/314",[281,53.629]],["parent/314",[276,3.34]],["name/315",[282,53.629]],["parent/315",[276,3.34]],["name/316",[283,53.629]],["parent/316",[276,3.34]],["name/317",[284,53.629]],["parent/317",[276,3.34]],["name/318",[229,48.52]],["parent/318",[276,3.34]]],"invertedIndex":[["__type",{"_index":44,"name":{"60":{},"64":{},"68":{},"72":{},"76":{},"80":{},"84":{},"93":{},"97":{},"135":{},"173":{},"175":{},"177":{},"179":{},"181":{},"183":{},"185":{},"187":{},"189":{},"191":{},"193":{},"195":{},"197":{},"202":{},"204":{},"207":{},"209":{},"213":{},"215":{},"222":{},"224":{},"230":{},"232":{},"236":{},"238":{},"241":{},"243":{},"247":{},"249":{},"254":{},"256":{},"259":{},"266":{},"269":{},"277":{},"280":{},"282":{},"284":{},"286":{},"288":{},"292":{},"298":{}},"parent":{}}],["_connect",{"_index":283,"name":{"316":{}},"parent":{}}],["_convert",{"_index":87,"name":{"114":{}},"parent":{}}],["_operate",{"_index":97,"name":{"125":{}},"parent":{}}],["_searchall",{"_index":8,"name":{"8":{}},"parent":{}}],["add",{"_index":47,"name":{"63":{},"126":{},"248":{}},"parent":{}}],["addcommand",{"_index":149,"name":{"176":{}},"parent":{}}],["adddot",{"_index":31,"name":{"45":{}},"parent":{}}],["allowpartial",{"_index":206,"name":{"233":{},"244":{},"250":{}},"parent":{}}],["args",{"_index":246,"name":{"274":{}},"parent":{}}],["body",{"_index":125,"name":{"152":{}},"parent":{}}],["ca",{"_index":135,"name":{"162":{}},"parent":{}}],["callargs",{"_index":250,"name":{"278":{}},"parent":{}}],["callfn",{"_index":267,"name":{"297":{}},"parent":{}}],["cert",{"_index":137,"name":{"164":{}},"parent":{}}],["certtype",{"_index":236,"name":{"262":{}},"parent":{}}],["clearfn",{"_index":251,"name":{"279":{}},"parent":{}}],["command",{"_index":171,"name":{"198":{},"225":{}},"parent":{}}],["commandkey",{"_index":199,"name":{"226":{}},"parent":{}}],["commandobject",{"_index":262,"name":{"291":{}},"parent":{}}],["commands",{"_index":41,"name":{"58":{}},"parent":{}}],["commands/add",{"_index":269,"name":{"299":{}},"parent":{"300":{},"301":{},"302":{}}}],["commands/del",{"_index":20,"name":{"22":{}},"parent":{"23":{},"24":{}}}],["commands/get",{"_index":15,"name":{"15":{}},"parent":{"16":{},"17":{}}}],["commands/index",{"_index":37,"name":{"54":{}},"parent":{"55":{},"56":{},"57":{},"58":{},"100":{},"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"107":{},"108":{},"109":{},"110":{},"111":{},"112":{},"113":{},"114":{}}}],["commands/index\".commands",{"_index":43,"name":{},"parent":{"59":{},"63":{},"67":{},"71":{},"75":{},"79":{},"83":{},"92":{},"96":{}}}],["commands/index\".commands.add",{"_index":48,"name":{},"parent":{"64":{}}}],["commands/index\".commands.add.__type",{"_index":49,"name":{},"parent":{"65":{},"66":{}}}],["commands/index\".commands.delete",{"_index":51,"name":{},"parent":{"68":{}}}],["commands/index\".commands.delete.__type",{"_index":52,"name":{},"parent":{"69":{},"70":{}}}],["commands/index\".commands.get",{"_index":45,"name":{},"parent":{"60":{}}}],["commands/index\".commands.get.__type",{"_index":46,"name":{},"parent":{"61":{},"62":{}}}],["commands/index\".commands.get_instances",{"_index":54,"name":{},"parent":{"72":{}}}],["commands/index\".commands.get_instances.__type",{"_index":55,"name":{},"parent":{"73":{},"74":{}}}],["commands/index\".commands.get_supported_dm",{"_index":57,"name":{},"parent":{"76":{}}}],["commands/index\".commands.get_supported_dm.__type",{"_index":58,"name":{},"parent":{"77":{},"78":{}}}],["commands/index\".commands.get_supported_proto",{"_index":60,"name":{},"parent":{"80":{}}}],["commands/index\".commands.get_supported_proto.__type",{"_index":61,"name":{},"parent":{"81":{},"82":{}}}],["commands/index\".commands.notify",{"_index":63,"name":{},"parent":{"84":{}}}],["commands/index\".commands.notify.__type",{"_index":64,"name":{},"parent":{"85":{},"86":{},"87":{},"88":{},"89":{}}}],["commands/index\".commands.notify.__type.trigger",{"_index":67,"name":{},"parent":{"90":{},"91":{}}}],["commands/index\".commands.operate",{"_index":69,"name":{},"parent":{"93":{}}}],["commands/index\".commands.operate.__type",{"_index":70,"name":{},"parent":{"94":{},"95":{}}}],["commands/index\".commands.set",{"_index":72,"name":{},"parent":{"97":{}}}],["commands/index\".commands.set.__type",{"_index":73,"name":{},"parent":{"98":{},"99":{}}}],["commands/instances",{"_index":24,"name":{"34":{}},"parent":{"35":{},"36":{}}}],["commands/notify",{"_index":25,"name":{"37":{}},"parent":{"38":{},"39":{},"40":{},"41":{}}}],["commands/operate",{"_index":21,"name":{"25":{}},"parent":{"26":{},"27":{}}}],["commands/proto",{"_index":23,"name":{"31":{}},"parent":{"32":{},"33":{}}}],["commands/recipes/operate",{"_index":33,"name":{"48":{}},"parent":{"49":{},"50":{}}}],["commands/recipes/resolve",{"_index":28,"name":{"42":{}},"parent":{"43":{},"44":{},"45":{},"46":{},"47":{}}}],["commands/recipes/subscribe",{"_index":35,"name":{"51":{}},"parent":{"52":{},"53":{}}}],["commands/set",{"_index":18,"name":{"18":{}},"parent":{"19":{},"20":{},"21":{}}}],["commands/supported",{"_index":22,"name":{"28":{}},"parent":{"29":{},"30":{}}}],["commands/util",{"_index":0,"name":{"0":{}},"parent":{"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{}}}],["commandtrigger",{"_index":259,"name":{"287":{}},"parent":{}}],["commandtype",{"_index":143,"name":{"170":{}},"parent":{}}],["connect",{"_index":229,"name":{"255":{},"318":{}},"parent":{}}],["connectionevents",{"_index":138,"name":{"165":{}},"parent":{}}],["connectionoptions",{"_index":237,"name":{"263":{}},"parent":{}}],["controllersupportedprotocolversions",{"_index":179,"name":{"205":{}},"parent":{}}],["convert",{"_index":80,"name":{"107":{}},"parent":{}}],["createobjs",{"_index":225,"name":{"251":{}},"parent":{}}],["decode",{"_index":16,"name":{"16":{},"19":{},"23":{},"26":{},"29":{},"32":{},"35":{},"39":{},"61":{},"65":{},"69":{},"73":{},"77":{},"81":{},"85":{},"91":{},"94":{},"98":{},"105":{},"289":{},"294":{},"300":{}},"parent":{}}],["decodefn",{"_index":239,"name":{"265":{}},"parent":{}}],["decodeid",{"_index":76,"name":{"102":{}},"parent":{}}],["decoderesponse",{"_index":241,"name":{"267":{}},"parent":{}}],["defaultfromid",{"_index":280,"name":{"313":{}},"parent":{}}],["defaultidendpoint",{"_index":279,"name":{"312":{}},"parent":{}}],["defaultpublishendpoint",{"_index":277,"name":{"310":{}},"parent":{}}],["defaultsubscribeendpoint",{"_index":278,"name":{"311":{}},"parent":{}}],["del",{"_index":98,"name":{"127":{}},"parent":{}}],["delcommand",{"_index":151,"name":{"178":{}},"parent":{}}],["delete",{"_index":50,"name":{"67":{},"231":{}},"parent":{}}],["digitdotre",{"_index":2,"name":{"2":{}},"parent":{}}],["digitre",{"_index":1,"name":{"1":{}},"parent":{}}],["disconnect",{"_index":105,"name":{"134":{}},"parent":{}}],["encode",{"_index":17,"name":{"17":{},"21":{},"24":{},"27":{},"30":{},"33":{},"36":{},"40":{},"62":{},"66":{},"70":{},"74":{},"78":{},"82":{},"86":{},"90":{},"95":{},"99":{},"290":{},"293":{},"302":{}},"parent":{}}],["encodeargs",{"_index":242,"name":{"268":{}},"parent":{}}],["encodefn",{"_index":248,"name":{"276":{}},"parent":{}}],["extractcommand",{"_index":10,"name":{"10":{}},"parent":{}}],["firstisindex",{"_index":4,"name":{"4":{}},"parent":{}}],["firstlevelonly",{"_index":90,"name":{"117":{},"211":{},"217":{}},"parent":{}}],["fixid",{"_index":284,"name":{"317":{}},"parent":{}}],["fromid",{"_index":130,"name":{"157":{}},"parent":{}}],["get",{"_index":42,"name":{"59":{},"122":{},"237":{}},"parent":{}}],["get_instances",{"_index":53,"name":{"71":{}},"parent":{}}],["get_supported_dm",{"_index":56,"name":{"75":{}},"parent":{}}],["get_supported_proto",{"_index":59,"name":{"79":{}},"parent":{}}],["getcommand",{"_index":145,"name":{"172":{}},"parent":{}}],["getinstances",{"_index":183,"name":{"208":{}},"parent":{}}],["getreturn",{"_index":144,"name":{"171":{}},"parent":{}}],["getsupporteddm",{"_index":190,"name":{"214":{}},"parent":{}}],["getsupportedprotocol",{"_index":176,"name":{"203":{}},"parent":{}}],["header",{"_index":40,"name":{"57":{},"151":{},"272":{}},"parent":{}}],["hostconnectionoptions",{"_index":235,"name":{"261":{}},"parent":{}}],["id",{"_index":108,"name":{"137":{},"141":{}},"parent":{}}],["idendpoint",{"_index":132,"name":{"159":{}},"parent":{}}],["idresolvetimeout",{"_index":281,"name":{"314":{}},"parent":{}}],["index",{"_index":276,"name":{"309":{}},"parent":{"310":{},"311":{},"312":{},"313":{},"314":{},"315":{},"316":{},"317":{},"318":{}}}],["inputargs",{"_index":201,"name":{"228":{}},"parent":{}}],["inputrecord",{"_index":173,"name":{"200":{}},"parent":{}}],["instances",{"_index":102,"name":{"131":{}},"parent":{}}],["instancescommand",{"_index":163,"name":{"190":{}},"parent":{}}],["internalkeys",{"_index":82,"name":{"109":{}},"parent":{}}],["isdigit",{"_index":3,"name":{"3":{}},"parent":{}}],["iserror",{"_index":81,"name":{"108":{}},"parent":{}}],["isinternal",{"_index":83,"name":{"110":{}},"parent":{}}],["isobj",{"_index":270,"name":{"301":{}},"parent":{}}],["isobject",{"_index":19,"name":{"20":{}},"parent":{}}],["isreference",{"_index":30,"name":{"44":{}},"parent":{}}],["isregexp",{"_index":273,"name":{"306":{}},"parent":{}}],["isstringarray",{"_index":85,"name":{"112":{}},"parent":{}}],["isurl",{"_index":282,"name":{"315":{}},"parent":{}}],["jsvalue",{"_index":266,"name":{"296":{}},"parent":{}}],["key",{"_index":136,"name":{"163":{}},"parent":{}}],["lookup",{"_index":119,"name":{"146":{},"148":{},"153":{}},"parent":{}}],["make",{"_index":27,"name":{"41":{},"47":{},"50":{},"53":{},"87":{},"169":{}},"parent":{}}],["makebuffer",{"_index":13,"name":{"13":{}},"parent":{}}],["makecallbackrouter",{"_index":275,"name":{"308":{}},"parent":{}}],["makeencode",{"_index":79,"name":{"106":{}},"parent":{}}],["makefn",{"_index":255,"name":{"283":{}},"parent":{}}],["makepayload",{"_index":84,"name":{"111":{}},"parent":{}}],["makerecipefn",{"_index":257,"name":{"285":{}},"parent":{}}],["makerecipes",{"_index":75,"name":{"101":{}},"parent":{}}],["makerouter",{"_index":272,"name":{"304":{}},"parent":{}}],["msgid",{"_index":116,"name":{"144":{}},"parent":{}}],["msgtype",{"_index":118,"name":{"145":{}},"parent":{}}],["name",{"_index":65,"name":{"88":{},"168":{}},"parent":{}}],["needsconversion",{"_index":86,"name":{"113":{}},"parent":{}}],["notif",{"_index":110,"name":{"138":{}},"parent":{}}],["notiftype",{"_index":231,"name":{"257":{}},"parent":{}}],["notify",{"_index":62,"name":{"83":{}},"parent":{}}],["objpaths",{"_index":186,"name":{"210":{},"216":{},"234":{}},"parent":{}}],["on",{"_index":104,"name":{"133":{}},"parent":{}}],["onerror",{"_index":139,"name":{"166":{}},"parent":{}}],["onfn",{"_index":253,"name":{"281":{}},"parent":{}}],["onident",{"_index":247,"name":{"275":{}},"parent":{}}],["operate",{"_index":68,"name":{"92":{},"124":{},"223":{}},"parent":{}}],["operateclearfn",{"_index":155,"name":{"182":{}},"parent":{}}],["operatecommand",{"_index":159,"name":{"186":{}},"parent":{}}],["operatefn",{"_index":153,"name":{"180":{}},"parent":{}}],["operateoptions",{"_index":112,"name":{"140":{}},"parent":{}}],["operaterecipe",{"_index":157,"name":{"184":{}},"parent":{}}],["operatesubscriptionpath",{"_index":34,"name":{"49":{}},"parent":{}}],["options",{"_index":245,"name":{"273":{}},"parent":{}}],["otherconnectionoptions",{"_index":126,"name":{"154":{}},"parent":{}}],["parampaths",{"_index":212,"name":{"239":{}},"parent":{}}],["parseinfo",{"_index":26,"name":{"38":{}},"parent":{}}],["password",{"_index":129,"name":{"156":{}},"parent":{}}],["pbrequestbody",{"_index":120,"name":{"147":{}},"parent":{}}],["pbrequestcommand",{"_index":172,"name":{"199":{}},"parent":{}}],["pbrequestcommandadd",{"_index":220,"name":{"246":{}},"parent":{}}],["pbrequestcommanddel",{"_index":202,"name":{"229":{}},"parent":{}}],["pbrequestcommandget",{"_index":208,"name":{"235":{}},"parent":{}}],["pbrequestcommandinstance",{"_index":181,"name":{"206":{}},"parent":{}}],["pbrequestcommandoperate",{"_index":194,"name":{"221":{}},"parent":{}}],["pbrequestcommandset",{"_index":214,"name":{"240":{}},"parent":{}}],["pbrequestcommandsupport",{"_index":188,"name":{"212":{}},"parent":{}}],["pbrequestcommandsupportproto",{"_index":174,"name":{"201":{}},"parent":{}}],["pbrequestheader",{"_index":115,"name":{"143":{}},"parent":{}}],["pbrequestmessage",{"_index":123,"name":{"150":{}},"parent":{}}],["persistent",{"_index":114,"name":{"142":{}},"parent":{}}],["promiseclearfn",{"_index":169,"name":{"196":{}},"parent":{}}],["publishendpoint",{"_index":133,"name":{"160":{}},"parent":{}}],["readmsg",{"_index":78,"name":{"104":{}},"parent":{}}],["recipe",{"_index":226,"name":{"252":{}},"parent":{}}],["recipeobject",{"_index":141,"name":{"167":{}},"parent":{}}],["recipes",{"_index":74,"name":{"100":{}},"parent":{}}],["reference",{"_index":111,"name":{"139":{}},"parent":{}}],["request",{"_index":122,"name":{"149":{}},"parent":{}}],["resolve",{"_index":99,"name":{"128":{}},"parent":{}}],["resolverecipe",{"_index":227,"name":{"253":{}},"parent":{}}],["resolvereferences",{"_index":32,"name":{"46":{}},"parent":{}}],["response",{"_index":238,"name":{"264":{}},"parent":{}}],["responseid",{"_index":265,"name":{"295":{}},"parent":{}}],["returncommands",{"_index":92,"name":{"118":{},"218":{}},"parent":{}}],["returnevents",{"_index":93,"name":{"119":{},"219":{}},"parent":{}}],["returnparams",{"_index":94,"name":{"120":{},"220":{}},"parent":{}}],["rootmsg",{"_index":39,"name":{"56":{},"270":{}},"parent":{}}],["rootrecord",{"_index":38,"name":{"55":{},"271":{}},"parent":{}}],["satisfies",{"_index":274,"name":{"307":{}},"parent":{}}],["search",{"_index":6,"name":{"6":{}},"parent":{}}],["searchall",{"_index":9,"name":{"9":{}},"parent":{}}],["searchparent",{"_index":7,"name":{"7":{}},"parent":{}}],["sendresp",{"_index":200,"name":{"227":{}},"parent":{}}],["set",{"_index":71,"name":{"96":{},"123":{},"242":{}},"parent":{}}],["setcommand",{"_index":147,"name":{"174":{}},"parent":{}}],["splitreference",{"_index":29,"name":{"43":{}},"parent":{}}],["subscribe",{"_index":103,"name":{"132":{}},"parent":{}}],["subscribeendpoint",{"_index":134,"name":{"161":{}},"parent":{}}],["subscriberecipe",{"_index":167,"name":{"194":{}},"parent":{}}],["subscriptioncallback",{"_index":232,"name":{"258":{}},"parent":{}}],["subscriptionoptions",{"_index":107,"name":{"136":{}},"parent":{}}],["subscriptionpath",{"_index":36,"name":{"52":{}},"parent":{}}],["suportedcommandopts",{"_index":89,"name":{"116":{}},"parent":{}}],["supporteddm",{"_index":100,"name":{"129":{}},"parent":{}}],["supporteddmcommand",{"_index":161,"name":{"188":{}},"parent":{}}],["supportedproto",{"_index":101,"name":{"130":{}},"parent":{}}],["supportedprotocommand",{"_index":165,"name":{"192":{}},"parent":{}}],["toid",{"_index":131,"name":{"158":{},"305":{}},"parent":{}}],["trigger",{"_index":66,"name":{"89":{}},"parent":{}}],["types",{"_index":88,"name":{"115":{}},"parent":{"116":{},"121":{},"136":{},"140":{},"143":{},"147":{},"150":{},"154":{},"165":{},"167":{},"170":{},"171":{},"172":{},"174":{},"176":{},"178":{},"180":{},"182":{},"184":{},"186":{},"188":{},"190":{},"192":{},"194":{},"196":{},"198":{},"199":{},"200":{},"201":{},"206":{},"212":{},"221":{},"229":{},"235":{},"240":{},"246":{},"252":{},"253":{},"255":{},"257":{},"258":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"267":{},"268":{},"275":{},"276":{},"278":{},"279":{},"281":{},"283":{},"285":{},"287":{},"291":{},"295":{},"296":{},"297":{}}}],["types\".addcommand",{"_index":150,"name":{},"parent":{"177":{}}}],["types\".callfn",{"_index":268,"name":{},"parent":{"298":{}}}],["types\".clearfn",{"_index":252,"name":{},"parent":{"280":{}}}],["types\".commandobject",{"_index":263,"name":{},"parent":{"292":{}}}],["types\".commandobject.__type",{"_index":264,"name":{},"parent":{"293":{},"294":{}}}],["types\".commandtrigger",{"_index":260,"name":{},"parent":{"288":{}}}],["types\".commandtrigger.__type",{"_index":261,"name":{},"parent":{"289":{},"290":{}}}],["types\".connect",{"_index":230,"name":{},"parent":{"256":{}}}],["types\".connectionevents",{"_index":140,"name":{},"parent":{"166":{}}}],["types\".decodefn",{"_index":240,"name":{},"parent":{"266":{}}}],["types\".delcommand",{"_index":152,"name":{},"parent":{"179":{}}}],["types\".encodeargs",{"_index":243,"name":{},"parent":{"269":{}}}],["types\".encodeargs.__type",{"_index":244,"name":{},"parent":{"270":{},"271":{},"272":{},"273":{},"274":{}}}],["types\".encodefn",{"_index":249,"name":{},"parent":{"277":{}}}],["types\".getcommand",{"_index":146,"name":{},"parent":{"173":{}}}],["types\".instancescommand",{"_index":164,"name":{},"parent":{"191":{}}}],["types\".makefn",{"_index":256,"name":{},"parent":{"284":{}}}],["types\".makerecipefn",{"_index":258,"name":{},"parent":{"286":{}}}],["types\".onfn",{"_index":254,"name":{},"parent":{"282":{}}}],["types\".operateclearfn",{"_index":156,"name":{},"parent":{"183":{}}}],["types\".operatecommand",{"_index":160,"name":{},"parent":{"187":{}}}],["types\".operatefn",{"_index":154,"name":{},"parent":{"181":{}}}],["types\".operateoptions",{"_index":113,"name":{},"parent":{"141":{},"142":{}}}],["types\".operaterecipe",{"_index":158,"name":{},"parent":{"185":{}}}],["types\".otherconnectionoptions",{"_index":128,"name":{},"parent":{"155":{},"156":{},"157":{},"158":{},"159":{},"160":{},"161":{},"162":{},"163":{},"164":{}}}],["types\".pbrequestbody",{"_index":121,"name":{},"parent":{"148":{},"149":{}}}],["types\".pbrequestcommandadd",{"_index":221,"name":{},"parent":{"247":{}}}],["types\".pbrequestcommandadd.__type",{"_index":222,"name":{},"parent":{"248":{}}}],["types\".pbrequestcommandadd.__type.add",{"_index":223,"name":{},"parent":{"249":{}}}],["types\".pbrequestcommandadd.__type.add.__type",{"_index":224,"name":{},"parent":{"250":{},"251":{}}}],["types\".pbrequestcommanddel",{"_index":203,"name":{},"parent":{"230":{}}}],["types\".pbrequestcommanddel.__type",{"_index":204,"name":{},"parent":{"231":{}}}],["types\".pbrequestcommanddel.__type.delete",{"_index":205,"name":{},"parent":{"232":{}}}],["types\".pbrequestcommanddel.__type.delete.__type",{"_index":207,"name":{},"parent":{"233":{},"234":{}}}],["types\".pbrequestcommandget",{"_index":209,"name":{},"parent":{"236":{}}}],["types\".pbrequestcommandget.__type",{"_index":210,"name":{},"parent":{"237":{}}}],["types\".pbrequestcommandget.__type.get",{"_index":211,"name":{},"parent":{"238":{}}}],["types\".pbrequestcommandget.__type.get.__type",{"_index":213,"name":{},"parent":{"239":{}}}],["types\".pbrequestcommandinstance",{"_index":182,"name":{},"parent":{"207":{}}}],["types\".pbrequestcommandinstance.__type",{"_index":184,"name":{},"parent":{"208":{}}}],["types\".pbrequestcommandinstance.__type.getinstances",{"_index":185,"name":{},"parent":{"209":{}}}],["types\".pbrequestcommandinstance.__type.getinstances.__type",{"_index":187,"name":{},"parent":{"210":{},"211":{}}}],["types\".pbrequestcommandoperate",{"_index":195,"name":{},"parent":{"222":{}}}],["types\".pbrequestcommandoperate.__type",{"_index":196,"name":{},"parent":{"223":{}}}],["types\".pbrequestcommandoperate.__type.operate",{"_index":197,"name":{},"parent":{"224":{}}}],["types\".pbrequestcommandoperate.__type.operate.__type",{"_index":198,"name":{},"parent":{"225":{},"226":{},"227":{},"228":{}}}],["types\".pbrequestcommandset",{"_index":215,"name":{},"parent":{"241":{}}}],["types\".pbrequestcommandset.__type",{"_index":216,"name":{},"parent":{"242":{}}}],["types\".pbrequestcommandset.__type.set",{"_index":217,"name":{},"parent":{"243":{}}}],["types\".pbrequestcommandset.__type.set.__type",{"_index":218,"name":{},"parent":{"244":{},"245":{}}}],["types\".pbrequestcommandsupport",{"_index":189,"name":{},"parent":{"213":{}}}],["types\".pbrequestcommandsupport.__type",{"_index":191,"name":{},"parent":{"214":{}}}],["types\".pbrequestcommandsupport.__type.getsupporteddm",{"_index":192,"name":{},"parent":{"215":{}}}],["types\".pbrequestcommandsupport.__type.getsupporteddm.__type",{"_index":193,"name":{},"parent":{"216":{},"217":{},"218":{},"219":{},"220":{}}}],["types\".pbrequestcommandsupportproto",{"_index":175,"name":{},"parent":{"202":{}}}],["types\".pbrequestcommandsupportproto.__type",{"_index":177,"name":{},"parent":{"203":{}}}],["types\".pbrequestcommandsupportproto.__type.getsupportedprotocol",{"_index":178,"name":{},"parent":{"204":{}}}],["types\".pbrequestcommandsupportproto.__type.getsupportedprotocol.__type",{"_index":180,"name":{},"parent":{"205":{}}}],["types\".pbrequestheader",{"_index":117,"name":{},"parent":{"144":{},"145":{},"146":{}}}],["types\".pbrequestmessage",{"_index":124,"name":{},"parent":{"151":{},"152":{},"153":{}}}],["types\".promiseclearfn",{"_index":170,"name":{},"parent":{"197":{}}}],["types\".recipeobject",{"_index":142,"name":{},"parent":{"168":{},"169":{}}}],["types\".resolverecipe",{"_index":228,"name":{},"parent":{"254":{}}}],["types\".setcommand",{"_index":148,"name":{},"parent":{"175":{}}}],["types\".subscriberecipe",{"_index":168,"name":{},"parent":{"195":{}}}],["types\".subscriptioncallback",{"_index":233,"name":{},"parent":{"259":{}}}],["types\".subscriptionoptions",{"_index":109,"name":{},"parent":{"137":{},"138":{},"139":{}}}],["types\".suportedcommandopts",{"_index":91,"name":{},"parent":{"117":{},"118":{},"119":{},"120":{}}}],["types\".supporteddmcommand",{"_index":162,"name":{},"parent":{"189":{}}}],["types\".supportedprotocommand",{"_index":166,"name":{},"parent":{"193":{}}}],["types\".usp",{"_index":96,"name":{},"parent":{"122":{},"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{},"130":{},"131":{},"132":{},"133":{},"134":{}}}],["types\".usp.disconnect",{"_index":106,"name":{},"parent":{"135":{}}}],["unflatten",{"_index":5,"name":{"5":{}},"parent":{}}],["uniq",{"_index":14,"name":{"14":{}},"parent":{}}],["unkownerr",{"_index":77,"name":{"103":{}},"parent":{}}],["unwraparray",{"_index":12,"name":{"12":{}},"parent":{}}],["unwrapobject",{"_index":11,"name":{"11":{}},"parent":{}}],["updateobjs",{"_index":219,"name":{"245":{}},"parent":{}}],["urlconnectionoptions",{"_index":234,"name":{"260":{}},"parent":{}}],["username",{"_index":127,"name":{"155":{}},"parent":{}}],["usp",{"_index":95,"name":{"121":{}},"parent":{}}],["util",{"_index":271,"name":{"303":{}},"parent":{"304":{},"305":{},"306":{},"307":{},"308":{}}}]],"pipeline":[]}}
\ No newline at end of file
diff --git a/public/globals.html b/public/globals.html
deleted file mode 100644
index 3b853c2a775ec26e2447b1a2b29f31ee3b077b24..0000000000000000000000000000000000000000
--- a/public/globals.html
+++ /dev/null
@@ -1,198 +0,0 @@
-<!doctype html>
-<html class="default no-js">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>usp-js</title>
-	<meta name="description" content="Documentation for usp-js">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="assets/css/main.css">
-</head>
-<body>
-<header>
-	<div class="tsd-page-toolbar">
-		<div class="container">
-			<div class="table-wrap">
-				<div class="table-cell" id="tsd-search" data-index="assets/js/search.json" data-base=".">
-					<div class="field">
-						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
-						<input id="tsd-search-field" type="text" />
-					</div>
-					<ul class="results">
-						<li class="state loading">Preparing search index...</li>
-						<li class="state failure">The search index is not available</li>
-					</ul>
-					<a href="index.html" class="title">usp-js</a>
-				</div>
-				<div class="table-cell" id="tsd-widgets">
-					<div id="tsd-filter">
-						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
-						<div class="tsd-filter-group">
-							<div class="tsd-select" id="tsd-filter-visibility">
-								<span class="tsd-select-label">All</span>
-								<ul class="tsd-select-list">
-									<li data-value="public">Public</li>
-									<li data-value="protected">Public/Protected</li>
-									<li data-value="private" class="selected">All</li>
-								</ul>
-							</div>
-							<input type="checkbox" id="tsd-filter-inherited" checked />
-							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
-							<input type="checkbox" id="tsd-filter-externals" checked />
-							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
-						</div>
-					</div>
-					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="tsd-page-title">
-		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="globals.html">Globals</a>
-				</li>
-			</ul>
-			<h1>usp-js</h1>
-		</div>
-	</div>
-</header>
-<div class="container container-main">
-	<div class="row">
-		<div class="col-8 col-content">
-			<section class="tsd-panel-group tsd-index-group">
-				<h2>Index</h2>
-				<section class="tsd-panel tsd-index-panel">
-					<div class="tsd-index-content">
-						<section class="tsd-index-section ">
-							<h3>Modules</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-module"><a href="modules/_commands_add_.html" class="tsd-kind-icon">&quot;commands/add&quot;</a></li>
-								<li class="tsd-kind-module"><a href="modules/_commands_del_.html" class="tsd-kind-icon">&quot;commands/del&quot;</a></li>
-								<li class="tsd-kind-module"><a href="modules/_commands_get_.html" class="tsd-kind-icon">&quot;commands/get&quot;</a></li>
-								<li class="tsd-kind-module"><a href="modules/_commands_index_.html" class="tsd-kind-icon">&quot;commands/index&quot;</a></li>
-								<li class="tsd-kind-module"><a href="modules/_commands_instances_.html" class="tsd-kind-icon">&quot;commands/instances&quot;</a></li>
-								<li class="tsd-kind-module"><a href="modules/_commands_notify_.html" class="tsd-kind-icon">&quot;commands/notify&quot;</a></li>
-								<li class="tsd-kind-module"><a href="modules/_commands_operate_.html" class="tsd-kind-icon">&quot;commands/operate&quot;</a></li>
-								<li class="tsd-kind-module"><a href="modules/_commands_proto_.html" class="tsd-kind-icon">&quot;commands/proto&quot;</a></li>
-								<li class="tsd-kind-module"><a href="modules/_commands_recipes_operate_.html" class="tsd-kind-icon">&quot;commands/recipes/operate&quot;</a></li>
-								<li class="tsd-kind-module"><a href="modules/_commands_recipes_resolve_.html" class="tsd-kind-icon">&quot;commands/recipes/resolve&quot;</a></li>
-								<li class="tsd-kind-module"><a href="modules/_commands_recipes_subscribe_.html" class="tsd-kind-icon">&quot;commands/recipes/subscribe&quot;</a></li>
-								<li class="tsd-kind-module"><a href="modules/_commands_set_.html" class="tsd-kind-icon">&quot;commands/set&quot;</a></li>
-								<li class="tsd-kind-module"><a href="modules/_commands_supported_.html" class="tsd-kind-icon">&quot;commands/supported&quot;</a></li>
-								<li class="tsd-kind-module"><a href="modules/_commands_util_.html" class="tsd-kind-icon">&quot;commands/util&quot;</a></li>
-								<li class="tsd-kind-module"><a href="modules/_index_.html" class="tsd-kind-icon">&quot;index&quot;</a></li>
-								<li class="tsd-kind-module tsd-is-external"><a href="modules/_specs_usp_msg_1_1_.html" class="tsd-kind-icon">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a></li>
-								<li class="tsd-kind-module tsd-is-external"><a href="modules/_specs_usp_record_1_1_.html" class="tsd-kind-icon">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a></li>
-								<li class="tsd-kind-module"><a href="modules/_types_.html" class="tsd-kind-icon">&quot;types&quot;</a></li>
-								<li class="tsd-kind-module"><a href="modules/_util_.html" class="tsd-kind-icon">&quot;util&quot;</a></li>
-							</ul>
-						</section>
-					</div>
-				</section>
-			</section>
-		</div>
-		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
-			<nav class="tsd-navigation primary">
-				<ul>
-					<li class="globals current ">
-						<a href="globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_commands_add_.html">&quot;commands/add&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_commands_del_.html">&quot;commands/del&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_commands_get_.html">&quot;commands/get&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_commands_index_.html">&quot;commands/index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_commands_instances_.html">&quot;commands/instances&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_commands_notify_.html">&quot;commands/notify&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_commands_operate_.html">&quot;commands/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_commands_proto_.html">&quot;commands/proto&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_commands_set_.html">&quot;commands/set&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_commands_supported_.html">&quot;commands/supported&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_commands_util_.html">&quot;commands/util&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_index_.html">&quot;index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_types_.html">&quot;types&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="modules/_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="modules/_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="modules/_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
-					</li>
-				</ul>
-			</nav>
-			<nav class="tsd-navigation secondary menu-sticky">
-				<ul class="before-current">
-				</ul>
-			</nav>
-		</div>
-	</div>
-</div>
-<footer class="with-border-bottom">
-	<div class="container">
-		<h2>Legend</h2>
-		<div class="tsd-legend-group">
-			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
-				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
-				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
-				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
-			</ul>
-			<ul class="tsd-legend">
-				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
-			</ul>
-		</div>
-	</div>
-</footer>
-<div class="container tsd-generator">
-	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
-</div>
-<div class="overlay"></div>
-<script src="assets/js/main.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/public/index.html b/public/index.html
index 202faa825b3a5074ea4cbc5f5c3a7a4737175baa..2433e01eccccd44b57335ee001ad4b529e4624c1 100644
--- a/public/index.html
+++ b/public/index.html
@@ -7,6 +7,7 @@
 	<meta name="description" content="Documentation for usp-js">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="assets/css/main.css">
+	<script async src="assets/js/search.js" id="search-script"></script>
 </head>
 <body>
 <header>
@@ -40,8 +41,6 @@
 							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
 							<input type="checkbox" id="tsd-filter-externals" checked />
 							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
 						</div>
 					</div>
 					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
@@ -51,11 +50,6 @@
 	</div>
 	<div class="tsd-page-title">
 		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="globals.html">Globals</a>
-				</li>
-			</ul>
 			<h1>usp-js</h1>
 		</div>
 	</div>
@@ -70,7 +64,7 @@
 				<p>Helper library for easy usp communication using mqtt over tcp or ws.</p>
 				<ul>
 					<li><a href="https://iopsys.se/usp-js/index.html">API documentation for usp-js</a></li>
-					<li><a href="https://usp-data-models.broadband-forum.org/tr-181-2-13-0-usp.html">BBF&#39;s USP reference documentation</a></li>
+					<li><a href="https://usp-data-models.broadband-forum.org/tr-181-2-14-0-usp.html">BBF&#39;s USP reference documentation</a></li>
 				</ul>
 				<a href="#installation" id="installation" style="color: inherit; text-decoration: none;">
 					<h1>Installation</h1>
@@ -80,153 +74,174 @@
 					<h1>Usage</h1>
 				</a>
 				<p>To connect provide necessary info to the default export. (Values will differ depending on setup)</p>
-				<pre><code class="language-javascript"><span class="hljs-keyword">const</span> connect = <span class="hljs-built_in">require</span>(<span class="hljs-string">&quot;usp-js&quot;</span>).default;
+				<pre><code class="language-javascript"><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">connect</span><span style="color: #000000"> = </span><span style="color: #795E26">require</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;usp-js&quot;</span><span style="color: #000000">).</span><span style="color: #001080">default</span><span style="color: #000000">;</span>
 
-<span class="hljs-keyword">const</span> run = <span class="hljs-keyword">async</span> () =&gt; {
-  <span class="hljs-comment">// Connect</span>
-  <span class="hljs-keyword">const</span> usp = <span class="hljs-keyword">await</span> connect({
-    <span class="hljs-attr">host</span>: <span class="hljs-string">&quot;my.ip.here&quot;</span>,
-    <span class="hljs-attr">username</span>: <span class="hljs-string">&quot;username&quot;</span>,
-    <span class="hljs-attr">password</span>: <span class="hljs-string">&quot;password&quot;</span>,
-    <span class="hljs-attr">port</span>: <span class="hljs-number">90001</span>,
-    <span class="hljs-attr">protocol</span>: <span class="hljs-string">&quot;ws&quot;</span>,
-    <span class="hljs-attr">fromId</span>: <span class="hljs-string">&quot;from::id&quot;</span>,
-    <span class="hljs-attr">toId</span>: <span class="hljs-string">&quot;to::id&quot;</span>,
-  });
+<span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #795E26">run</span><span style="color: #000000"> = </span><span style="color: #0000FF">async</span><span style="color: #000000"> () </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> {</span>
+<span style="color: #000000">  </span><span style="color: #008000">// Connect</span>
+<span style="color: #000000">  </span><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">usp</span><span style="color: #000000"> = </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #795E26">connect</span><span style="color: #000000">({</span>
+<span style="color: #000000">    </span><span style="color: #001080">host:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;my.ip.here&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">    </span><span style="color: #001080">username:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;username&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">    </span><span style="color: #001080">password:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;password&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">    </span><span style="color: #001080">port:</span><span style="color: #000000"> </span><span style="color: #098658">90001</span><span style="color: #000000">,</span>
+<span style="color: #000000">    </span><span style="color: #001080">protocol:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;ws&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">    </span><span style="color: #001080">fromId:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;from::id&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">    </span><span style="color: #001080">toId:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;to::id&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">  });</span>
 
-  <span class="hljs-comment">// Get property</span>
-  <span class="hljs-keyword">await</span> usp.get(<span class="hljs-string">&quot;Device.WiFi.&quot;</span>).then(<span class="hljs-built_in">console</span>.log);
+<span style="color: #000000">  </span><span style="color: #008000">// Get property</span>
+<span style="color: #000000">  </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">get</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.WiFi.&quot;</span><span style="color: #000000">).</span><span style="color: #795E26">then</span><span style="color: #000000">(</span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #001080">log</span><span style="color: #000000">);</span>
 
-  <span class="hljs-comment">// Disconnect</span>
-  <span class="hljs-keyword">await</span> usp.disconnect();
-};
+<span style="color: #000000">  </span><span style="color: #008000">// Disconnect</span>
+<span style="color: #000000">  </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">disconnect</span><span style="color: #000000">();</span>
+<span style="color: #000000">};</span>
 
-run();</code></pre>
+<span style="color: #795E26">run</span><span style="color: #000000">();</span>
+</code></pre>
 				<a href="#api" id="api" style="color: inherit; text-decoration: none;">
 					<h1>API</h1>
 				</a>
 				<ul>
 					<li>Connect</li>
 				</ul>
-				<pre><code class="language-javascript"><span class="hljs-comment">// options are based on https://github.com/mqttjs/MQTT.js#mqttconnecturl-options</span>
-<span class="hljs-comment">// they additionaly require fromId and toId, more info: url.here</span>
-<span class="hljs-keyword">const</span> usp = <span class="hljs-keyword">await</span> connect(options);</code></pre>
+				<pre><code class="language-javascript"><span style="color: #008000">// options are based on https://github.com/mqttjs/MQTT.js#mqttconnecturl-options</span>
+<span style="color: #008000">// they additionaly require fromId and toId, more info: url.here</span>
+<span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">usp</span><span style="color: #000000"> = </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #795E26">connect</span><span style="color: #000000">(</span><span style="color: #001080">options</span><span style="color: #000000">);</span>
+</code></pre>
 				<ul>
 					<li><p>Get</p>
 						<ul>
 							<li>get object - all object end with a dot</li>
 						</ul>
-						<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.get(<span class="hljs-string">&quot;Device.Time.&quot;</span>);
-<span class="hljs-comment">// =&gt; {</span>
-<span class="hljs-comment">//   &quot;CurrentLocalTime&quot;: &quot;2020-12-15T12:33:19Z&quot;,</span>
-<span class="hljs-comment">//   &quot;Enable&quot;: true,</span>
-<span class="hljs-comment">//   ...</span>
-<span class="hljs-comment">// }</span></code></pre>
+						<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">get</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.Time.&quot;</span><span style="color: #000000">);</span>
+<span style="color: #008000">// =&gt; {</span>
+<span style="color: #008000">//   &quot;CurrentLocalTime&quot;: &quot;2020-12-15T12:33:19Z&quot;,</span>
+<span style="color: #008000">//   &quot;Enable&quot;: true,</span>
+<span style="color: #008000">//   ...</span>
+<span style="color: #008000">// }</span>
+</code></pre>
 						<ul>
 							<li>get property</li>
 						</ul>
-						<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.get(<span class="hljs-string">&quot;Device.Time.CurrentLocalTime&quot;</span>); <span class="hljs-comment">// =&gt; &quot;2020-12-15T12:33:19Z&quot;</span></code></pre>
+						<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">get</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.Time.CurrentLocalTime&quot;</span><span style="color: #000000">); </span><span style="color: #008000">// =&gt; &quot;2020-12-15T12:33:19Z&quot;</span>
+</code></pre>
 						<ul>
 							<li>get multiple paths</li>
 						</ul>
-						<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.get([<span class="hljs-string">&quot;Device.WiFi.Radio.1.&quot;</span>, <span class="hljs-string">&quot;Device.WiFi.Radio.2.&quot;</span>]);
-<span class="hljs-comment">// =&gt; [</span>
-<span class="hljs-comment">// { ... },</span>
-<span class="hljs-comment">// { ... }</span>
-<span class="hljs-comment">// ]</span></code></pre>
+						<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">get</span><span style="color: #000000">([</span><span style="color: #A31515">&quot;Device.WiFi.Radio.1.&quot;</span><span style="color: #000000">, </span><span style="color: #A31515">&quot;Device.WiFi.Radio.2.&quot;</span><span style="color: #000000">]);</span>
+<span style="color: #008000">// =&gt; [</span>
+<span style="color: #008000">// { ... },</span>
+<span style="color: #008000">// { ... }</span>
+<span style="color: #008000">// ]</span>
+</code></pre>
 						<ul>
 							<li>get using pattern</li>
 						</ul>
-						<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.get(<span class="hljs-string">&#x27;Device.Ethernet.Interface.[Alias==&quot;WAN&quot;].CurrentBitRate&#x27;</span>); <span class="hljs-comment">// =&gt; 0</span></code></pre>
+						<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">get</span><span style="color: #000000">(</span><span style="color: #A31515">&#039;Device.Ethernet.Interface.[Alias==&quot;WAN&quot;].CurrentBitRate&#039;</span><span style="color: #000000">); </span><span style="color: #008000">// =&gt; 0</span>
+</code></pre>
 						<ul>
 							<li>resolve references in get</li>
 						</ul>
-						<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.get(<span class="hljs-string">&quot;Device.WiFi.Radio.1.&quot;</span>).then(usp.resolve); <span class="hljs-comment">// =&gt; { ... }</span>
-<span class="hljs-comment">// or if deeper resolution is needed (be careful when using level, going above 3 often causes an infinite reference loop)</span>
-<span class="hljs-keyword">await</span> usp
-  .get(<span class="hljs-string">&quot;Device.WiFi.Radio.1.&quot;</span>)
-  .then(<span class="hljs-function">(<span class="hljs-params">msg</span>) =&gt;</span> usp.resolve(msg, <span class="hljs-number">3</span> <span class="hljs-comment">/* level - defaults to 1 */</span>)); <span class="hljs-comment">// =&gt; { ... }</span></code></pre>
+						<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">get</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.WiFi.Radio.1.&quot;</span><span style="color: #000000">).</span><span style="color: #795E26">then</span><span style="color: #000000">(</span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #001080">resolve</span><span style="color: #000000">); </span><span style="color: #008000">// =&gt; { ... }</span>
+<span style="color: #008000">// or if deeper resolution is needed (be careful when using level, going above 3 often causes an infinite reference loop)</span>
+<span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span>
+<span style="color: #000000">  .</span><span style="color: #795E26">get</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.WiFi.Radio.1.&quot;</span><span style="color: #000000">)</span>
+<span style="color: #000000">  .</span><span style="color: #795E26">then</span><span style="color: #000000">((</span><span style="color: #001080">msg</span><span style="color: #000000">) </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">resolve</span><span style="color: #000000">(</span><span style="color: #001080">msg</span><span style="color: #000000">, </span><span style="color: #098658">3</span><span style="color: #000000"> </span><span style="color: #008000">/* level - defaults to 1 */</span><span style="color: #000000">)); </span><span style="color: #008000">// =&gt; { ... }</span>
+</code></pre>
 					</li>
 					<li><p>Set</p>
 						<ul>
 							<li>set object - does not need to have all attributes, but some may be required (check USP Reference)</li>
 						</ul>
-						<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.set(<span class="hljs-string">&quot;Device.WiFi.Radio.1.&quot;</span>, { <span class="hljs-attr">Name</span>: <span class="hljs-string">&quot;radio-1&quot;</span> }); <span class="hljs-comment">// =&gt; void</span></code></pre>
+						<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">set</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.WiFi.Radio.1.&quot;</span><span style="color: #000000">, { </span><span style="color: #001080">Name:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;radio-1&quot;</span><span style="color: #000000"> }); </span><span style="color: #008000">// =&gt; void</span>
+</code></pre>
 						<ul>
 							<li>set object with allowPartial and required attributes</li>
 						</ul>
-						<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.set(<span class="hljs-string">&quot;Device.WiFi.Radio.1.&quot;</span>, { <span class="hljs-attr">Name</span>: { <span class="hljs-attr">required</span>: <span class="hljs-literal">true</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">&quot;radio-1&quot;</span> }, <span class="hljs-attr">allowPartial</span>: <span class="hljs-literal">true</span> }); <span class="hljs-comment">// =&gt; void</span></code></pre>
+						<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">set</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.WiFi.Radio.1.&quot;</span><span style="color: #000000">, { </span><span style="color: #001080">Name:</span><span style="color: #000000"> { </span><span style="color: #001080">required:</span><span style="color: #000000"> </span><span style="color: #0000FF">true</span><span style="color: #000000">, </span><span style="color: #001080">value:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;radio-1&quot;</span><span style="color: #000000"> }, </span><span style="color: #001080">allowPartial:</span><span style="color: #000000"> </span><span style="color: #0000FF">true</span><span style="color: #000000"> }); </span><span style="color: #008000">// =&gt; void</span>
+</code></pre>
 						<ul>
 							<li>set property</li>
 						</ul>
-						<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.set(<span class="hljs-string">&quot;Device.WiFi.Radio.1.Name&quot;</span>, <span class="hljs-string">&quot;radio-1&quot;</span>); <span class="hljs-comment">// =&gt; void</span></code></pre>
+						<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">set</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.WiFi.Radio.1.Name&quot;</span><span style="color: #000000">, </span><span style="color: #A31515">&quot;radio-1&quot;</span><span style="color: #000000">); </span><span style="color: #008000">// =&gt; void</span>
+</code></pre>
 					</li>
 					<li><p>Operate</p>
-						<pre><code class="language-javascript"><span class="hljs-keyword">const</span> [ping, cleanPing] = <span class="hljs-keyword">await</span> usp.operate(<span class="hljs-string">&quot;Device.IP.Diagnostics.IPPing()&quot;</span>);
-<span class="hljs-keyword">const</span> results = <span class="hljs-keyword">await</span> ping({ <span class="hljs-attr">Host</span>: <span class="hljs-string">&quot;iopsys.eu&quot;</span> });
-<span class="hljs-keyword">await</span> cleanPing(); <span class="hljs-comment">// clears ping subscription (optional)</span></code></pre>
+						<pre><code class="language-javascript"><span style="color: #0000FF">const</span><span style="color: #000000"> [</span><span style="color: #0070C1">ping</span><span style="color: #000000">, </span><span style="color: #0070C1">cleanPing</span><span style="color: #000000">] = </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">operate</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.IP.Diagnostics.IPPing()&quot;</span><span style="color: #000000">);</span>
+<span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">results</span><span style="color: #000000"> = </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #795E26">ping</span><span style="color: #000000">({ </span><span style="color: #001080">Host:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;iopsys.eu&quot;</span><span style="color: #000000"> });</span>
+<span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #795E26">cleanPing</span><span style="color: #000000">(); </span><span style="color: #008000">// clears ping subscription (optional)</span>
+</code></pre>
 					</li>
 					<li><p>Add</p>
 						<ul>
 							<li>add with no arguments - adds a new default object</li>
 						</ul>
-						<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.add(<span class="hljs-string">&quot;Device.NAT.PortMapping.&quot;</span>); <span class="hljs-comment">// =&gt; &quot;Device.NAT.PortMapping.3.&quot;</span></code></pre>
+						<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">add</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.NAT.PortMapping.&quot;</span><span style="color: #000000">); </span><span style="color: #008000">// =&gt; &quot;Device.NAT.PortMapping.3.&quot;</span>
+</code></pre>
 						<ul>
 							<li>add with multiple responses</li>
 						</ul>
-						<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.add(<span class="hljs-string">&quot;Device.IP.Interface.*.IPv4Address.&quot;</span>); <span class="hljs-comment">// =&gt; [&#x27;Device.IP.Interface.1.IPv4Address.2.&#x27;, ... ]</span></code></pre>
+						<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">add</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.IP.Interface.*.IPv4Address.&quot;</span><span style="color: #000000">); </span><span style="color: #008000">// =&gt; [&#039;Device.IP.Interface.1.IPv4Address.2.&#039;, ... ]</span>
+</code></pre>
 						<ul>
 							<li>add with arguments - adds a new object with provided values</li>
 						</ul>
-						<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.add(<span class="hljs-string">&quot;Device.NAT.PortMapping.&quot;</span>, {
-  <span class="hljs-attr">Description</span>: <span class="hljs-string">&quot;webserver1-set&quot;</span>,
-  <span class="hljs-attr">ExternalPort</span>: <span class="hljs-string">&quot;80&quot;</span>,
-  <span class="hljs-attr">Protocol</span>: <span class="hljs-string">&quot;TCP&quot;</span>,
-  <span class="hljs-attr">Interface</span>: <span class="hljs-string">&quot;Device.IP.Interface.1&quot;</span>,
-  <span class="hljs-attr">Enable</span>: <span class="hljs-string">&quot;true&quot;</span>,
-  <span class="hljs-attr">InternalClient</span>: <span class="hljs-string">&quot;192.168.1.125&quot;</span>,
-  <span class="hljs-attr">InternalPort</span>: <span class="hljs-string">&quot;5000&quot;</span>,
-}); <span class="hljs-comment">// =&gt; &quot;Device.NAT.PortMapping.4.&quot;</span></code></pre>
+						<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">add</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.NAT.PortMapping.&quot;</span><span style="color: #000000">, {</span>
+<span style="color: #000000">  </span><span style="color: #001080">Description:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;webserver1-set&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">  </span><span style="color: #001080">ExternalPort:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;80&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">  </span><span style="color: #001080">Protocol:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;TCP&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">  </span><span style="color: #001080">Interface:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;Device.IP.Interface.1&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">  </span><span style="color: #001080">Enable:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;true&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">  </span><span style="color: #001080">InternalClient:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;192.168.1.125&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">  </span><span style="color: #001080">InternalPort:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;5000&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">}); </span><span style="color: #008000">// =&gt; &quot;Device.NAT.PortMapping.4.&quot;</span>
+</code></pre>
 						<ul>
 							<li>add with with allowPartial and required attributes</li>
 						</ul>
-						<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.add(<span class="hljs-string">&quot;Device.NAT.PortMapping.&quot;</span>, {
-  <span class="hljs-attr">allowPartial</span>: <span class="hljs-literal">true</span>,
-  <span class="hljs-attr">Description</span>: {
-    <span class="hljs-attr">required</span>: <span class="hljs-literal">true</span>,
-    <span class="hljs-attr">value</span>: <span class="hljs-string">&quot;webserver1-set&quot;</span>,
-  }
-  <span class="hljs-attr">ExternalPort</span>: <span class="hljs-string">&quot;80&quot;</span>,
-  <span class="hljs-attr">Protocol</span>: <span class="hljs-string">&quot;TCP&quot;</span>,
-  <span class="hljs-attr">Interface</span>: <span class="hljs-string">&quot;Device.IP.Interface.1&quot;</span>,
-  <span class="hljs-attr">Enable</span>: <span class="hljs-string">&quot;true&quot;</span>,
-  <span class="hljs-attr">InternalClient</span>: <span class="hljs-string">&quot;192.168.1.125&quot;</span>,
-  <span class="hljs-attr">InternalPort</span>: <span class="hljs-string">&quot;5000&quot;</span>,
-}); <span class="hljs-comment">// =&gt; &quot;Device.NAT.PortMapping.4.&quot;</span></code></pre>
+						<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">add</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.NAT.PortMapping.&quot;</span><span style="color: #000000">, {</span>
+<span style="color: #000000">  </span><span style="color: #001080">allowPartial:</span><span style="color: #000000"> </span><span style="color: #0000FF">true</span><span style="color: #000000">,</span>
+<span style="color: #000000">  </span><span style="color: #001080">Description:</span><span style="color: #000000"> {</span>
+<span style="color: #000000">    </span><span style="color: #001080">required:</span><span style="color: #000000"> </span><span style="color: #0000FF">true</span><span style="color: #000000">,</span>
+<span style="color: #000000">    </span><span style="color: #001080">value:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;webserver1-set&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">  }</span>
+<span style="color: #000000">  </span><span style="color: #001080">ExternalPort</span><span style="color: #000000">: </span><span style="color: #A31515">&quot;80&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">  </span><span style="color: #001080">Protocol:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;TCP&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">  </span><span style="color: #001080">Interface:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;Device.IP.Interface.1&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">  </span><span style="color: #001080">Enable:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;true&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">  </span><span style="color: #001080">InternalClient:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;192.168.1.125&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">  </span><span style="color: #001080">InternalPort:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;5000&quot;</span><span style="color: #000000">,</span>
+<span style="color: #000000">}); </span><span style="color: #008000">// =&gt; &quot;Device.NAT.PortMapping.4.&quot;</span>
+</code></pre>
 					</li>
 					<li><p>Delete</p>
 					</li>
 				</ul>
-				<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.del(<span class="hljs-string">&quot;Device.NAT.PortMapping.4.&quot;</span>); <span class="hljs-comment">// =&gt; void</span></code></pre>
+				<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">del</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.NAT.PortMapping.4.&quot;</span><span style="color: #000000">); </span><span style="color: #008000">// =&gt; void</span>
+</code></pre>
 				<ul>
 					<li>Get Supported DM</li>
 				</ul>
-				<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.supportedDM(<span class="hljs-string">&quot;Device.WiFi.&quot;</span>)</code></pre>
+				<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">supportedDM</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.WiFi.&quot;</span><span style="color: #000000">)</span>
+</code></pre>
 				<ul>
 					<li>Get Supported Protocols</li>
 				</ul>
-				<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.supportedProto(<span class="hljs-string">&quot;Device.WiFi.&quot;</span>)</code></pre>
+				<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">supportedProto</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.WiFi.&quot;</span><span style="color: #000000">)</span>
+</code></pre>
 				<ul>
 					<li>Get Instances</li>
 				</ul>
-				<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.instances(<span class="hljs-string">&quot;Device.WiFi.&quot;</span>)</code></pre>
+				<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">instances</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.WiFi.&quot;</span><span style="color: #000000">)</span>
+</code></pre>
 				<ul>
 					<li>Subscribe</li>
 				</ul>
-				<pre><code class="language-javascript"><span class="hljs-keyword">const</span> clearSub = <span class="hljs-keyword">await</span> usp.subscribe({ <span class="hljs-attr">id</span>: <span class="hljs-string">&#x27;1234&#x27;</span>, <span class="hljs-attr">notif</span>: <span class="hljs-string">&#x27;ObjectCreation&#x27;</span>, <span class="hljs-attr">reference</span>: <span class="hljs-string">&#x27;Device.NAT.PortMapping.&#x27;</span> }, <span class="hljs-built_in">console</span>.log)</code></pre>
+				<pre><code class="language-javascript"><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">clearSub</span><span style="color: #000000"> = </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">subscribe</span><span style="color: #000000">({ </span><span style="color: #001080">id:</span><span style="color: #000000"> </span><span style="color: #A31515">&#039;1234&#039;</span><span style="color: #000000">, </span><span style="color: #001080">notif:</span><span style="color: #000000"> </span><span style="color: #A31515">&#039;ObjectCreation&#039;</span><span style="color: #000000">, </span><span style="color: #001080">reference:</span><span style="color: #000000"> </span><span style="color: #A31515">&#039;Device.NAT.PortMapping.&#039;</span><span style="color: #000000"> }, </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #001080">log</span><span style="color: #000000">)</span>
+</code></pre>
 				<ul>
 					<li><p>optional second argument to callback gives access to full message.</p>
-						<pre><code class="language-javascript"><span class="hljs-keyword">await</span> usp.subscribe({ <span class="hljs-attr">id</span>: <span class="hljs-string">&#x27;1234&#x27;</span>, <span class="hljs-attr">notif</span>: <span class="hljs-string">&#x27;ObjectCreation&#x27;</span>, <span class="hljs-attr">reference</span>: <span class="hljs-string">&#x27;Device.NAT.PortMapping.&#x27;</span> }, <span class="hljs-function">(<span class="hljs-params">_, fullMsg</span>) =&gt;</span> <span class="hljs-built_in">console</span>.log(fullMsg) )</code></pre>
+						<pre><code class="language-javascript"><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">subscribe</span><span style="color: #000000">({ </span><span style="color: #001080">id:</span><span style="color: #000000"> </span><span style="color: #A31515">&#039;1234&#039;</span><span style="color: #000000">, </span><span style="color: #001080">notif:</span><span style="color: #000000"> </span><span style="color: #A31515">&#039;ObjectCreation&#039;</span><span style="color: #000000">, </span><span style="color: #001080">reference:</span><span style="color: #000000"> </span><span style="color: #A31515">&#039;Device.NAT.PortMapping.&#039;</span><span style="color: #000000"> }, (</span><span style="color: #001080">_</span><span style="color: #000000">, </span><span style="color: #001080">fullMsg</span><span style="color: #000000">) </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #001080">fullMsg</span><span style="color: #000000">) )</span>
+</code></pre>
 					</li>
 					<li><p>On (WIP)</p>
 						<p>Id can be a string or a regexp. Messages, generally, have their id in the form COMMAND@random_string (i.e. NOTIFY@12345).
@@ -234,77 +249,69 @@ run();</code></pre>
 						Optional second argument to callback gives access to full message.</p>
 					</li>
 				</ul>
-				<pre><code class="language-javascript"><span class="hljs-keyword">const</span> clear = usp.on(<span class="hljs-regexp">/NOTIFY.*/</span>, <span class="hljs-function">(<span class="hljs-params">data, msg</span>) =&gt;</span> <span class="hljs-built_in">console</span>.log({ data, msg }))</code></pre>
+				<pre><code class="language-javascript"><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">clear</span><span style="color: #000000"> = </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">on</span><span style="color: #000000">(</span><span style="color: #811F3F">/NOTIFY.</span><span style="color: #000000">*</span><span style="color: #811F3F">/</span><span style="color: #000000">, (</span><span style="color: #001080">data</span><span style="color: #000000">, </span><span style="color: #001080">msg</span><span style="color: #000000">) </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">({ </span><span style="color: #001080">data</span><span style="color: #000000">, </span><span style="color: #001080">msg</span><span style="color: #000000"> }))</span>
+</code></pre>
 			</div>
 		</div>
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 			<nav class="tsd-navigation primary">
 				<ul>
-					<li class="globals  ">
-						<a href="globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
+					<li class=" ">
+						<a href="modules.html">Exports</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_commands_add_.html">&quot;commands/add&quot;</a>
+						<a href="modules/commands.html">commands</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_commands_del_.html">&quot;commands/del&quot;</a>
+						<a href="modules/commands_add.html">commands/add</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_commands_get_.html">&quot;commands/get&quot;</a>
+						<a href="modules/commands_del.html">commands/del</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_commands_index_.html">&quot;commands/index&quot;</a>
+						<a href="modules/commands_get.html">commands/get</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_commands_instances_.html">&quot;commands/instances&quot;</a>
+						<a href="modules/commands_instances.html">commands/instances</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_commands_notify_.html">&quot;commands/notify&quot;</a>
+						<a href="modules/commands_notify.html">commands/notify</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_commands_operate_.html">&quot;commands/operate&quot;</a>
+						<a href="modules/commands_operate.html">commands/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_commands_proto_.html">&quot;commands/proto&quot;</a>
+						<a href="modules/commands_proto.html">commands/proto</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
+						<a href="modules/commands_recipes_operate.html">commands/recipes/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
+						<a href="modules/commands_recipes_resolve.html">commands/recipes/resolve</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
+						<a href="modules/commands_recipes_subscribe.html">commands/recipes/subscribe</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_commands_set_.html">&quot;commands/set&quot;</a>
+						<a href="modules/commands_set.html">commands/set</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_commands_supported_.html">&quot;commands/supported&quot;</a>
+						<a href="modules/commands_supported.html">commands/supported</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_commands_util_.html">&quot;commands/util&quot;</a>
+						<a href="modules/commands_util.html">commands/util</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_index_.html">&quot;index&quot;</a>
+						<a href="modules/index.html">index</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_types_.html">&quot;types&quot;</a>
+						<a href="modules/testy.html">testy</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="modules/_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
+						<a href="modules/types.html">types</a>
 					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="modules/_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="modules/_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
+					<li class=" tsd-kind-module">
+						<a href="modules/util.html">util</a>
 					</li>
 				</ul>
 			</nav>
@@ -320,7 +327,6 @@ run();</code></pre>
 		<h2>Legend</h2>
 		<div class="tsd-legend-group">
 			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
 				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
 				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
 				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
diff --git a/public/interfaces/_types_.connectionevents.html b/public/interfaces/types.connectionevents.html
similarity index 64%
rename from public/interfaces/_types_.connectionevents.html
rename to public/interfaces/types.connectionevents.html
index 5780c68215d8ca8eb9cebadb365655b534dce0f7..4e1fb589dce83346a53681d069bbf6532335bb30 100644
--- a/public/interfaces/_types_.connectionevents.html
+++ b/public/interfaces/types.connectionevents.html
@@ -7,6 +7,7 @@
 	<meta name="description" content="Documentation for usp-js">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
 </head>
 <body>
 <header>
@@ -40,8 +41,6 @@
 							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
 							<input type="checkbox" id="tsd-filter-externals" checked />
 							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
 						</div>
 					</div>
 					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
@@ -53,13 +52,13 @@
 		<div class="container">
 			<ul class="tsd-breadcrumb">
 				<li>
-					<a href="../globals.html">Globals</a>
+					<a href="../modules.html">usp-js</a>
 				</li>
 				<li>
-					<a href="../modules/_types_.html">&quot;types&quot;</a>
+					<a href="../modules/types.html">types</a>
 				</li>
 				<li>
-					<a href="_types_.connectionevents.html">ConnectionEvents</a>
+					<a href="types.connectionevents.html">ConnectionEvents</a>
 				</li>
 			</ul>
 			<h1>Interface ConnectionEvents</h1>
@@ -84,7 +83,7 @@
 						<section class="tsd-index-section ">
 							<h3>Properties</h3>
 							<ul class="tsd-index-list">
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.connectionevents.html#onerror" class="tsd-kind-icon">on<wbr>Error</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.connectionevents.html#onerror" class="tsd-kind-icon">on<wbr>Error</a></li>
 							</ul>
 						</section>
 					</div>
@@ -95,83 +94,95 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="onerror" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> on<wbr>Error</h3>
-					<div class="tsd-signature tsd-kind-icon">on<wbr>Error<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span></div>
+					<div class="tsd-signature tsd-kind-icon">on<wbr>Error<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:422</li>
 						</ul>
 					</aside>
+					<div class="tsd-type-declaration">
+						<h4>Type declaration</h4>
+						<ul class="tsd-parameters">
+							<li class="tsd-parameter-signature">
+								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-interface">
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+								</ul>
+								<ul class="tsd-descriptions">
+									<li class="tsd-description">
+										<h4 class="tsd-parameters-title">Parameters</h4>
+										<ul class="tsd-parameters">
+											<li>
+												<h5>err: <span class="tsd-signature-type">string</span></h5>
+											</li>
+										</ul>
+										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
+									</li>
+								</ul>
+							</li>
+						</ul>
+					</div>
 				</section>
 			</section>
 		</div>
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 			<nav class="tsd-navigation primary">
 				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
 					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
+					<li class=" tsd-kind-module">
+						<a href="../modules/commands.html">commands</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_add_.html">&quot;commands/add&quot;</a>
+						<a href="../modules/commands_add.html">commands/add</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_del_.html">&quot;commands/del&quot;</a>
+						<a href="../modules/commands_del.html">commands/del</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_get_.html">&quot;commands/get&quot;</a>
+						<a href="../modules/commands_get.html">commands/get</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_index_.html">&quot;commands/index&quot;</a>
+						<a href="../modules/commands_instances.html">commands/instances</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_instances_.html">&quot;commands/instances&quot;</a>
+						<a href="../modules/commands_notify.html">commands/notify</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_notify_.html">&quot;commands/notify&quot;</a>
+						<a href="../modules/commands_operate.html">commands/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_operate_.html">&quot;commands/operate&quot;</a>
+						<a href="../modules/commands_proto.html">commands/proto</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_proto_.html">&quot;commands/proto&quot;</a>
+						<a href="../modules/commands_recipes_operate.html">commands/recipes/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
+						<a href="../modules/commands_recipes_resolve.html">commands/recipes/resolve</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
+						<a href="../modules/commands_recipes_subscribe.html">commands/recipes/subscribe</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
+						<a href="../modules/commands_set.html">commands/set</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_set_.html">&quot;commands/set&quot;</a>
+						<a href="../modules/commands_supported.html">commands/supported</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_supported_.html">&quot;commands/supported&quot;</a>
+						<a href="../modules/commands_util.html">commands/util</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_util_.html">&quot;commands/util&quot;</a>
+						<a href="../modules/index.html">index</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_index_.html">&quot;index&quot;</a>
+						<a href="../modules/testy.html">testy</a>
 					</li>
 					<li class="current tsd-kind-module">
-						<a href="../modules/_types_.html">&quot;types&quot;</a>
+						<a href="../modules/types.html">types</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
+						<a href="../modules/util.html">util</a>
 					</li>
 				</ul>
 			</nav>
@@ -180,10 +191,10 @@
 				</ul>
 				<ul class="current">
 					<li class="current tsd-kind-interface tsd-parent-kind-module">
-						<a href="_types_.connectionevents.html" class="tsd-kind-icon">Connection<wbr>Events</a>
+						<a href="types.connectionevents.html" class="tsd-kind-icon">Connection<wbr>Events</a>
 						<ul>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.connectionevents.html#onerror" class="tsd-kind-icon">on<wbr>Error</a>
+								<a href="types.connectionevents.html#onerror" class="tsd-kind-icon">on<wbr>Error</a>
 							</li>
 						</ul>
 					</li>
@@ -199,7 +210,6 @@
 		<h2>Legend</h2>
 		<div class="tsd-legend-group">
 			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
 				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
 				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
 				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
diff --git a/public/interfaces/_types_.operateoptions.html b/public/interfaces/types.operateoptions.html
similarity index 66%
rename from public/interfaces/_types_.operateoptions.html
rename to public/interfaces/types.operateoptions.html
index bf74978a2f854205e058a05014af478ec5b9cd60..cb4e4fc61a3b125f73705a33ffdd48364d21c38b 100644
--- a/public/interfaces/_types_.operateoptions.html
+++ b/public/interfaces/types.operateoptions.html
@@ -7,6 +7,7 @@
 	<meta name="description" content="Documentation for usp-js">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
 </head>
 <body>
 <header>
@@ -40,8 +41,6 @@
 							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
 							<input type="checkbox" id="tsd-filter-externals" checked />
 							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
 						</div>
 					</div>
 					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
@@ -53,13 +52,13 @@
 		<div class="container">
 			<ul class="tsd-breadcrumb">
 				<li>
-					<a href="../globals.html">Globals</a>
+					<a href="../modules.html">usp-js</a>
 				</li>
 				<li>
-					<a href="../modules/_types_.html">&quot;types&quot;</a>
+					<a href="../modules/types.html">types</a>
 				</li>
 				<li>
-					<a href="_types_.operateoptions.html">OperateOptions</a>
+					<a href="types.operateoptions.html">OperateOptions</a>
 				</li>
 			</ul>
 			<h1>Interface OperateOptions</h1>
@@ -84,8 +83,8 @@
 						<section class="tsd-index-section ">
 							<h3>Properties</h3>
 							<ul class="tsd-index-list">
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.operateoptions.html#id" class="tsd-kind-icon">ID</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.operateoptions.html#persistent" class="tsd-kind-icon">Persistent</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.operateoptions.html#id" class="tsd-kind-icon">ID</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.operateoptions.html#persistent" class="tsd-kind-icon">Persistent</a></li>
 							</ul>
 						</section>
 					</div>
@@ -96,7 +95,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="id" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> ID</h3>
-					<div class="tsd-signature tsd-kind-icon">ID<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
+					<div class="tsd-signature tsd-kind-icon">ID<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:344</li>
@@ -106,7 +105,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="persistent" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> Persistent</h3>
-					<div class="tsd-signature tsd-kind-icon">Persistent<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span></div>
+					<div class="tsd-signature tsd-kind-icon">Persistent<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:345</li>
@@ -118,71 +117,62 @@
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 			<nav class="tsd-navigation primary">
 				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
 					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
+					<li class=" tsd-kind-module">
+						<a href="../modules/commands.html">commands</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_add_.html">&quot;commands/add&quot;</a>
+						<a href="../modules/commands_add.html">commands/add</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_del_.html">&quot;commands/del&quot;</a>
+						<a href="../modules/commands_del.html">commands/del</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_get_.html">&quot;commands/get&quot;</a>
+						<a href="../modules/commands_get.html">commands/get</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_index_.html">&quot;commands/index&quot;</a>
+						<a href="../modules/commands_instances.html">commands/instances</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_instances_.html">&quot;commands/instances&quot;</a>
+						<a href="../modules/commands_notify.html">commands/notify</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_notify_.html">&quot;commands/notify&quot;</a>
+						<a href="../modules/commands_operate.html">commands/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_operate_.html">&quot;commands/operate&quot;</a>
+						<a href="../modules/commands_proto.html">commands/proto</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_proto_.html">&quot;commands/proto&quot;</a>
+						<a href="../modules/commands_recipes_operate.html">commands/recipes/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
+						<a href="../modules/commands_recipes_resolve.html">commands/recipes/resolve</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
+						<a href="../modules/commands_recipes_subscribe.html">commands/recipes/subscribe</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
+						<a href="../modules/commands_set.html">commands/set</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_set_.html">&quot;commands/set&quot;</a>
+						<a href="../modules/commands_supported.html">commands/supported</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_supported_.html">&quot;commands/supported&quot;</a>
+						<a href="../modules/commands_util.html">commands/util</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_util_.html">&quot;commands/util&quot;</a>
+						<a href="../modules/index.html">index</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_index_.html">&quot;index&quot;</a>
+						<a href="../modules/testy.html">testy</a>
 					</li>
 					<li class="current tsd-kind-module">
-						<a href="../modules/_types_.html">&quot;types&quot;</a>
+						<a href="../modules/types.html">types</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
+						<a href="../modules/util.html">util</a>
 					</li>
 				</ul>
 			</nav>
@@ -191,13 +181,13 @@
 				</ul>
 				<ul class="current">
 					<li class="current tsd-kind-interface tsd-parent-kind-module">
-						<a href="_types_.operateoptions.html" class="tsd-kind-icon">Operate<wbr>Options</a>
+						<a href="types.operateoptions.html" class="tsd-kind-icon">Operate<wbr>Options</a>
 						<ul>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.operateoptions.html#id" class="tsd-kind-icon">ID</a>
+								<a href="types.operateoptions.html#id" class="tsd-kind-icon">ID</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.operateoptions.html#persistent" class="tsd-kind-icon">Persistent</a>
+								<a href="types.operateoptions.html#persistent" class="tsd-kind-icon">Persistent</a>
 							</li>
 						</ul>
 					</li>
@@ -213,7 +203,6 @@
 		<h2>Legend</h2>
 		<div class="tsd-legend-group">
 			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
 				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
 				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
 				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
diff --git a/public/interfaces/_types_.otherconnectionoptions.html b/public/interfaces/types.otherconnectionoptions.html
similarity index 66%
rename from public/interfaces/_types_.otherconnectionoptions.html
rename to public/interfaces/types.otherconnectionoptions.html
index 3e142d25caf10b40d94fa364c2c4e8d227e1fe04..25414a1d94e94a370c9ca4497e1a8b15ade25f27 100644
--- a/public/interfaces/_types_.otherconnectionoptions.html
+++ b/public/interfaces/types.otherconnectionoptions.html
@@ -7,6 +7,7 @@
 	<meta name="description" content="Documentation for usp-js">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
 </head>
 <body>
 <header>
@@ -40,8 +41,6 @@
 							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
 							<input type="checkbox" id="tsd-filter-externals" checked />
 							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
 						</div>
 					</div>
 					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
@@ -53,13 +52,13 @@
 		<div class="container">
 			<ul class="tsd-breadcrumb">
 				<li>
-					<a href="../globals.html">Globals</a>
+					<a href="../modules.html">usp-js</a>
 				</li>
 				<li>
-					<a href="../modules/_types_.html">&quot;types&quot;</a>
+					<a href="../modules/types.html">types</a>
 				</li>
 				<li>
-					<a href="_types_.otherconnectionoptions.html">OtherConnectionOptions</a>
+					<a href="types.otherconnectionoptions.html">OtherConnectionOptions</a>
 				</li>
 			</ul>
 			<h1>Interface OtherConnectionOptions</h1>
@@ -84,16 +83,16 @@
 						<section class="tsd-index-section ">
 							<h3>Properties</h3>
 							<ul class="tsd-index-list">
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.otherconnectionoptions.html#ca" class="tsd-kind-icon">ca</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.otherconnectionoptions.html#cert" class="tsd-kind-icon">cert</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.otherconnectionoptions.html#fromid" class="tsd-kind-icon">from<wbr>Id</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.otherconnectionoptions.html#idendpoint" class="tsd-kind-icon">id<wbr>Endpoint</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.otherconnectionoptions.html#key" class="tsd-kind-icon">key</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.otherconnectionoptions.html#password" class="tsd-kind-icon">password</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.otherconnectionoptions.html#publishendpoint" class="tsd-kind-icon">publish<wbr>Endpoint</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.otherconnectionoptions.html#subscribeendpoint" class="tsd-kind-icon">subscribe<wbr>Endpoint</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.otherconnectionoptions.html#toid" class="tsd-kind-icon">to<wbr>Id</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.otherconnectionoptions.html#username" class="tsd-kind-icon">username</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.otherconnectionoptions.html#ca" class="tsd-kind-icon">ca</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.otherconnectionoptions.html#cert" class="tsd-kind-icon">cert</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.otherconnectionoptions.html#fromid" class="tsd-kind-icon">from<wbr>Id</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.otherconnectionoptions.html#idendpoint" class="tsd-kind-icon">id<wbr>Endpoint</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.otherconnectionoptions.html#key" class="tsd-kind-icon">key</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.otherconnectionoptions.html#password" class="tsd-kind-icon">password</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.otherconnectionoptions.html#publishendpoint" class="tsd-kind-icon">publish<wbr>Endpoint</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.otherconnectionoptions.html#subscribeendpoint" class="tsd-kind-icon">subscribe<wbr>Endpoint</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.otherconnectionoptions.html#toid" class="tsd-kind-icon">to<wbr>Id</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.otherconnectionoptions.html#username" class="tsd-kind-icon">username</a></li>
 							</ul>
 						</section>
 					</div>
@@ -104,7 +103,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="ca" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> ca</h3>
-					<div class="tsd-signature tsd-kind-icon">ca<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#certtype" class="tsd-signature-type">CertType</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Object</span><span class="tsd-signature-symbol">[]</span></div>
+					<div class="tsd-signature tsd-kind-icon">ca<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#certtype" class="tsd-signature-type" data-tsd-kind="Type alias">CertType</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Object</span><span class="tsd-signature-symbol">[]</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:386</li>
@@ -114,7 +113,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="cert" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> cert</h3>
-					<div class="tsd-signature tsd-kind-icon">cert<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#certtype" class="tsd-signature-type">CertType</a></div>
+					<div class="tsd-signature tsd-kind-icon">cert<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#certtype" class="tsd-signature-type" data-tsd-kind="Type alias">CertType</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:388</li>
@@ -124,7 +123,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="fromid" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> from<wbr>Id</h3>
-					<div class="tsd-signature tsd-kind-icon">from<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
+					<div class="tsd-signature tsd-kind-icon">from<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:381</li>
@@ -134,7 +133,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="idendpoint" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> id<wbr>Endpoint</h3>
-					<div class="tsd-signature tsd-kind-icon">id<wbr>Endpoint<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
+					<div class="tsd-signature tsd-kind-icon">id<wbr>Endpoint<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:383</li>
@@ -144,7 +143,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="key" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> key</h3>
-					<div class="tsd-signature tsd-kind-icon">key<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#certtype" class="tsd-signature-type">CertType</a></div>
+					<div class="tsd-signature tsd-kind-icon">key<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#certtype" class="tsd-signature-type" data-tsd-kind="Type alias">CertType</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:387</li>
@@ -164,7 +163,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="publishendpoint" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> publish<wbr>Endpoint</h3>
-					<div class="tsd-signature tsd-kind-icon">publish<wbr>Endpoint<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
+					<div class="tsd-signature tsd-kind-icon">publish<wbr>Endpoint<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:384</li>
@@ -174,7 +173,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="subscribeendpoint" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> subscribe<wbr>Endpoint</h3>
-					<div class="tsd-signature tsd-kind-icon">subscribe<wbr>Endpoint<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
+					<div class="tsd-signature tsd-kind-icon">subscribe<wbr>Endpoint<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:385</li>
@@ -184,7 +183,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="toid" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> to<wbr>Id</h3>
-					<div class="tsd-signature tsd-kind-icon">to<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
+					<div class="tsd-signature tsd-kind-icon">to<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:382</li>
@@ -206,71 +205,62 @@
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 			<nav class="tsd-navigation primary">
 				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
 					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
+					<li class=" tsd-kind-module">
+						<a href="../modules/commands.html">commands</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_add_.html">&quot;commands/add&quot;</a>
+						<a href="../modules/commands_add.html">commands/add</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_del_.html">&quot;commands/del&quot;</a>
+						<a href="../modules/commands_del.html">commands/del</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_get_.html">&quot;commands/get&quot;</a>
+						<a href="../modules/commands_get.html">commands/get</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_index_.html">&quot;commands/index&quot;</a>
+						<a href="../modules/commands_instances.html">commands/instances</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_instances_.html">&quot;commands/instances&quot;</a>
+						<a href="../modules/commands_notify.html">commands/notify</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_notify_.html">&quot;commands/notify&quot;</a>
+						<a href="../modules/commands_operate.html">commands/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_operate_.html">&quot;commands/operate&quot;</a>
+						<a href="../modules/commands_proto.html">commands/proto</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_proto_.html">&quot;commands/proto&quot;</a>
+						<a href="../modules/commands_recipes_operate.html">commands/recipes/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
+						<a href="../modules/commands_recipes_resolve.html">commands/recipes/resolve</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
+						<a href="../modules/commands_recipes_subscribe.html">commands/recipes/subscribe</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
+						<a href="../modules/commands_set.html">commands/set</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_set_.html">&quot;commands/set&quot;</a>
+						<a href="../modules/commands_supported.html">commands/supported</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_supported_.html">&quot;commands/supported&quot;</a>
+						<a href="../modules/commands_util.html">commands/util</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_util_.html">&quot;commands/util&quot;</a>
+						<a href="../modules/index.html">index</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_index_.html">&quot;index&quot;</a>
+						<a href="../modules/testy.html">testy</a>
 					</li>
 					<li class="current tsd-kind-module">
-						<a href="../modules/_types_.html">&quot;types&quot;</a>
+						<a href="../modules/types.html">types</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
+						<a href="../modules/util.html">util</a>
 					</li>
 				</ul>
 			</nav>
@@ -279,37 +269,37 @@
 				</ul>
 				<ul class="current">
 					<li class="current tsd-kind-interface tsd-parent-kind-module">
-						<a href="_types_.otherconnectionoptions.html" class="tsd-kind-icon">Other<wbr>Connection<wbr>Options</a>
+						<a href="types.otherconnectionoptions.html" class="tsd-kind-icon">Other<wbr>Connection<wbr>Options</a>
 						<ul>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.otherconnectionoptions.html#ca" class="tsd-kind-icon">ca</a>
+								<a href="types.otherconnectionoptions.html#ca" class="tsd-kind-icon">ca</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.otherconnectionoptions.html#cert" class="tsd-kind-icon">cert</a>
+								<a href="types.otherconnectionoptions.html#cert" class="tsd-kind-icon">cert</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.otherconnectionoptions.html#fromid" class="tsd-kind-icon">from<wbr>Id</a>
+								<a href="types.otherconnectionoptions.html#fromid" class="tsd-kind-icon">from<wbr>Id</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.otherconnectionoptions.html#idendpoint" class="tsd-kind-icon">id<wbr>Endpoint</a>
+								<a href="types.otherconnectionoptions.html#idendpoint" class="tsd-kind-icon">id<wbr>Endpoint</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.otherconnectionoptions.html#key" class="tsd-kind-icon">key</a>
+								<a href="types.otherconnectionoptions.html#key" class="tsd-kind-icon">key</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.otherconnectionoptions.html#password" class="tsd-kind-icon">password</a>
+								<a href="types.otherconnectionoptions.html#password" class="tsd-kind-icon">password</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.otherconnectionoptions.html#publishendpoint" class="tsd-kind-icon">publish<wbr>Endpoint</a>
+								<a href="types.otherconnectionoptions.html#publishendpoint" class="tsd-kind-icon">publish<wbr>Endpoint</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.otherconnectionoptions.html#subscribeendpoint" class="tsd-kind-icon">subscribe<wbr>Endpoint</a>
+								<a href="types.otherconnectionoptions.html#subscribeendpoint" class="tsd-kind-icon">subscribe<wbr>Endpoint</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.otherconnectionoptions.html#toid" class="tsd-kind-icon">to<wbr>Id</a>
+								<a href="types.otherconnectionoptions.html#toid" class="tsd-kind-icon">to<wbr>Id</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.otherconnectionoptions.html#username" class="tsd-kind-icon">username</a>
+								<a href="types.otherconnectionoptions.html#username" class="tsd-kind-icon">username</a>
 							</li>
 						</ul>
 					</li>
@@ -325,7 +315,6 @@
 		<h2>Legend</h2>
 		<div class="tsd-legend-group">
 			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
 				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
 				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
 				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
diff --git a/public/interfaces/_types_.pbrequestbody.html b/public/interfaces/types.pbrequestbody.html
similarity index 54%
rename from public/interfaces/_types_.pbrequestbody.html
rename to public/interfaces/types.pbrequestbody.html
index 1e22354bbced5983bda96e39552c815557f3a648..ba4ffce33ca3c7e98e34c45f0d6980a669aad4c6 100644
--- a/public/interfaces/_types_.pbrequestbody.html
+++ b/public/interfaces/types.pbrequestbody.html
@@ -7,6 +7,7 @@
 	<meta name="description" content="Documentation for usp-js">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
 </head>
 <body>
 <header>
@@ -40,8 +41,6 @@
 							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
 							<input type="checkbox" id="tsd-filter-externals" checked />
 							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
 						</div>
 					</div>
 					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
@@ -53,13 +52,13 @@
 		<div class="container">
 			<ul class="tsd-breadcrumb">
 				<li>
-					<a href="../globals.html">Globals</a>
+					<a href="../modules.html">usp-js</a>
 				</li>
 				<li>
-					<a href="../modules/_types_.html">&quot;types&quot;</a>
+					<a href="../modules/types.html">types</a>
 				</li>
 				<li>
-					<a href="_types_.pbrequestbody.html">PbRequestBody</a>
+					<a href="types.pbrequestbody.html">PbRequestBody</a>
 				</li>
 			</ul>
 			<h1>Interface PbRequestBody</h1>
@@ -84,8 +83,8 @@
 						<section class="tsd-index-section ">
 							<h3>Properties</h3>
 							<ul class="tsd-index-list">
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.pbrequestbody.html#lookup" class="tsd-kind-icon">lookup</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.pbrequestbody.html#request" class="tsd-kind-icon">request</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.pbrequestbody.html#lookup" class="tsd-kind-icon">lookup</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.pbrequestbody.html#request" class="tsd-kind-icon">request</a></li>
 							</ul>
 						</section>
 					</div>
@@ -96,7 +95,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="lookup" class="tsd-anchor"></a>
 					<h3>lookup</h3>
-					<div class="tsd-signature tsd-kind-icon">lookup<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"Body"</span></div>
+					<div class="tsd-signature tsd-kind-icon">lookup<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;Body&quot;</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:355</li>
@@ -106,7 +105,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="request" class="tsd-anchor"></a>
 					<h3>request</h3>
-					<div class="tsd-signature tsd-kind-icon">request<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Request"</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> &amp; </span><a href="../modules/_types_.html#pbrequestcommand" class="tsd-signature-type">PbRequestCommand</a></div>
+					<div class="tsd-signature tsd-kind-icon">request<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Request&quot;</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> &amp; </span><a href="../modules/types.html#pbrequestcommandget" class="tsd-signature-type" data-tsd-kind="Type alias">PbRequestCommandGet</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Request&quot;</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> &amp; </span><a href="../modules/types.html#pbrequestcommandset" class="tsd-signature-type" data-tsd-kind="Type alias">PbRequestCommandSet</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Request&quot;</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> &amp; </span><a href="../modules/types.html#pbrequestcommandadd" class="tsd-signature-type" data-tsd-kind="Type alias">PbRequestCommandAdd</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Request&quot;</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> &amp; </span><a href="../modules/types.html#pbrequestcommanddel" class="tsd-signature-type" data-tsd-kind="Type alias">PbRequestCommandDel</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Request&quot;</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> &amp; </span><a href="../modules/types.html#pbrequestcommandoperate" class="tsd-signature-type" data-tsd-kind="Type alias">PbRequestCommandOperate</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Request&quot;</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> &amp; </span><a href="../modules/types.html#pbrequestcommandsupport" class="tsd-signature-type" data-tsd-kind="Type alias">PbRequestCommandSupport</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Request&quot;</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> &amp; </span><a href="../modules/types.html#pbrequestcommandinstance" class="tsd-signature-type" data-tsd-kind="Type alias">PbRequestCommandInstance</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Request&quot;</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> &amp; </span><a href="../modules/types.html#pbrequestcommandsupportproto" class="tsd-signature-type" data-tsd-kind="Type alias">PbRequestCommandSupportProto</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:356</li>
@@ -118,71 +117,62 @@
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 			<nav class="tsd-navigation primary">
 				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
 					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
+					<li class=" tsd-kind-module">
+						<a href="../modules/commands.html">commands</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_add_.html">&quot;commands/add&quot;</a>
+						<a href="../modules/commands_add.html">commands/add</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_del_.html">&quot;commands/del&quot;</a>
+						<a href="../modules/commands_del.html">commands/del</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_get_.html">&quot;commands/get&quot;</a>
+						<a href="../modules/commands_get.html">commands/get</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_index_.html">&quot;commands/index&quot;</a>
+						<a href="../modules/commands_instances.html">commands/instances</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_instances_.html">&quot;commands/instances&quot;</a>
+						<a href="../modules/commands_notify.html">commands/notify</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_notify_.html">&quot;commands/notify&quot;</a>
+						<a href="../modules/commands_operate.html">commands/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_operate_.html">&quot;commands/operate&quot;</a>
+						<a href="../modules/commands_proto.html">commands/proto</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_proto_.html">&quot;commands/proto&quot;</a>
+						<a href="../modules/commands_recipes_operate.html">commands/recipes/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
+						<a href="../modules/commands_recipes_resolve.html">commands/recipes/resolve</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
+						<a href="../modules/commands_recipes_subscribe.html">commands/recipes/subscribe</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
+						<a href="../modules/commands_set.html">commands/set</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_set_.html">&quot;commands/set&quot;</a>
+						<a href="../modules/commands_supported.html">commands/supported</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_supported_.html">&quot;commands/supported&quot;</a>
+						<a href="../modules/commands_util.html">commands/util</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_util_.html">&quot;commands/util&quot;</a>
+						<a href="../modules/index.html">index</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_index_.html">&quot;index&quot;</a>
+						<a href="../modules/testy.html">testy</a>
 					</li>
 					<li class="current tsd-kind-module">
-						<a href="../modules/_types_.html">&quot;types&quot;</a>
+						<a href="../modules/types.html">types</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
+						<a href="../modules/util.html">util</a>
 					</li>
 				</ul>
 			</nav>
@@ -191,13 +181,13 @@
 				</ul>
 				<ul class="current">
 					<li class="current tsd-kind-interface tsd-parent-kind-module">
-						<a href="_types_.pbrequestbody.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Body</a>
+						<a href="types.pbrequestbody.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Body</a>
 						<ul>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.pbrequestbody.html#lookup" class="tsd-kind-icon">lookup</a>
+								<a href="types.pbrequestbody.html#lookup" class="tsd-kind-icon">lookup</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.pbrequestbody.html#request" class="tsd-kind-icon">request</a>
+								<a href="types.pbrequestbody.html#request" class="tsd-kind-icon">request</a>
 							</li>
 						</ul>
 					</li>
@@ -213,7 +203,6 @@
 		<h2>Legend</h2>
 		<div class="tsd-legend-group">
 			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
 				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
 				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
 				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
diff --git a/public/interfaces/_types_.pbrequestheader.html b/public/interfaces/types.pbrequestheader.html
similarity index 67%
rename from public/interfaces/_types_.pbrequestheader.html
rename to public/interfaces/types.pbrequestheader.html
index dc9aeaa1c52ce3f1adc7071c270f9ce2aa135e67..f9bc908859b023b23d2d5dfa4b7a0be30fe0f5c2 100644
--- a/public/interfaces/_types_.pbrequestheader.html
+++ b/public/interfaces/types.pbrequestheader.html
@@ -7,6 +7,7 @@
 	<meta name="description" content="Documentation for usp-js">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
 </head>
 <body>
 <header>
@@ -40,8 +41,6 @@
 							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
 							<input type="checkbox" id="tsd-filter-externals" checked />
 							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
 						</div>
 					</div>
 					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
@@ -53,13 +52,13 @@
 		<div class="container">
 			<ul class="tsd-breadcrumb">
 				<li>
-					<a href="../globals.html">Globals</a>
+					<a href="../modules.html">usp-js</a>
 				</li>
 				<li>
-					<a href="../modules/_types_.html">&quot;types&quot;</a>
+					<a href="../modules/types.html">types</a>
 				</li>
 				<li>
-					<a href="_types_.pbrequestheader.html">PbRequestHeader</a>
+					<a href="types.pbrequestheader.html">PbRequestHeader</a>
 				</li>
 			</ul>
 			<h1>Interface PbRequestHeader</h1>
@@ -84,9 +83,9 @@
 						<section class="tsd-index-section ">
 							<h3>Properties</h3>
 							<ul class="tsd-index-list">
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.pbrequestheader.html#lookup" class="tsd-kind-icon">lookup</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.pbrequestheader.html#msgid" class="tsd-kind-icon">msg<wbr>Id</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.pbrequestheader.html#msgtype" class="tsd-kind-icon">msg<wbr>Type</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.pbrequestheader.html#lookup" class="tsd-kind-icon">lookup</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.pbrequestheader.html#msgid" class="tsd-kind-icon">msg<wbr>Id</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.pbrequestheader.html#msgtype" class="tsd-kind-icon">msg<wbr>Type</a></li>
 							</ul>
 						</section>
 					</div>
@@ -97,7 +96,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="lookup" class="tsd-anchor"></a>
 					<h3>lookup</h3>
-					<div class="tsd-signature tsd-kind-icon">lookup<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"Header"</span></div>
+					<div class="tsd-signature tsd-kind-icon">lookup<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;Header&quot;</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:351</li>
@@ -117,7 +116,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="msgtype" class="tsd-anchor"></a>
 					<h3>msg<wbr>Type</h3>
-					<div class="tsd-signature tsd-kind-icon">msg<wbr>Type<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#commandtype" class="tsd-signature-type">CommandType</a></div>
+					<div class="tsd-signature tsd-kind-icon">msg<wbr>Type<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#commandtype" class="tsd-signature-type" data-tsd-kind="Type alias">CommandType</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:350</li>
@@ -129,71 +128,62 @@
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 			<nav class="tsd-navigation primary">
 				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
 					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
+					<li class=" tsd-kind-module">
+						<a href="../modules/commands.html">commands</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_add_.html">&quot;commands/add&quot;</a>
+						<a href="../modules/commands_add.html">commands/add</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_del_.html">&quot;commands/del&quot;</a>
+						<a href="../modules/commands_del.html">commands/del</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_get_.html">&quot;commands/get&quot;</a>
+						<a href="../modules/commands_get.html">commands/get</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_index_.html">&quot;commands/index&quot;</a>
+						<a href="../modules/commands_instances.html">commands/instances</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_instances_.html">&quot;commands/instances&quot;</a>
+						<a href="../modules/commands_notify.html">commands/notify</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_notify_.html">&quot;commands/notify&quot;</a>
+						<a href="../modules/commands_operate.html">commands/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_operate_.html">&quot;commands/operate&quot;</a>
+						<a href="../modules/commands_proto.html">commands/proto</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_proto_.html">&quot;commands/proto&quot;</a>
+						<a href="../modules/commands_recipes_operate.html">commands/recipes/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
+						<a href="../modules/commands_recipes_resolve.html">commands/recipes/resolve</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
+						<a href="../modules/commands_recipes_subscribe.html">commands/recipes/subscribe</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
+						<a href="../modules/commands_set.html">commands/set</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_set_.html">&quot;commands/set&quot;</a>
+						<a href="../modules/commands_supported.html">commands/supported</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_supported_.html">&quot;commands/supported&quot;</a>
+						<a href="../modules/commands_util.html">commands/util</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_util_.html">&quot;commands/util&quot;</a>
+						<a href="../modules/index.html">index</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_index_.html">&quot;index&quot;</a>
+						<a href="../modules/testy.html">testy</a>
 					</li>
 					<li class="current tsd-kind-module">
-						<a href="../modules/_types_.html">&quot;types&quot;</a>
+						<a href="../modules/types.html">types</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
+						<a href="../modules/util.html">util</a>
 					</li>
 				</ul>
 			</nav>
@@ -202,16 +192,16 @@
 				</ul>
 				<ul class="current">
 					<li class="current tsd-kind-interface tsd-parent-kind-module">
-						<a href="_types_.pbrequestheader.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Header</a>
+						<a href="types.pbrequestheader.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Header</a>
 						<ul>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.pbrequestheader.html#lookup" class="tsd-kind-icon">lookup</a>
+								<a href="types.pbrequestheader.html#lookup" class="tsd-kind-icon">lookup</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.pbrequestheader.html#msgid" class="tsd-kind-icon">msg<wbr>Id</a>
+								<a href="types.pbrequestheader.html#msgid" class="tsd-kind-icon">msg<wbr>Id</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.pbrequestheader.html#msgtype" class="tsd-kind-icon">msg<wbr>Type</a>
+								<a href="types.pbrequestheader.html#msgtype" class="tsd-kind-icon">msg<wbr>Type</a>
 							</li>
 						</ul>
 					</li>
@@ -227,7 +217,6 @@
 		<h2>Legend</h2>
 		<div class="tsd-legend-group">
 			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
 				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
 				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
 				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
diff --git a/public/interfaces/_types_.pbrequestmessage.html b/public/interfaces/types.pbrequestmessage.html
similarity index 67%
rename from public/interfaces/_types_.pbrequestmessage.html
rename to public/interfaces/types.pbrequestmessage.html
index 2ed119adb352c5eb78403eab1329a03e333246ec..145bbdc36cb63d28ac2c50ac28fe7b93a62360bf 100644
--- a/public/interfaces/_types_.pbrequestmessage.html
+++ b/public/interfaces/types.pbrequestmessage.html
@@ -7,6 +7,7 @@
 	<meta name="description" content="Documentation for usp-js">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
 </head>
 <body>
 <header>
@@ -40,8 +41,6 @@
 							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
 							<input type="checkbox" id="tsd-filter-externals" checked />
 							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
 						</div>
 					</div>
 					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
@@ -53,13 +52,13 @@
 		<div class="container">
 			<ul class="tsd-breadcrumb">
 				<li>
-					<a href="../globals.html">Globals</a>
+					<a href="../modules.html">usp-js</a>
 				</li>
 				<li>
-					<a href="../modules/_types_.html">&quot;types&quot;</a>
+					<a href="../modules/types.html">types</a>
 				</li>
 				<li>
-					<a href="_types_.pbrequestmessage.html">PbRequestMessage</a>
+					<a href="types.pbrequestmessage.html">PbRequestMessage</a>
 				</li>
 			</ul>
 			<h1>Interface PbRequestMessage</h1>
@@ -84,9 +83,9 @@
 						<section class="tsd-index-section ">
 							<h3>Properties</h3>
 							<ul class="tsd-index-list">
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.pbrequestmessage.html#body" class="tsd-kind-icon">body</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.pbrequestmessage.html#header" class="tsd-kind-icon">header</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.pbrequestmessage.html#lookup" class="tsd-kind-icon">lookup</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.pbrequestmessage.html#body" class="tsd-kind-icon">body</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.pbrequestmessage.html#header" class="tsd-kind-icon">header</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.pbrequestmessage.html#lookup" class="tsd-kind-icon">lookup</a></li>
 							</ul>
 						</section>
 					</div>
@@ -97,7 +96,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="body" class="tsd-anchor"></a>
 					<h3>body</h3>
-					<div class="tsd-signature tsd-kind-icon">body<span class="tsd-signature-symbol">:</span> <a href="_types_.pbrequestbody.html" class="tsd-signature-type">PbRequestBody</a></div>
+					<div class="tsd-signature tsd-kind-icon">body<span class="tsd-signature-symbol">:</span> <a href="types.pbrequestbody.html" class="tsd-signature-type" data-tsd-kind="Interface">PbRequestBody</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:363</li>
@@ -107,7 +106,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="header" class="tsd-anchor"></a>
 					<h3>header</h3>
-					<div class="tsd-signature tsd-kind-icon">header<span class="tsd-signature-symbol">:</span> <a href="_types_.pbrequestheader.html" class="tsd-signature-type">PbRequestHeader</a></div>
+					<div class="tsd-signature tsd-kind-icon">header<span class="tsd-signature-symbol">:</span> <a href="types.pbrequestheader.html" class="tsd-signature-type" data-tsd-kind="Interface">PbRequestHeader</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:362</li>
@@ -117,7 +116,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="lookup" class="tsd-anchor"></a>
 					<h3>lookup</h3>
-					<div class="tsd-signature tsd-kind-icon">lookup<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"Msg"</span></div>
+					<div class="tsd-signature tsd-kind-icon">lookup<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;Msg&quot;</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:364</li>
@@ -129,71 +128,62 @@
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 			<nav class="tsd-navigation primary">
 				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
 					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
+					<li class=" tsd-kind-module">
+						<a href="../modules/commands.html">commands</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_add_.html">&quot;commands/add&quot;</a>
+						<a href="../modules/commands_add.html">commands/add</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_del_.html">&quot;commands/del&quot;</a>
+						<a href="../modules/commands_del.html">commands/del</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_get_.html">&quot;commands/get&quot;</a>
+						<a href="../modules/commands_get.html">commands/get</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_index_.html">&quot;commands/index&quot;</a>
+						<a href="../modules/commands_instances.html">commands/instances</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_instances_.html">&quot;commands/instances&quot;</a>
+						<a href="../modules/commands_notify.html">commands/notify</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_notify_.html">&quot;commands/notify&quot;</a>
+						<a href="../modules/commands_operate.html">commands/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_operate_.html">&quot;commands/operate&quot;</a>
+						<a href="../modules/commands_proto.html">commands/proto</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_proto_.html">&quot;commands/proto&quot;</a>
+						<a href="../modules/commands_recipes_operate.html">commands/recipes/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
+						<a href="../modules/commands_recipes_resolve.html">commands/recipes/resolve</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
+						<a href="../modules/commands_recipes_subscribe.html">commands/recipes/subscribe</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
+						<a href="../modules/commands_set.html">commands/set</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_set_.html">&quot;commands/set&quot;</a>
+						<a href="../modules/commands_supported.html">commands/supported</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_supported_.html">&quot;commands/supported&quot;</a>
+						<a href="../modules/commands_util.html">commands/util</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_util_.html">&quot;commands/util&quot;</a>
+						<a href="../modules/index.html">index</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_index_.html">&quot;index&quot;</a>
+						<a href="../modules/testy.html">testy</a>
 					</li>
 					<li class="current tsd-kind-module">
-						<a href="../modules/_types_.html">&quot;types&quot;</a>
+						<a href="../modules/types.html">types</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
+						<a href="../modules/util.html">util</a>
 					</li>
 				</ul>
 			</nav>
@@ -202,16 +192,16 @@
 				</ul>
 				<ul class="current">
 					<li class="current tsd-kind-interface tsd-parent-kind-module">
-						<a href="_types_.pbrequestmessage.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Message</a>
+						<a href="types.pbrequestmessage.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Message</a>
 						<ul>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.pbrequestmessage.html#body" class="tsd-kind-icon">body</a>
+								<a href="types.pbrequestmessage.html#body" class="tsd-kind-icon">body</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.pbrequestmessage.html#header" class="tsd-kind-icon">header</a>
+								<a href="types.pbrequestmessage.html#header" class="tsd-kind-icon">header</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.pbrequestmessage.html#lookup" class="tsd-kind-icon">lookup</a>
+								<a href="types.pbrequestmessage.html#lookup" class="tsd-kind-icon">lookup</a>
 							</li>
 						</ul>
 					</li>
@@ -227,7 +217,6 @@
 		<h2>Legend</h2>
 		<div class="tsd-legend-group">
 			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
 				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
 				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
 				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
diff --git a/public/interfaces/_types_.recipeobject.html b/public/interfaces/types.recipeobject.html
similarity index 68%
rename from public/interfaces/_types_.recipeobject.html
rename to public/interfaces/types.recipeobject.html
index 46048515175b97daa80b71fa845d79901981352f..167ab16f34022edbe82403780022af03b2bbf60c 100644
--- a/public/interfaces/_types_.recipeobject.html
+++ b/public/interfaces/types.recipeobject.html
@@ -7,6 +7,7 @@
 	<meta name="description" content="Documentation for usp-js">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
 </head>
 <body>
 <header>
@@ -40,8 +41,6 @@
 							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
 							<input type="checkbox" id="tsd-filter-externals" checked />
 							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
 						</div>
 					</div>
 					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
@@ -53,13 +52,13 @@
 		<div class="container">
 			<ul class="tsd-breadcrumb">
 				<li>
-					<a href="../globals.html">Globals</a>
+					<a href="../modules.html">usp-js</a>
 				</li>
 				<li>
-					<a href="../modules/_types_.html">&quot;types&quot;</a>
+					<a href="../modules/types.html">types</a>
 				</li>
 				<li>
-					<a href="_types_.recipeobject.html">RecipeObject</a>
+					<a href="types.recipeobject.html">RecipeObject</a>
 				</li>
 			</ul>
 			<h1>Interface RecipeObject</h1>
@@ -84,8 +83,8 @@
 						<section class="tsd-index-section ">
 							<h3>Properties</h3>
 							<ul class="tsd-index-list">
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.recipeobject.html#make" class="tsd-kind-icon">make</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.recipeobject.html#name" class="tsd-kind-icon">name</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.recipeobject.html#make" class="tsd-kind-icon">make</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.recipeobject.html#name" class="tsd-kind-icon">name</a></li>
 							</ul>
 						</section>
 					</div>
@@ -96,7 +95,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="make" class="tsd-anchor"></a>
 					<h3>make</h3>
-					<div class="tsd-signature tsd-kind-icon">make<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#makefn" class="tsd-signature-type">MakeFn</a></div>
+					<div class="tsd-signature tsd-kind-icon">make<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#makefn" class="tsd-signature-type" data-tsd-kind="Type alias">MakeFn</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:427</li>
@@ -118,71 +117,62 @@
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 			<nav class="tsd-navigation primary">
 				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
 					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
+					<li class=" tsd-kind-module">
+						<a href="../modules/commands.html">commands</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_add_.html">&quot;commands/add&quot;</a>
+						<a href="../modules/commands_add.html">commands/add</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_del_.html">&quot;commands/del&quot;</a>
+						<a href="../modules/commands_del.html">commands/del</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_get_.html">&quot;commands/get&quot;</a>
+						<a href="../modules/commands_get.html">commands/get</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_index_.html">&quot;commands/index&quot;</a>
+						<a href="../modules/commands_instances.html">commands/instances</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_instances_.html">&quot;commands/instances&quot;</a>
+						<a href="../modules/commands_notify.html">commands/notify</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_notify_.html">&quot;commands/notify&quot;</a>
+						<a href="../modules/commands_operate.html">commands/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_operate_.html">&quot;commands/operate&quot;</a>
+						<a href="../modules/commands_proto.html">commands/proto</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_proto_.html">&quot;commands/proto&quot;</a>
+						<a href="../modules/commands_recipes_operate.html">commands/recipes/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
+						<a href="../modules/commands_recipes_resolve.html">commands/recipes/resolve</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
+						<a href="../modules/commands_recipes_subscribe.html">commands/recipes/subscribe</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
+						<a href="../modules/commands_set.html">commands/set</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_set_.html">&quot;commands/set&quot;</a>
+						<a href="../modules/commands_supported.html">commands/supported</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_supported_.html">&quot;commands/supported&quot;</a>
+						<a href="../modules/commands_util.html">commands/util</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_util_.html">&quot;commands/util&quot;</a>
+						<a href="../modules/index.html">index</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_index_.html">&quot;index&quot;</a>
+						<a href="../modules/testy.html">testy</a>
 					</li>
 					<li class="current tsd-kind-module">
-						<a href="../modules/_types_.html">&quot;types&quot;</a>
+						<a href="../modules/types.html">types</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
+						<a href="../modules/util.html">util</a>
 					</li>
 				</ul>
 			</nav>
@@ -191,13 +181,13 @@
 				</ul>
 				<ul class="current">
 					<li class="current tsd-kind-interface tsd-parent-kind-module">
-						<a href="_types_.recipeobject.html" class="tsd-kind-icon">Recipe<wbr>Object</a>
+						<a href="types.recipeobject.html" class="tsd-kind-icon">Recipe<wbr>Object</a>
 						<ul>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.recipeobject.html#make" class="tsd-kind-icon">make</a>
+								<a href="types.recipeobject.html#make" class="tsd-kind-icon">make</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.recipeobject.html#name" class="tsd-kind-icon">name</a>
+								<a href="types.recipeobject.html#name" class="tsd-kind-icon">name</a>
 							</li>
 						</ul>
 					</li>
@@ -213,7 +203,6 @@
 		<h2>Legend</h2>
 		<div class="tsd-legend-group">
 			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
 				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
 				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
 				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
diff --git a/public/interfaces/_types_.subscriptionoptions.html b/public/interfaces/types.subscriptionoptions.html
similarity index 67%
rename from public/interfaces/_types_.subscriptionoptions.html
rename to public/interfaces/types.subscriptionoptions.html
index a138291525815a59f1237177bd38c142de4b48c1..d9f1f95a04c8daf8c8638cb075d8abd3451bd443 100644
--- a/public/interfaces/_types_.subscriptionoptions.html
+++ b/public/interfaces/types.subscriptionoptions.html
@@ -7,6 +7,7 @@
 	<meta name="description" content="Documentation for usp-js">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
 </head>
 <body>
 <header>
@@ -40,8 +41,6 @@
 							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
 							<input type="checkbox" id="tsd-filter-externals" checked />
 							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
 						</div>
 					</div>
 					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
@@ -53,13 +52,13 @@
 		<div class="container">
 			<ul class="tsd-breadcrumb">
 				<li>
-					<a href="../globals.html">Globals</a>
+					<a href="../modules.html">usp-js</a>
 				</li>
 				<li>
-					<a href="../modules/_types_.html">&quot;types&quot;</a>
+					<a href="../modules/types.html">types</a>
 				</li>
 				<li>
-					<a href="_types_.subscriptionoptions.html">SubscriptionOptions</a>
+					<a href="types.subscriptionoptions.html">SubscriptionOptions</a>
 				</li>
 			</ul>
 			<h1>Interface SubscriptionOptions</h1>
@@ -84,9 +83,9 @@
 						<section class="tsd-index-section ">
 							<h3>Properties</h3>
 							<ul class="tsd-index-list">
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.subscriptionoptions.html#id" class="tsd-kind-icon">id</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.subscriptionoptions.html#notif" class="tsd-kind-icon">notif</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.subscriptionoptions.html#reference" class="tsd-kind-icon">reference</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.subscriptionoptions.html#id" class="tsd-kind-icon">id</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.subscriptionoptions.html#notif" class="tsd-kind-icon">notif</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.subscriptionoptions.html#reference" class="tsd-kind-icon">reference</a></li>
 							</ul>
 						</section>
 					</div>
@@ -97,7 +96,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="id" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> id</h3>
-					<div class="tsd-signature tsd-kind-icon">id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
+					<div class="tsd-signature tsd-kind-icon">id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:333</li>
@@ -107,7 +106,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="notif" class="tsd-anchor"></a>
 					<h3>notif</h3>
-					<div class="tsd-signature tsd-kind-icon">notif<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#notiftype" class="tsd-signature-type">NotifType</a></div>
+					<div class="tsd-signature tsd-kind-icon">notif<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">NotifType</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:334</li>
@@ -129,71 +128,62 @@
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 			<nav class="tsd-navigation primary">
 				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
 					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
+					<li class=" tsd-kind-module">
+						<a href="../modules/commands.html">commands</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_add_.html">&quot;commands/add&quot;</a>
+						<a href="../modules/commands_add.html">commands/add</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_del_.html">&quot;commands/del&quot;</a>
+						<a href="../modules/commands_del.html">commands/del</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_get_.html">&quot;commands/get&quot;</a>
+						<a href="../modules/commands_get.html">commands/get</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_index_.html">&quot;commands/index&quot;</a>
+						<a href="../modules/commands_instances.html">commands/instances</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_instances_.html">&quot;commands/instances&quot;</a>
+						<a href="../modules/commands_notify.html">commands/notify</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_notify_.html">&quot;commands/notify&quot;</a>
+						<a href="../modules/commands_operate.html">commands/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_operate_.html">&quot;commands/operate&quot;</a>
+						<a href="../modules/commands_proto.html">commands/proto</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_proto_.html">&quot;commands/proto&quot;</a>
+						<a href="../modules/commands_recipes_operate.html">commands/recipes/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
+						<a href="../modules/commands_recipes_resolve.html">commands/recipes/resolve</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
+						<a href="../modules/commands_recipes_subscribe.html">commands/recipes/subscribe</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
+						<a href="../modules/commands_set.html">commands/set</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_set_.html">&quot;commands/set&quot;</a>
+						<a href="../modules/commands_supported.html">commands/supported</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_supported_.html">&quot;commands/supported&quot;</a>
+						<a href="../modules/commands_util.html">commands/util</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_util_.html">&quot;commands/util&quot;</a>
+						<a href="../modules/index.html">index</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_index_.html">&quot;index&quot;</a>
+						<a href="../modules/testy.html">testy</a>
 					</li>
 					<li class="current tsd-kind-module">
-						<a href="../modules/_types_.html">&quot;types&quot;</a>
+						<a href="../modules/types.html">types</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
+						<a href="../modules/util.html">util</a>
 					</li>
 				</ul>
 			</nav>
@@ -202,16 +192,16 @@
 				</ul>
 				<ul class="current">
 					<li class="current tsd-kind-interface tsd-parent-kind-module">
-						<a href="_types_.subscriptionoptions.html" class="tsd-kind-icon">Subscription<wbr>Options</a>
+						<a href="types.subscriptionoptions.html" class="tsd-kind-icon">Subscription<wbr>Options</a>
 						<ul>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.subscriptionoptions.html#id" class="tsd-kind-icon">id</a>
+								<a href="types.subscriptionoptions.html#id" class="tsd-kind-icon">id</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.subscriptionoptions.html#notif" class="tsd-kind-icon">notif</a>
+								<a href="types.subscriptionoptions.html#notif" class="tsd-kind-icon">notif</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.subscriptionoptions.html#reference" class="tsd-kind-icon">reference</a>
+								<a href="types.subscriptionoptions.html#reference" class="tsd-kind-icon">reference</a>
 							</li>
 						</ul>
 					</li>
@@ -227,7 +217,6 @@
 		<h2>Legend</h2>
 		<div class="tsd-legend-group">
 			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
 				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
 				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
 				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
diff --git a/public/interfaces/_types_.suportedcommandopts.html b/public/interfaces/types.suportedcommandopts.html
similarity index 64%
rename from public/interfaces/_types_.suportedcommandopts.html
rename to public/interfaces/types.suportedcommandopts.html
index b34b106998a226018ef7f8b4eeb4bfb18e932d86..937dd936655a7cd2671df45c89912c4bee1afcad 100644
--- a/public/interfaces/_types_.suportedcommandopts.html
+++ b/public/interfaces/types.suportedcommandopts.html
@@ -7,6 +7,7 @@
 	<meta name="description" content="Documentation for usp-js">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
 </head>
 <body>
 <header>
@@ -40,8 +41,6 @@
 							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
 							<input type="checkbox" id="tsd-filter-externals" checked />
 							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
 						</div>
 					</div>
 					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
@@ -53,13 +52,13 @@
 		<div class="container">
 			<ul class="tsd-breadcrumb">
 				<li>
-					<a href="../globals.html">Globals</a>
+					<a href="../modules.html">usp-js</a>
 				</li>
 				<li>
-					<a href="../modules/_types_.html">&quot;types&quot;</a>
+					<a href="../modules/types.html">types</a>
 				</li>
 				<li>
-					<a href="_types_.suportedcommandopts.html">SuportedCommandOpts</a>
+					<a href="types.suportedcommandopts.html">SuportedCommandOpts</a>
 				</li>
 			</ul>
 			<h1>Interface SuportedCommandOpts</h1>
@@ -84,10 +83,10 @@
 						<section class="tsd-index-section ">
 							<h3>Properties</h3>
 							<ul class="tsd-index-list">
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.suportedcommandopts.html#firstlevelonly" class="tsd-kind-icon">first<wbr>Level<wbr>Only</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.suportedcommandopts.html#returncommands" class="tsd-kind-icon">return<wbr>Commands</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.suportedcommandopts.html#returnevents" class="tsd-kind-icon">return<wbr>Events</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.suportedcommandopts.html#returnparams" class="tsd-kind-icon">return<wbr>Params</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.suportedcommandopts.html#firstlevelonly" class="tsd-kind-icon">first<wbr>Level<wbr>Only</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.suportedcommandopts.html#returncommands" class="tsd-kind-icon">return<wbr>Commands</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.suportedcommandopts.html#returnevents" class="tsd-kind-icon">return<wbr>Events</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.suportedcommandopts.html#returnparams" class="tsd-kind-icon">return<wbr>Params</a></li>
 							</ul>
 						</section>
 					</div>
@@ -98,7 +97,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="firstlevelonly" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> first<wbr>Level<wbr>Only</h3>
-					<div class="tsd-signature tsd-kind-icon">first<wbr>Level<wbr>Only<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span></div>
+					<div class="tsd-signature tsd-kind-icon">first<wbr>Level<wbr>Only<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:76</li>
@@ -108,7 +107,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="returncommands" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> return<wbr>Commands</h3>
-					<div class="tsd-signature tsd-kind-icon">return<wbr>Commands<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span></div>
+					<div class="tsd-signature tsd-kind-icon">return<wbr>Commands<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:77</li>
@@ -118,7 +117,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="returnevents" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> return<wbr>Events</h3>
-					<div class="tsd-signature tsd-kind-icon">return<wbr>Events<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span></div>
+					<div class="tsd-signature tsd-kind-icon">return<wbr>Events<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:78</li>
@@ -128,7 +127,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="returnparams" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> return<wbr>Params</h3>
-					<div class="tsd-signature tsd-kind-icon">return<wbr>Params<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span></div>
+					<div class="tsd-signature tsd-kind-icon">return<wbr>Params<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:79</li>
@@ -140,71 +139,62 @@
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 			<nav class="tsd-navigation primary">
 				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
 					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
+					<li class=" tsd-kind-module">
+						<a href="../modules/commands.html">commands</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_add_.html">&quot;commands/add&quot;</a>
+						<a href="../modules/commands_add.html">commands/add</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_del_.html">&quot;commands/del&quot;</a>
+						<a href="../modules/commands_del.html">commands/del</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_get_.html">&quot;commands/get&quot;</a>
+						<a href="../modules/commands_get.html">commands/get</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_index_.html">&quot;commands/index&quot;</a>
+						<a href="../modules/commands_instances.html">commands/instances</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_instances_.html">&quot;commands/instances&quot;</a>
+						<a href="../modules/commands_notify.html">commands/notify</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_notify_.html">&quot;commands/notify&quot;</a>
+						<a href="../modules/commands_operate.html">commands/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_operate_.html">&quot;commands/operate&quot;</a>
+						<a href="../modules/commands_proto.html">commands/proto</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_proto_.html">&quot;commands/proto&quot;</a>
+						<a href="../modules/commands_recipes_operate.html">commands/recipes/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
+						<a href="../modules/commands_recipes_resolve.html">commands/recipes/resolve</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
+						<a href="../modules/commands_recipes_subscribe.html">commands/recipes/subscribe</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
+						<a href="../modules/commands_set.html">commands/set</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_set_.html">&quot;commands/set&quot;</a>
+						<a href="../modules/commands_supported.html">commands/supported</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_supported_.html">&quot;commands/supported&quot;</a>
+						<a href="../modules/commands_util.html">commands/util</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_util_.html">&quot;commands/util&quot;</a>
+						<a href="../modules/index.html">index</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_index_.html">&quot;index&quot;</a>
+						<a href="../modules/testy.html">testy</a>
 					</li>
 					<li class="current tsd-kind-module">
-						<a href="../modules/_types_.html">&quot;types&quot;</a>
+						<a href="../modules/types.html">types</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
+						<a href="../modules/util.html">util</a>
 					</li>
 				</ul>
 			</nav>
@@ -213,19 +203,19 @@
 				</ul>
 				<ul class="current">
 					<li class="current tsd-kind-interface tsd-parent-kind-module">
-						<a href="_types_.suportedcommandopts.html" class="tsd-kind-icon">Suported<wbr>Command<wbr>Opts</a>
+						<a href="types.suportedcommandopts.html" class="tsd-kind-icon">Suported<wbr>Command<wbr>Opts</a>
 						<ul>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.suportedcommandopts.html#firstlevelonly" class="tsd-kind-icon">first<wbr>Level<wbr>Only</a>
+								<a href="types.suportedcommandopts.html#firstlevelonly" class="tsd-kind-icon">first<wbr>Level<wbr>Only</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.suportedcommandopts.html#returncommands" class="tsd-kind-icon">return<wbr>Commands</a>
+								<a href="types.suportedcommandopts.html#returncommands" class="tsd-kind-icon">return<wbr>Commands</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.suportedcommandopts.html#returnevents" class="tsd-kind-icon">return<wbr>Events</a>
+								<a href="types.suportedcommandopts.html#returnevents" class="tsd-kind-icon">return<wbr>Events</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.suportedcommandopts.html#returnparams" class="tsd-kind-icon">return<wbr>Params</a>
+								<a href="types.suportedcommandopts.html#returnparams" class="tsd-kind-icon">return<wbr>Params</a>
 							</li>
 						</ul>
 					</li>
@@ -241,7 +231,6 @@
 		<h2>Legend</h2>
 		<div class="tsd-legend-group">
 			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
 				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
 				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
 				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
diff --git a/public/interfaces/_types_.usp.html b/public/interfaces/types.usp.html
similarity index 54%
rename from public/interfaces/_types_.usp.html
rename to public/interfaces/types.usp.html
index 5e6aa2a78b50cfb0b23879e2be2ff7bdd07427af..4335f99c95d7330f76ad9e726b00a7e3161f07b3 100644
--- a/public/interfaces/_types_.usp.html
+++ b/public/interfaces/types.usp.html
@@ -7,6 +7,7 @@
 	<meta name="description" content="Documentation for usp-js">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
 </head>
 <body>
 <header>
@@ -40,8 +41,6 @@
 							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
 							<input type="checkbox" id="tsd-filter-externals" checked />
 							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
 						</div>
 					</div>
 					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
@@ -53,13 +52,13 @@
 		<div class="container">
 			<ul class="tsd-breadcrumb">
 				<li>
-					<a href="../globals.html">Globals</a>
+					<a href="../modules.html">usp-js</a>
 				</li>
 				<li>
-					<a href="../modules/_types_.html">&quot;types&quot;</a>
+					<a href="../modules/types.html">types</a>
 				</li>
 				<li>
-					<a href="_types_.usp.html">USP</a>
+					<a href="types.usp.html">USP</a>
 				</li>
 			</ul>
 			<h1>Interface USP</h1>
@@ -91,19 +90,19 @@
 						<section class="tsd-index-section ">
 							<h3>Properties</h3>
 							<ul class="tsd-index-list">
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.usp.html#_operate" class="tsd-kind-icon">_operate</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.usp.html#add" class="tsd-kind-icon">add</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.usp.html#del" class="tsd-kind-icon">del</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.usp.html#disconnect" class="tsd-kind-icon">disconnect</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.usp.html#get" class="tsd-kind-icon">get</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.usp.html#instances" class="tsd-kind-icon">instances</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.usp.html#on" class="tsd-kind-icon">on</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.usp.html#operate" class="tsd-kind-icon">operate</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.usp.html#resolve" class="tsd-kind-icon">resolve</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.usp.html#set" class="tsd-kind-icon">set</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.usp.html#subscribe" class="tsd-kind-icon">subscribe</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.usp.html#supporteddm" class="tsd-kind-icon">supportedDM</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_types_.usp.html#supportedproto" class="tsd-kind-icon">supported<wbr>Proto</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.usp.html#_operate" class="tsd-kind-icon">_operate</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.usp.html#add" class="tsd-kind-icon">add</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.usp.html#del" class="tsd-kind-icon">del</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.usp.html#disconnect" class="tsd-kind-icon">disconnect</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.usp.html#get" class="tsd-kind-icon">get</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.usp.html#instances" class="tsd-kind-icon">instances</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.usp.html#on" class="tsd-kind-icon">on</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.usp.html#operate" class="tsd-kind-icon">operate</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.usp.html#resolve" class="tsd-kind-icon">resolve</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.usp.html#set" class="tsd-kind-icon">set</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.usp.html#subscribe" class="tsd-kind-icon">subscribe</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.usp.html#supporteddm" class="tsd-kind-icon">supportedDM</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="types.usp.html#supportedproto" class="tsd-kind-icon">supported<wbr>Proto</a></li>
 							</ul>
 						</section>
 					</div>
@@ -114,7 +113,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="_operate" class="tsd-anchor"></a>
 					<h3>_operate</h3>
-					<div class="tsd-signature tsd-kind-icon">_operate<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#operatecommand" class="tsd-signature-type">OperateCommand</a></div>
+					<div class="tsd-signature tsd-kind-icon">_operate<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#operatecommand" class="tsd-signature-type" data-tsd-kind="Type alias">OperateCommand</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:224</li>
@@ -136,7 +135,8 @@
 							</dd>
 							<dt>returns</dt>
 							<dd><p>Command results</p>
-								<pre><code>await usp.<span class="hljs-constructor">_operate(<span class="hljs-string">&quot;Device.IP.Diagnostics.IPPing()&quot;</span>, &#x27;<span class="hljs-params">command</span>-<span class="hljs-params">id</span>&#x27;, { Host: <span class="hljs-string">&quot;iopsys.eu&quot;</span> })</span></code></pre>
+								<pre><code><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">_operate</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.IP.Diagnostics.IPPing()&quot;</span><span style="color: #000000">, </span><span style="color: #A31515">&#039;command-id&#039;</span><span style="color: #000000">, { </span><span style="color: #001080">Host:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;iopsys.eu&quot;</span><span style="color: #000000"> })</span>
+</code></pre>
 							</dd>
 						</dl>
 					</div>
@@ -144,7 +144,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="add" class="tsd-anchor"></a>
 					<h3>add</h3>
-					<div class="tsd-signature tsd-kind-icon">add<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#addcommand" class="tsd-signature-type">AddCommand</a></div>
+					<div class="tsd-signature tsd-kind-icon">add<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#addcommand" class="tsd-signature-type" data-tsd-kind="Type alias">AddCommand</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:236</li>
@@ -163,8 +163,9 @@
 							</dd>
 							<dt>returns</dt>
 							<dd><p>Full path of new object</p>
-								<pre><code><span class="hljs-selector-tag">await</span> <span class="hljs-selector-tag">usp</span><span class="hljs-selector-class">.add</span>(&quot;<span class="hljs-selector-tag">Device</span><span class="hljs-selector-class">.NAT</span><span class="hljs-selector-class">.PortMapping</span>.&quot;)
-<span class="hljs-selector-tag">await</span> <span class="hljs-selector-tag">usp</span><span class="hljs-selector-class">.add</span>(&quot;<span class="hljs-selector-tag">Device</span><span class="hljs-selector-class">.NAT</span><span class="hljs-selector-class">.PortMapping</span>.&quot;, { <span class="hljs-attribute">Description</span>: <span class="hljs-string">&quot;cpe-1&quot;</span>, allowPartial: true })</code></pre>
+								<pre><code><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">add</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.NAT.PortMapping.&quot;</span><span style="color: #000000">)</span>
+<span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">add</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.NAT.PortMapping.&quot;</span><span style="color: #000000">, { </span><span style="color: #001080">Description:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;cpe-1&quot;</span><span style="color: #000000">, </span><span style="color: #001080">allowPartial:</span><span style="color: #000000"> </span><span style="color: #0000FF">true</span><span style="color: #000000"> })</span>
+</code></pre>
 							</dd>
 						</dl>
 					</div>
@@ -172,7 +173,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="del" class="tsd-anchor"></a>
 					<h3>del</h3>
-					<div class="tsd-signature tsd-kind-icon">del<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#delcommand" class="tsd-signature-type">DelCommand</a></div>
+					<div class="tsd-signature tsd-kind-icon">del<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#delcommand" class="tsd-signature-type" data-tsd-kind="Type alias">DelCommand</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:247</li>
@@ -188,8 +189,9 @@
 							</dd>
 							<dt>param</dt>
 							<dd><p>Allow partial (defaults to false)</p>
-								<pre><code><span class="hljs-selector-tag">await</span> <span class="hljs-selector-tag">usp</span><span class="hljs-selector-class">.del</span>(&quot;<span class="hljs-selector-tag">Device</span><span class="hljs-selector-class">.NAT</span><span class="hljs-selector-class">.PortMapping</span>.1.&quot;)
-<span class="hljs-selector-tag">await</span> <span class="hljs-selector-tag">usp</span><span class="hljs-selector-class">.del</span>(&quot;<span class="hljs-selector-tag">Device</span><span class="hljs-selector-class">.NAT</span><span class="hljs-selector-class">.PortMapping</span>.1.&quot;, <span class="hljs-selector-tag">true</span>)</code></pre>
+								<pre><code><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">del</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.NAT.PortMapping.1.&quot;</span><span style="color: #000000">)</span>
+<span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">del</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.NAT.PortMapping.1.&quot;</span><span style="color: #000000">, </span><span style="color: #0000FF">true</span><span style="color: #000000">)</span>
+</code></pre>
 							</dd>
 						</dl>
 					</div>
@@ -206,14 +208,15 @@
 					<div class="tsd-comment tsd-typography">
 						<div class="lead">
 							<p>Disconnect from device</p>
-							<pre><code>await usp.<span class="hljs-built_in">disconnect</span>()</code></pre>
+							<pre><code><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">disconnect</span><span style="color: #000000">()</span>
+</code></pre>
 						</div>
 					</div>
 					<div class="tsd-type-declaration">
 						<h4>Type declaration</h4>
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
-								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-property">
+								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-interface">
 									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
 								</ul>
 								<ul class="tsd-descriptions">
@@ -228,7 +231,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="get" class="tsd-anchor"></a>
 					<h3>get</h3>
-					<div class="tsd-signature tsd-kind-icon">get<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#getcommand" class="tsd-signature-type">GetCommand</a></div>
+					<div class="tsd-signature tsd-kind-icon">get<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#getcommand" class="tsd-signature-type" data-tsd-kind="Type alias">GetCommand</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:187</li>
@@ -241,9 +244,10 @@
 						<dl class="tsd-comment-tags">
 							<dt>param</dt>
 							<dd><p>Location of value (e.g. &quot;Device.DeviceInfo.&quot;)</p>
-								<pre><code><span class="hljs-keyword">await</span> usp.<span class="hljs-keyword">get</span>(<span class="hljs-string">&quot;Device.WiFi.Radio.1.&quot;</span>)
-<span class="hljs-comment">// or</span>
-<span class="hljs-keyword">await</span> usp.<span class="hljs-keyword">get</span>([<span class="hljs-string">&quot;Device.WiFi.Radio.1.&quot;</span>, <span class="hljs-string">&quot;Device.WiFi.Radio.2.&quot;</span>])</code></pre>
+								<pre><code><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">get</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.WiFi.Radio.1.&quot;</span><span style="color: #000000">)</span>
+<span style="color: #008000">// or</span>
+<span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">get</span><span style="color: #000000">([</span><span style="color: #A31515">&quot;Device.WiFi.Radio.1.&quot;</span><span style="color: #000000">, </span><span style="color: #A31515">&quot;Device.WiFi.Radio.2.&quot;</span><span style="color: #000000">])</span>
+</code></pre>
 							</dd>
 						</dl>
 					</div>
@@ -251,7 +255,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="instances" class="tsd-anchor"></a>
 					<h3>instances</h3>
-					<div class="tsd-signature tsd-kind-icon">instances<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#supporteddmcommand" class="tsd-signature-type">SupportedDMCommand</a></div>
+					<div class="tsd-signature tsd-kind-icon">instances<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#supporteddmcommand" class="tsd-signature-type" data-tsd-kind="Type alias">SupportedDMCommand</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:286</li>
@@ -267,7 +271,8 @@
 							</dd>
 							<dt>param</dt>
 							<dd><p>Return only first level</p>
-								<pre><code><span class="hljs-keyword">await</span> usp.instances(<span class="hljs-string">&quot;Device.WiFi.&quot;</span>)</code></pre>
+								<pre><code><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">instances</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.WiFi.&quot;</span><span style="color: #000000">)</span>
+</code></pre>
 							</dd>
 						</dl>
 					</div>
@@ -275,7 +280,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="on" class="tsd-anchor"></a>
 					<h3>on</h3>
-					<div class="tsd-signature tsd-kind-icon">on<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#onfn" class="tsd-signature-type">OnFn</a></div>
+					<div class="tsd-signature tsd-kind-icon">on<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#onfn" class="tsd-signature-type" data-tsd-kind="Type alias">OnFn</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:308</li>
@@ -294,7 +299,8 @@
 							</dd>
 							<dt>returns</dt>
 							<dd><p>Returns function to clear handler</p>
-								<pre><code>const clear = usp.<span class="hljs-literal">on</span>(<span class="hljs-string">&quot;error&quot;</span>, <span class="hljs-function"><span class="hljs-params">()</span> =&gt;</span> <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&#x27;An error!&#x27;</span>))</code></pre>
+								<pre><code><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">clear</span><span style="color: #000000"> = </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">on</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;error&quot;</span><span style="color: #000000">, () </span><span style="color: #0000FF">=&gt;</span><span style="color: #000000"> </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #A31515">&#039;An error!&#039;</span><span style="color: #000000">))</span>
+</code></pre>
 							</dd>
 						</dl>
 					</div>
@@ -302,7 +308,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="operate" class="tsd-anchor"></a>
 					<h3>operate</h3>
-					<div class="tsd-signature tsd-kind-icon">operate<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#operaterecipe" class="tsd-signature-type">OperateRecipe</a></div>
+					<div class="tsd-signature tsd-kind-icon">operate<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#operaterecipe" class="tsd-signature-type" data-tsd-kind="Type alias">OperateRecipe</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:212</li>
@@ -321,9 +327,10 @@
 							</dd>
 							<dt>returns</dt>
 							<dd><p>Function that executes command</p>
-								<pre><code><span class="hljs-keyword">const</span> [ping, cleanPing] = <span class="hljs-keyword">await</span> usp.operate(<span class="hljs-string">&quot;Device.IP.Diagnostics.IPPing()&quot;</span>)
-<span class="hljs-keyword">const</span> results = <span class="hljs-keyword">await</span> ping({ Host: <span class="hljs-string">&quot;iopsys.eu&quot;</span> })
-<span class="hljs-keyword">await</span> cleanPing()</code></pre>
+								<pre><code><span style="color: #0000FF">const</span><span style="color: #000000"> [</span><span style="color: #0070C1">ping</span><span style="color: #000000">, </span><span style="color: #0070C1">cleanPing</span><span style="color: #000000">] = </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">operate</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.IP.Diagnostics.IPPing()&quot;</span><span style="color: #000000">)</span>
+<span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">results</span><span style="color: #000000"> = </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #795E26">ping</span><span style="color: #000000">({ </span><span style="color: #001080">Host:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;iopsys.eu&quot;</span><span style="color: #000000"> })</span>
+<span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #795E26">cleanPing</span><span style="color: #000000">()</span>
+</code></pre>
 							</dd>
 						</dl>
 					</div>
@@ -331,7 +338,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="resolve" class="tsd-anchor"></a>
 					<h3>resolve</h3>
-					<div class="tsd-signature tsd-kind-icon">resolve<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#resolverecipe" class="tsd-signature-type">ResolveRecipe</a></div>
+					<div class="tsd-signature tsd-kind-icon">resolve<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#resolverecipe" class="tsd-signature-type" data-tsd-kind="Type alias">ResolveRecipe</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:257</li>
@@ -347,7 +354,8 @@
 							</dd>
 							<dt>param</dt>
 							<dd><p>Optional level of nesting to resolve to (avoid using high numbers)</p>
-								<pre><code><span class="hljs-selector-tag">await</span> <span class="hljs-selector-tag">usp</span><span class="hljs-selector-class">.get</span>(&quot;<span class="hljs-selector-tag">Device</span><span class="hljs-selector-class">.WiFi</span><span class="hljs-selector-class">.Radio</span>.1.&quot;)<span class="hljs-selector-class">.then</span>(<span class="hljs-selector-tag">device</span><span class="hljs-selector-class">.resolve</span>)</code></pre>
+								<pre><code><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">get</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.WiFi.Radio.1.&quot;</span><span style="color: #000000">).</span><span style="color: #795E26">then</span><span style="color: #000000">(</span><span style="color: #001080">device</span><span style="color: #000000">.</span><span style="color: #001080">resolve</span><span style="color: #000000">)</span>
+</code></pre>
 							</dd>
 						</dl>
 					</div>
@@ -355,7 +363,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="set" class="tsd-anchor"></a>
 					<h3>set</h3>
-					<div class="tsd-signature tsd-kind-icon">set<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#setcommand" class="tsd-signature-type">SetCommand</a></div>
+					<div class="tsd-signature tsd-kind-icon">set<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#setcommand" class="tsd-signature-type" data-tsd-kind="Type alias">SetCommand</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:199</li>
@@ -371,9 +379,10 @@
 							</dd>
 							<dt>param</dt>
 							<dd><p>Value to assign</p>
-								<pre><code><span class="hljs-selector-tag">await</span> <span class="hljs-selector-tag">usp</span><span class="hljs-selector-class">.set</span>(&quot;<span class="hljs-selector-tag">Device</span><span class="hljs-selector-class">.WiFi</span><span class="hljs-selector-class">.Radio</span>.1.&quot;, { <span class="hljs-attribute">Name</span>: <span class="hljs-string">&quot;radio-1&quot;</span> })
-// <span class="hljs-selector-tag">or</span>
-<span class="hljs-selector-tag">await</span> <span class="hljs-selector-tag">usp</span><span class="hljs-selector-class">.set</span>(&quot;<span class="hljs-selector-tag">Device</span><span class="hljs-selector-class">.WiFi</span><span class="hljs-selector-class">.Radio</span>.1<span class="hljs-selector-class">.Name</span>&quot;, &quot;<span class="hljs-selector-tag">radio-1</span>&quot;)</code></pre>
+								<pre><code><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">set</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.WiFi.Radio.1.&quot;</span><span style="color: #000000">, { </span><span style="color: #001080">Name:</span><span style="color: #000000"> </span><span style="color: #A31515">&quot;radio-1&quot;</span><span style="color: #000000"> })</span>
+<span style="color: #008000">// or</span>
+<span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">set</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.WiFi.Radio.1.Name&quot;</span><span style="color: #000000">, </span><span style="color: #A31515">&quot;radio-1&quot;</span><span style="color: #000000">)</span>
+</code></pre>
 							</dd>
 						</dl>
 					</div>
@@ -381,7 +390,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="subscribe" class="tsd-anchor"></a>
 					<h3>subscribe</h3>
-					<div class="tsd-signature tsd-kind-icon">subscribe<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#subscriberecipe" class="tsd-signature-type">SubscribeRecipe</a></div>
+					<div class="tsd-signature tsd-kind-icon">subscribe<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#subscriberecipe" class="tsd-signature-type" data-tsd-kind="Type alias">SubscribeRecipe</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:297</li>
@@ -400,7 +409,8 @@
 							</dd>
 							<dt>returns</dt>
 							<dd><p>Returns function to clear subscription</p>
-								<pre><code><span class="hljs-keyword">const</span> clearSub = <span class="hljs-keyword">await</span> usp.subscribe({ <span class="hljs-attribute">id:</span><span class="hljs-string"> &#x27;1234&#x27;, notif</span>: <span class="hljs-string">&#x27;ObjectCreation&#x27;</span>, <span class="hljs-attribute">reference</span>: <span class="hljs-string">&#x27;Device.NAT.PortMapping.&#x27;</span> }, <span class="hljs-built_in">console</span>.log)</code></pre>
+								<pre><code><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">clearSub</span><span style="color: #000000"> = </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">subscribe</span><span style="color: #000000">({ </span><span style="color: #001080">id:</span><span style="color: #000000"> </span><span style="color: #A31515">&#039;1234&#039;</span><span style="color: #000000">, </span><span style="color: #001080">notif:</span><span style="color: #000000"> </span><span style="color: #A31515">&#039;ObjectCreation&#039;</span><span style="color: #000000">, </span><span style="color: #001080">reference:</span><span style="color: #000000"> </span><span style="color: #A31515">&#039;Device.NAT.PortMapping.&#039;</span><span style="color: #000000"> }, </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #001080">log</span><span style="color: #000000">)</span>
+</code></pre>
 							</dd>
 						</dl>
 					</div>
@@ -408,7 +418,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="supporteddm" class="tsd-anchor"></a>
 					<h3>supportedDM</h3>
-					<div class="tsd-signature tsd-kind-icon">supportedDM<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#supporteddmcommand" class="tsd-signature-type">SupportedDMCommand</a></div>
+					<div class="tsd-signature tsd-kind-icon">supportedDM<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#supporteddmcommand" class="tsd-signature-type" data-tsd-kind="Type alias">SupportedDMCommand</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:267</li>
@@ -424,7 +434,8 @@
 							</dd>
 							<dt>param</dt>
 							<dd><p>Response options</p>
-								<pre><code><span class="hljs-keyword">await</span> usp.supportedDM(<span class="hljs-string">&quot;Device.WiFi.&quot;</span>)</code></pre>
+								<pre><code><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">supportedDM</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;Device.WiFi.&quot;</span><span style="color: #000000">)</span>
+</code></pre>
 							</dd>
 						</dl>
 					</div>
@@ -432,7 +443,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="supportedproto" class="tsd-anchor"></a>
 					<h3>supported<wbr>Proto</h3>
-					<div class="tsd-signature tsd-kind-icon">supported<wbr>Proto<span class="tsd-signature-symbol">:</span> <a href="../modules/_types_.html#supportedprotocommand" class="tsd-signature-type">SupportedProtoCommand</a></div>
+					<div class="tsd-signature tsd-kind-icon">supported<wbr>Proto<span class="tsd-signature-symbol">:</span> <a href="../modules/types.html#supportedprotocommand" class="tsd-signature-type" data-tsd-kind="Type alias">SupportedProtoCommand</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:276</li>
@@ -445,7 +456,8 @@
 						<dl class="tsd-comment-tags">
 							<dt>param</dt>
 							<dd><p>Controller supported protocol versions</p>
-								<pre><code><span class="hljs-keyword">await</span> usp.supportedProto(<span class="hljs-string">&quot;1.0&quot;</span>)</code></pre>
+								<pre><code><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">usp</span><span style="color: #000000">.</span><span style="color: #795E26">supportedProto</span><span style="color: #000000">(</span><span style="color: #A31515">&quot;1.0&quot;</span><span style="color: #000000">)</span>
+</code></pre>
 							</dd>
 						</dl>
 					</div>
@@ -455,71 +467,62 @@
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 			<nav class="tsd-navigation primary">
 				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
 					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
+					<li class=" tsd-kind-module">
+						<a href="../modules/commands.html">commands</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_add_.html">&quot;commands/add&quot;</a>
+						<a href="../modules/commands_add.html">commands/add</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_del_.html">&quot;commands/del&quot;</a>
+						<a href="../modules/commands_del.html">commands/del</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_get_.html">&quot;commands/get&quot;</a>
+						<a href="../modules/commands_get.html">commands/get</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_index_.html">&quot;commands/index&quot;</a>
+						<a href="../modules/commands_instances.html">commands/instances</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_instances_.html">&quot;commands/instances&quot;</a>
+						<a href="../modules/commands_notify.html">commands/notify</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_notify_.html">&quot;commands/notify&quot;</a>
+						<a href="../modules/commands_operate.html">commands/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_operate_.html">&quot;commands/operate&quot;</a>
+						<a href="../modules/commands_proto.html">commands/proto</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_proto_.html">&quot;commands/proto&quot;</a>
+						<a href="../modules/commands_recipes_operate.html">commands/recipes/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
+						<a href="../modules/commands_recipes_resolve.html">commands/recipes/resolve</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
+						<a href="../modules/commands_recipes_subscribe.html">commands/recipes/subscribe</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
+						<a href="../modules/commands_set.html">commands/set</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_set_.html">&quot;commands/set&quot;</a>
+						<a href="../modules/commands_supported.html">commands/supported</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_supported_.html">&quot;commands/supported&quot;</a>
+						<a href="../modules/commands_util.html">commands/util</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_commands_util_.html">&quot;commands/util&quot;</a>
+						<a href="../modules/index.html">index</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_index_.html">&quot;index&quot;</a>
+						<a href="../modules/testy.html">testy</a>
 					</li>
 					<li class="current tsd-kind-module">
-						<a href="../modules/_types_.html">&quot;types&quot;</a>
+						<a href="../modules/types.html">types</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="../modules/_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="../modules/_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
+						<a href="../modules/util.html">util</a>
 					</li>
 				</ul>
 			</nav>
@@ -528,46 +531,46 @@
 				</ul>
 				<ul class="current">
 					<li class="current tsd-kind-interface tsd-parent-kind-module">
-						<a href="_types_.usp.html" class="tsd-kind-icon">USP</a>
+						<a href="types.usp.html" class="tsd-kind-icon">USP</a>
 						<ul>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.usp.html#_operate" class="tsd-kind-icon">_operate</a>
+								<a href="types.usp.html#_operate" class="tsd-kind-icon">_operate</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.usp.html#add" class="tsd-kind-icon">add</a>
+								<a href="types.usp.html#add" class="tsd-kind-icon">add</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.usp.html#del" class="tsd-kind-icon">del</a>
+								<a href="types.usp.html#del" class="tsd-kind-icon">del</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.usp.html#disconnect" class="tsd-kind-icon">disconnect</a>
+								<a href="types.usp.html#disconnect" class="tsd-kind-icon">disconnect</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.usp.html#get" class="tsd-kind-icon">get</a>
+								<a href="types.usp.html#get" class="tsd-kind-icon">get</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.usp.html#instances" class="tsd-kind-icon">instances</a>
+								<a href="types.usp.html#instances" class="tsd-kind-icon">instances</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.usp.html#on" class="tsd-kind-icon">on</a>
+								<a href="types.usp.html#on" class="tsd-kind-icon">on</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.usp.html#operate" class="tsd-kind-icon">operate</a>
+								<a href="types.usp.html#operate" class="tsd-kind-icon">operate</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.usp.html#resolve" class="tsd-kind-icon">resolve</a>
+								<a href="types.usp.html#resolve" class="tsd-kind-icon">resolve</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.usp.html#set" class="tsd-kind-icon">set</a>
+								<a href="types.usp.html#set" class="tsd-kind-icon">set</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.usp.html#subscribe" class="tsd-kind-icon">subscribe</a>
+								<a href="types.usp.html#subscribe" class="tsd-kind-icon">subscribe</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.usp.html#supporteddm" class="tsd-kind-icon">supportedDM</a>
+								<a href="types.usp.html#supporteddm" class="tsd-kind-icon">supportedDM</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="_types_.usp.html#supportedproto" class="tsd-kind-icon">supported<wbr>Proto</a>
+								<a href="types.usp.html#supportedproto" class="tsd-kind-icon">supported<wbr>Proto</a>
 							</li>
 						</ul>
 					</li>
@@ -583,7 +586,6 @@
 		<h2>Legend</h2>
 		<div class="tsd-legend-group">
 			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
 				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
 				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
 				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
diff --git a/public/modules.html b/public/modules.html
new file mode 100644
index 0000000000000000000000000000000000000000..edb4ca9180cbeed6a71baa5ae67414baad481acd
--- /dev/null
+++ b/public/modules.html
@@ -0,0 +1,181 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>usp-js</title>
+	<meta name="description" content="Documentation for usp-js">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="assets/css/main.css">
+	<script async src="assets/js/search.js" id="search-script"></script>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="assets/js/search.json" data-base=".">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="index.html" class="title">usp-js</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<h1>usp-js</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Modules</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-module"><a href="modules/commands.html" class="tsd-kind-icon">commands</a></li>
+								<li class="tsd-kind-module"><a href="modules/commands_add.html" class="tsd-kind-icon">commands/add</a></li>
+								<li class="tsd-kind-module"><a href="modules/commands_del.html" class="tsd-kind-icon">commands/del</a></li>
+								<li class="tsd-kind-module"><a href="modules/commands_get.html" class="tsd-kind-icon">commands/get</a></li>
+								<li class="tsd-kind-module"><a href="modules/commands_instances.html" class="tsd-kind-icon">commands/instances</a></li>
+								<li class="tsd-kind-module"><a href="modules/commands_notify.html" class="tsd-kind-icon">commands/notify</a></li>
+								<li class="tsd-kind-module"><a href="modules/commands_operate.html" class="tsd-kind-icon">commands/operate</a></li>
+								<li class="tsd-kind-module"><a href="modules/commands_proto.html" class="tsd-kind-icon">commands/proto</a></li>
+								<li class="tsd-kind-module"><a href="modules/commands_recipes_operate.html" class="tsd-kind-icon">commands/recipes/operate</a></li>
+								<li class="tsd-kind-module"><a href="modules/commands_recipes_resolve.html" class="tsd-kind-icon">commands/recipes/resolve</a></li>
+								<li class="tsd-kind-module"><a href="modules/commands_recipes_subscribe.html" class="tsd-kind-icon">commands/recipes/subscribe</a></li>
+								<li class="tsd-kind-module"><a href="modules/commands_set.html" class="tsd-kind-icon">commands/set</a></li>
+								<li class="tsd-kind-module"><a href="modules/commands_supported.html" class="tsd-kind-icon">commands/supported</a></li>
+								<li class="tsd-kind-module"><a href="modules/commands_util.html" class="tsd-kind-icon">commands/util</a></li>
+								<li class="tsd-kind-module"><a href="modules/index.html" class="tsd-kind-icon">index</a></li>
+								<li class="tsd-kind-module"><a href="modules/testy.html" class="tsd-kind-icon">testy</a></li>
+								<li class="tsd-kind-module"><a href="modules/types.html" class="tsd-kind-icon">types</a></li>
+								<li class="tsd-kind-module"><a href="modules/util.html" class="tsd-kind-icon">util</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class="current ">
+						<a href="modules.html">Exports</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/commands.html">commands</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/commands_add.html">commands/add</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/commands_del.html">commands/del</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/commands_get.html">commands/get</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/commands_instances.html">commands/instances</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/commands_notify.html">commands/notify</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/commands_operate.html">commands/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/commands_proto.html">commands/proto</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/commands_recipes_operate.html">commands/recipes/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/commands_recipes_resolve.html">commands/recipes/resolve</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/commands_recipes_subscribe.html">commands/recipes/subscribe</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/commands_set.html">commands/set</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/commands_supported.html">commands/supported</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/commands_util.html">commands/util</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/index.html">index</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/testy.html">testy</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/types.html">types</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="modules/util.html">util</a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
+				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
+				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="assets/js/main.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/public/modules/_commands_add_.html b/public/modules/_commands_add_.html
deleted file mode 100644
index cec706e9e4d6765d56d3a4590a110b898b02da02..0000000000000000000000000000000000000000
--- a/public/modules/_commands_add_.html
+++ /dev/null
@@ -1,320 +0,0 @@
-<!doctype html>
-<html class="default no-js">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;commands/add&quot; | usp-js</title>
-	<meta name="description" content="Documentation for usp-js">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="../assets/css/main.css">
-</head>
-<body>
-<header>
-	<div class="tsd-page-toolbar">
-		<div class="container">
-			<div class="table-wrap">
-				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
-					<div class="field">
-						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
-						<input id="tsd-search-field" type="text" />
-					</div>
-					<ul class="results">
-						<li class="state loading">Preparing search index...</li>
-						<li class="state failure">The search index is not available</li>
-					</ul>
-					<a href="../index.html" class="title">usp-js</a>
-				</div>
-				<div class="table-cell" id="tsd-widgets">
-					<div id="tsd-filter">
-						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
-						<div class="tsd-filter-group">
-							<div class="tsd-select" id="tsd-filter-visibility">
-								<span class="tsd-select-label">All</span>
-								<ul class="tsd-select-list">
-									<li data-value="public">Public</li>
-									<li data-value="protected">Public/Protected</li>
-									<li data-value="private" class="selected">All</li>
-								</ul>
-							</div>
-							<input type="checkbox" id="tsd-filter-inherited" checked />
-							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
-							<input type="checkbox" id="tsd-filter-externals" checked />
-							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
-						</div>
-					</div>
-					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="tsd-page-title">
-		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="../globals.html">Globals</a>
-				</li>
-				<li>
-					<a href="_commands_add_.html">&quot;commands/add&quot;</a>
-				</li>
-			</ul>
-			<h1>Module &quot;commands/add&quot;</h1>
-		</div>
-	</div>
-</header>
-<div class="container container-main">
-	<div class="row">
-		<div class="col-8 col-content">
-			<section class="tsd-panel-group tsd-index-group">
-				<h2>Index</h2>
-				<section class="tsd-panel tsd-index-panel">
-					<div class="tsd-index-content">
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Functions</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_add_.html#decode" class="tsd-kind-icon">decode</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_add_.html#encode" class="tsd-kind-icon">encode</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_add_.html#isobj" class="tsd-kind-icon">is<wbr>Obj</a></li>
-							</ul>
-						</section>
-					</div>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Functions</h2>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="decode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> decode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">decode<span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">]</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/add.ts:4</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>msg: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">]</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="encode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> encode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">encode<span class="tsd-signature-symbol">(</span>__namedParameters<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/add.ts:13</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>__namedParameters: <span class="tsd-signature-symbol">{ </span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Body"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>request<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-											<ul class="tsd-parameters">
-												<li class="tsd-parameter">
-													<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Request"</span></h5>
-												</li>
-												<li class="tsd-parameter">
-													<h5>add<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-													<ul class="tsd-parameters">
-														<li class="tsd-parameter">
-															<h5>allow<wbr>Partial<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-														</li>
-														<li class="tsd-parameter">
-															<h5>create<wbr>Objs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Add.CreateObject"</span><span class="tsd-signature-symbol">; </span>objPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>paramSettings<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Add.CreateParamSetting"</span><span class="tsd-signature-symbol">; </span>param<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>required<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span></h5>
-														</li>
-													</ul>
-												</li>
-											</ul>
-										</li>
-									</ul>
-								</li>
-								<li class="tsd-parameter">
-									<h5>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Header"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"ADD"</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="isobj" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> is<wbr>Obj</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">is<wbr>Obj<span class="tsd-signature-symbol">(</span>v<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/add.ts:10</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>v: <span class="tsd-signature-type">any</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
-						</li>
-					</ul>
-				</section>
-			</section>
-		</div>
-		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
-			<nav class="tsd-navigation primary">
-				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
-					</li>
-					<li class="current tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
-					</li>
-				</ul>
-			</nav>
-			<nav class="tsd-navigation secondary menu-sticky">
-				<ul class="before-current">
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_add_.html#decode" class="tsd-kind-icon">decode</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_add_.html#encode" class="tsd-kind-icon">encode</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_add_.html#isobj" class="tsd-kind-icon">is<wbr>Obj</a>
-					</li>
-				</ul>
-			</nav>
-		</div>
-	</div>
-</div>
-<footer class="with-border-bottom">
-	<div class="container">
-		<h2>Legend</h2>
-		<div class="tsd-legend-group">
-			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
-				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
-				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
-				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
-			</ul>
-			<ul class="tsd-legend">
-				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
-			</ul>
-		</div>
-	</div>
-</footer>
-<div class="container tsd-generator">
-	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
-</div>
-<div class="overlay"></div>
-<script src="../assets/js/main.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/public/modules/_commands_del_.html b/public/modules/_commands_del_.html
deleted file mode 100644
index ea726453ea3afe6cf3540af79cddd7b511e50fbf..0000000000000000000000000000000000000000
--- a/public/modules/_commands_del_.html
+++ /dev/null
@@ -1,293 +0,0 @@
-<!doctype html>
-<html class="default no-js">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;commands/del&quot; | usp-js</title>
-	<meta name="description" content="Documentation for usp-js">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="../assets/css/main.css">
-</head>
-<body>
-<header>
-	<div class="tsd-page-toolbar">
-		<div class="container">
-			<div class="table-wrap">
-				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
-					<div class="field">
-						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
-						<input id="tsd-search-field" type="text" />
-					</div>
-					<ul class="results">
-						<li class="state loading">Preparing search index...</li>
-						<li class="state failure">The search index is not available</li>
-					</ul>
-					<a href="../index.html" class="title">usp-js</a>
-				</div>
-				<div class="table-cell" id="tsd-widgets">
-					<div id="tsd-filter">
-						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
-						<div class="tsd-filter-group">
-							<div class="tsd-select" id="tsd-filter-visibility">
-								<span class="tsd-select-label">All</span>
-								<ul class="tsd-select-list">
-									<li data-value="public">Public</li>
-									<li data-value="protected">Public/Protected</li>
-									<li data-value="private" class="selected">All</li>
-								</ul>
-							</div>
-							<input type="checkbox" id="tsd-filter-inherited" checked />
-							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
-							<input type="checkbox" id="tsd-filter-externals" checked />
-							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
-						</div>
-					</div>
-					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="tsd-page-title">
-		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="../globals.html">Globals</a>
-				</li>
-				<li>
-					<a href="_commands_del_.html">&quot;commands/del&quot;</a>
-				</li>
-			</ul>
-			<h1>Module &quot;commands/del&quot;</h1>
-		</div>
-	</div>
-</header>
-<div class="container container-main">
-	<div class="row">
-		<div class="col-8 col-content">
-			<section class="tsd-panel-group tsd-index-group">
-				<h2>Index</h2>
-				<section class="tsd-panel tsd-index-panel">
-					<div class="tsd-index-content">
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Functions</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_del_.html#decode" class="tsd-kind-icon">decode</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_del_.html#encode" class="tsd-kind-icon">encode</a></li>
-							</ul>
-						</section>
-					</div>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Functions</h2>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="decode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> decode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">decode<span class="tsd-signature-symbol">(</span>_msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">]</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/del.ts:4</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>_msg: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">]</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="encode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> encode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">encode<span class="tsd-signature-symbol">(</span>__namedParameters<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>allowPartial<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/del.ts:8</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>__namedParameters: <span class="tsd-signature-symbol">{ </span>allowPartial<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>allow<wbr>Partial<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Body"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>request<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-											<ul class="tsd-parameters">
-												<li class="tsd-parameter">
-													<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Request"</span></h5>
-												</li>
-												<li class="tsd-parameter">
-													<h5>delete<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-													<ul class="tsd-parameters">
-														<li class="tsd-parameter">
-															<h5>allow<wbr>Partial<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-														</li>
-														<li class="tsd-parameter">
-															<h5>obj<wbr>Paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5>
-														</li>
-													</ul>
-												</li>
-											</ul>
-										</li>
-									</ul>
-								</li>
-								<li class="tsd-parameter">
-									<h5>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Header"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"DELETE"</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-						</li>
-					</ul>
-				</section>
-			</section>
-		</div>
-		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
-			<nav class="tsd-navigation primary">
-				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
-					</li>
-					<li class="current tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
-					</li>
-				</ul>
-			</nav>
-			<nav class="tsd-navigation secondary menu-sticky">
-				<ul class="before-current">
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_del_.html#decode" class="tsd-kind-icon">decode</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_del_.html#encode" class="tsd-kind-icon">encode</a>
-					</li>
-				</ul>
-			</nav>
-		</div>
-	</div>
-</div>
-<footer class="with-border-bottom">
-	<div class="container">
-		<h2>Legend</h2>
-		<div class="tsd-legend-group">
-			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
-				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
-				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
-				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
-			</ul>
-			<ul class="tsd-legend">
-				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
-			</ul>
-		</div>
-	</div>
-</footer>
-<div class="container tsd-generator">
-	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
-</div>
-<div class="overlay"></div>
-<script src="../assets/js/main.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/public/modules/_commands_get_.html b/public/modules/_commands_get_.html
deleted file mode 100644
index d91bccfdaab0f661fb345975b2f9d7930590c515..0000000000000000000000000000000000000000
--- a/public/modules/_commands_get_.html
+++ /dev/null
@@ -1,287 +0,0 @@
-<!doctype html>
-<html class="default no-js">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;commands/get&quot; | usp-js</title>
-	<meta name="description" content="Documentation for usp-js">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="../assets/css/main.css">
-</head>
-<body>
-<header>
-	<div class="tsd-page-toolbar">
-		<div class="container">
-			<div class="table-wrap">
-				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
-					<div class="field">
-						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
-						<input id="tsd-search-field" type="text" />
-					</div>
-					<ul class="results">
-						<li class="state loading">Preparing search index...</li>
-						<li class="state failure">The search index is not available</li>
-					</ul>
-					<a href="../index.html" class="title">usp-js</a>
-				</div>
-				<div class="table-cell" id="tsd-widgets">
-					<div id="tsd-filter">
-						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
-						<div class="tsd-filter-group">
-							<div class="tsd-select" id="tsd-filter-visibility">
-								<span class="tsd-select-label">All</span>
-								<ul class="tsd-select-list">
-									<li data-value="public">Public</li>
-									<li data-value="protected">Public/Protected</li>
-									<li data-value="private" class="selected">All</li>
-								</ul>
-							</div>
-							<input type="checkbox" id="tsd-filter-inherited" checked />
-							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
-							<input type="checkbox" id="tsd-filter-externals" checked />
-							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
-						</div>
-					</div>
-					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="tsd-page-title">
-		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="../globals.html">Globals</a>
-				</li>
-				<li>
-					<a href="_commands_get_.html">&quot;commands/get&quot;</a>
-				</li>
-			</ul>
-			<h1>Module &quot;commands/get&quot;</h1>
-		</div>
-	</div>
-</header>
-<div class="container container-main">
-	<div class="row">
-		<div class="col-8 col-content">
-			<section class="tsd-panel-group tsd-index-group">
-				<h2>Index</h2>
-				<section class="tsd-panel tsd-index-panel">
-					<div class="tsd-index-content">
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Functions</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_get_.html#decode" class="tsd-kind-icon">decode</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_get_.html#encode" class="tsd-kind-icon">encode</a></li>
-							</ul>
-						</section>
-					</div>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Functions</h2>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="decode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> decode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">decode<span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/get.ts:4</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>msg: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="encode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> encode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">encode<span class="tsd-signature-symbol">(</span>__namedParameters<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/get.ts:16</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>__namedParameters: <span class="tsd-signature-symbol">{ </span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Body"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>request<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-											<ul class="tsd-parameters">
-												<li class="tsd-parameter">
-													<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Request"</span></h5>
-												</li>
-												<li class="tsd-parameter">
-													<h5>get<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-													<ul class="tsd-parameters">
-														<li class="tsd-parameter">
-															<h5>param<wbr>Paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5>
-														</li>
-													</ul>
-												</li>
-											</ul>
-										</li>
-									</ul>
-								</li>
-								<li class="tsd-parameter">
-									<h5>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Header"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"GET"</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-						</li>
-					</ul>
-				</section>
-			</section>
-		</div>
-		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
-			<nav class="tsd-navigation primary">
-				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
-					</li>
-					<li class="current tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
-					</li>
-				</ul>
-			</nav>
-			<nav class="tsd-navigation secondary menu-sticky">
-				<ul class="before-current">
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_get_.html#decode" class="tsd-kind-icon">decode</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_get_.html#encode" class="tsd-kind-icon">encode</a>
-					</li>
-				</ul>
-			</nav>
-		</div>
-	</div>
-</div>
-<footer class="with-border-bottom">
-	<div class="container">
-		<h2>Legend</h2>
-		<div class="tsd-legend-group">
-			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
-				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
-				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
-				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
-			</ul>
-			<ul class="tsd-legend">
-				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
-			</ul>
-		</div>
-	</div>
-</footer>
-<div class="container tsd-generator">
-	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
-</div>
-<div class="overlay"></div>
-<script src="../assets/js/main.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/public/modules/_commands_index_.html b/public/modules/_commands_index_.html
deleted file mode 100644
index b5530168ba0a0f1ba13670656a55a7804ce12e51..0000000000000000000000000000000000000000
--- a/public/modules/_commands_index_.html
+++ /dev/null
@@ -1,851 +0,0 @@
-<!doctype html>
-<html class="default no-js">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;commands/index&quot; | usp-js</title>
-	<meta name="description" content="Documentation for usp-js">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="../assets/css/main.css">
-</head>
-<body>
-<header>
-	<div class="tsd-page-toolbar">
-		<div class="container">
-			<div class="table-wrap">
-				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
-					<div class="field">
-						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
-						<input id="tsd-search-field" type="text" />
-					</div>
-					<ul class="results">
-						<li class="state loading">Preparing search index...</li>
-						<li class="state failure">The search index is not available</li>
-					</ul>
-					<a href="../index.html" class="title">usp-js</a>
-				</div>
-				<div class="table-cell" id="tsd-widgets">
-					<div id="tsd-filter">
-						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
-						<div class="tsd-filter-group">
-							<div class="tsd-select" id="tsd-filter-visibility">
-								<span class="tsd-select-label">All</span>
-								<ul class="tsd-select-list">
-									<li data-value="public">Public</li>
-									<li data-value="protected">Public/Protected</li>
-									<li data-value="private" class="selected">All</li>
-								</ul>
-							</div>
-							<input type="checkbox" id="tsd-filter-inherited" checked />
-							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
-							<input type="checkbox" id="tsd-filter-externals" checked />
-							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
-						</div>
-					</div>
-					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="tsd-page-title">
-		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="../globals.html">Globals</a>
-				</li>
-				<li>
-					<a href="_commands_index_.html">&quot;commands/index&quot;</a>
-				</li>
-			</ul>
-			<h1>Module &quot;commands/index&quot;</h1>
-		</div>
-	</div>
-</header>
-<div class="container container-main">
-	<div class="row">
-		<div class="col-8 col-content">
-			<section class="tsd-panel-group tsd-index-group">
-				<h2>Index</h2>
-				<section class="tsd-panel tsd-index-panel">
-					<div class="tsd-index-content">
-						<section class="tsd-index-section ">
-							<h3>Variables</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-variable tsd-parent-kind-module"><a href="_commands_index_.html#header" class="tsd-kind-icon">header</a></li>
-								<li class="tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_index_.html#internalkeys" class="tsd-kind-icon">internal<wbr>Keys</a></li>
-								<li class="tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_index_.html#recipes" class="tsd-kind-icon">recipes</a></li>
-								<li class="tsd-kind-variable tsd-parent-kind-module"><a href="_commands_index_.html#rootmsg" class="tsd-kind-icon">root<wbr>Msg</a></li>
-								<li class="tsd-kind-variable tsd-parent-kind-module"><a href="_commands_index_.html#rootrecord" class="tsd-kind-icon">root<wbr>Record</a></li>
-							</ul>
-						</section>
-						<section class="tsd-index-section ">
-							<h3>Functions</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_index_.html#_convert" class="tsd-kind-icon">_convert</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_index_.html#convert" class="tsd-kind-icon">convert</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_commands_index_.html#decode" class="tsd-kind-icon">decode</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_commands_index_.html#decodeid" class="tsd-kind-icon">decode<wbr>Id</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_index_.html#iserror" class="tsd-kind-icon">is<wbr>Error</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_index_.html#isinternal" class="tsd-kind-icon">is<wbr>Internal</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_index_.html#isstringarray" class="tsd-kind-icon">is<wbr>String<wbr>Array</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_commands_index_.html#makeencode" class="tsd-kind-icon">make<wbr>Encode</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_index_.html#makepayload" class="tsd-kind-icon">make<wbr>Payload</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_commands_index_.html#makerecipes" class="tsd-kind-icon">make<wbr>Recipes</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_index_.html#needsconversion" class="tsd-kind-icon">needs<wbr>Conversion</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_commands_index_.html#readmsg" class="tsd-kind-icon">read<wbr>Msg</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_index_.html#unkownerr" class="tsd-kind-icon">unkown<wbr>Err</a></li>
-							</ul>
-						</section>
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Object literals</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-object-literal tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_index_.html#commands" class="tsd-kind-icon">commands</a></li>
-							</ul>
-						</section>
-					</div>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group ">
-				<h2>Variables</h2>
-				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module">
-					<a name="header" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> header</h3>
-					<div class="tsd-signature tsd-kind-icon">header<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> = rootMsg.lookupType(&quot;usp.Header&quot;)</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in commands/index.ts:17</li>
-						</ul>
-					</aside>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-					<a name="internalkeys" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> internal<wbr>Keys</h3>
-					<div class="tsd-signature tsd-kind-icon">internal<wbr>Keys<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = [&quot;lookup&quot;]</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in commands/index.ts:113</li>
-						</ul>
-					</aside>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-					<a name="recipes" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> recipes</h3>
-					<div class="tsd-signature tsd-kind-icon">recipes<span class="tsd-signature-symbol">:</span> <a href="../interfaces/_types_.recipeobject.html" class="tsd-signature-type">RecipeObject</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = [resolve, operateRecipe, subscribe]</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in commands/index.ts:45</li>
-						</ul>
-					</aside>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module">
-					<a name="rootmsg" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> root<wbr>Msg</h3>
-					<div class="tsd-signature tsd-kind-icon">root<wbr>Msg<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Root</span><span class="tsd-signature-symbol"> = protobuf.Root.fromJSON(rootMsgJson)</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in commands/index.ts:16</li>
-						</ul>
-					</aside>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module">
-					<a name="rootrecord" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> root<wbr>Record</h3>
-					<div class="tsd-signature tsd-kind-icon">root<wbr>Record<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Root</span><span class="tsd-signature-symbol"> = protobuf.Root.fromJSON(rootRecordJson)</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in commands/index.ts:15</li>
-						</ul>
-					</aside>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group ">
-				<h2>Functions</h2>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="_convert" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> _convert</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">_convert<span class="tsd-signature-symbol">(</span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">any</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/index.ts:133</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>value: <span class="tsd-signature-type">any</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">any</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="convert" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> convert</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">convert<span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><a href="../interfaces/_types_.pbrequestmessage.html" class="tsd-signature-type">PbRequestMessage</a>, bufferOptions<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">]</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/index.ts:96</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>msg: <a href="../interfaces/_types_.pbrequestmessage.html" class="tsd-signature-type">PbRequestMessage</a></h5>
-								</li>
-								<li>
-									<h5><span class="tsd-flag ts-flagOptional">Optional</span> bufferOptions: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">]</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
-					<a name="decode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> decode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
-						<li class="tsd-signature tsd-kind-icon">decode<span class="tsd-signature-symbol">(</span>parsedMsg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="_types_.html#decoderesponse" class="tsd-signature-type">DecodeResponse</a></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/index.ts:69</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>parsedMsg: <span class="tsd-signature-type">any</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <a href="_types_.html#decoderesponse" class="tsd-signature-type">DecodeResponse</a></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
-					<a name="decodeid" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> decode<wbr>Id</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
-						<li class="tsd-signature tsd-kind-icon">decode<wbr>Id<span class="tsd-signature-symbol">(</span>data<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/index.ts:53</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>data: <span class="tsd-signature-type">any</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="iserror" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> is<wbr>Error</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">is<wbr>Error<span class="tsd-signature-symbol">(</span>o<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">o</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">string</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/index.ts:111</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>o: <span class="tsd-signature-type">any</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">o</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">string</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="isinternal" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> is<wbr>Internal</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">is<wbr>Internal<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/index.ts:114</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>key: <span class="tsd-signature-type">string</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="isstringarray" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> is<wbr>String<wbr>Array</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">is<wbr>String<wbr>Array<span class="tsd-signature-symbol">(</span>obj<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/index.ts:129</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>obj: <span class="tsd-signature-type">any</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
-					<a name="makeencode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> make<wbr>Encode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
-						<li class="tsd-signature tsd-kind-icon">make<wbr>Encode<span class="tsd-signature-symbol">(</span>options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">(Anonymous function)</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/index.ts:87</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5><span class="tsd-flag ts-flagOptional">Optional</span> options: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">(Anonymous function)</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="makepayload" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> make<wbr>Payload</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">make<wbr>Payload<span class="tsd-signature-symbol">(</span>items<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span>, isArr<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/index.ts:115</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>items: <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">[]</span></h5>
-								</li>
-								<li>
-									<h5>isArr: <span class="tsd-signature-type">boolean</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
-					<a name="makerecipes" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> make<wbr>Recipes</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
-						<li class="tsd-signature tsd-kind-icon">make<wbr>Recipes<span class="tsd-signature-symbol">(</span>call<span class="tsd-signature-symbol">: </span><a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a>, on<span class="tsd-signature-symbol">: </span><a href="_types_.html#onfn" class="tsd-signature-type">OnFn</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/index.ts:47</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>call: <a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a></h5>
-								</li>
-								<li>
-									<h5>on: <a href="_types_.html#onfn" class="tsd-signature-type">OnFn</a></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="needsconversion" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> needs<wbr>Conversion</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">needs<wbr>Conversion<span class="tsd-signature-symbol">(</span>v<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/index.ts:131</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>v: <span class="tsd-signature-type">any</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
-					<a name="readmsg" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> read<wbr>Msg</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
-						<li class="tsd-signature tsd-kind-icon">read<wbr>Msg<span class="tsd-signature-symbol">(</span>data<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/index.ts:59</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>data: <span class="tsd-signature-type">any</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="unkownerr" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> unkown<wbr>Err</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">unkown<wbr>Err<span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">]</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/index.ts:55</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>msg: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">]</span></h4>
-						</li>
-					</ul>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Object literals</h2>
-				<section class="tsd-panel tsd-member tsd-kind-object-literal tsd-parent-kind-module tsd-is-not-exported">
-					<a name="commands" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> commands</h3>
-					<div class="tsd-signature tsd-kind-icon">commands<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in commands/index.ts:33</li>
-						</ul>
-					</aside>
-					<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
-						<a name="commands.add" class="tsd-anchor"></a>
-						<h3>ADD</h3>
-						<div class="tsd-signature tsd-kind-icon">ADD<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> = add</span></div>
-						<aside class="tsd-sources">
-							<ul>
-								<li>Defined in commands/index.ts:35</li>
-							</ul>
-						</aside>
-						<div class="tsd-type-declaration">
-							<h4>Type declaration</h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a></h5>
-								</li>
-							</ul>
-						</div>
-					</section>
-					<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
-						<a name="commands.delete" class="tsd-anchor"></a>
-						<h3>DELETE</h3>
-						<div class="tsd-signature tsd-kind-icon">DELETE<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> = del</span></div>
-						<aside class="tsd-sources">
-							<ul>
-								<li>Defined in commands/index.ts:36</li>
-							</ul>
-						</aside>
-						<div class="tsd-type-declaration">
-							<h4>Type declaration</h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a></h5>
-								</li>
-							</ul>
-						</div>
-					</section>
-					<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
-						<a name="commands.get" class="tsd-anchor"></a>
-						<h3>GET</h3>
-						<div class="tsd-signature tsd-kind-icon">GET<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> = get</span></div>
-						<aside class="tsd-sources">
-							<ul>
-								<li>Defined in commands/index.ts:34</li>
-							</ul>
-						</aside>
-						<div class="tsd-type-declaration">
-							<h4>Type declaration</h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a></h5>
-								</li>
-							</ul>
-						</div>
-					</section>
-					<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
-						<a name="commands.get_instances" class="tsd-anchor"></a>
-						<h3>GET_<wbr>INSTANCES</h3>
-						<div class="tsd-signature tsd-kind-icon">GET_<wbr>INSTANCES<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> = instances</span></div>
-						<aside class="tsd-sources">
-							<ul>
-								<li>Defined in commands/index.ts:37</li>
-							</ul>
-						</aside>
-						<div class="tsd-type-declaration">
-							<h4>Type declaration</h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a></h5>
-								</li>
-							</ul>
-						</div>
-					</section>
-					<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
-						<a name="commands.get_supported_dm" class="tsd-anchor"></a>
-						<h3>GET_<wbr>SUPPORTED_<wbr>DM</h3>
-						<div class="tsd-signature tsd-kind-icon">GET_<wbr>SUPPORTED_<wbr>DM<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> = supported</span></div>
-						<aside class="tsd-sources">
-							<ul>
-								<li>Defined in commands/index.ts:38</li>
-							</ul>
-						</aside>
-						<div class="tsd-type-declaration">
-							<h4>Type declaration</h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a></h5>
-								</li>
-							</ul>
-						</div>
-					</section>
-					<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
-						<a name="commands.get_supported_proto" class="tsd-anchor"></a>
-						<h3>GET_<wbr>SUPPORTED_<wbr>PROTO</h3>
-						<div class="tsd-signature tsd-kind-icon">GET_<wbr>SUPPORTED_<wbr>PROTO<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> = proto</span></div>
-						<aside class="tsd-sources">
-							<ul>
-								<li>Defined in commands/index.ts:39</li>
-							</ul>
-						</aside>
-						<div class="tsd-type-declaration">
-							<h4>Type declaration</h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a></h5>
-								</li>
-							</ul>
-						</div>
-					</section>
-					<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
-						<a name="commands.notify" class="tsd-anchor"></a>
-						<h3>NOTIFY</h3>
-						<div class="tsd-signature tsd-kind-icon">NOTIFY<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a><span class="tsd-signature-symbol">; </span>make<span class="tsd-signature-symbol">: </span><a href="_types_.html#makefn" class="tsd-signature-type">MakeFn</a><span class="tsd-signature-symbol">; </span>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>trigger<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> = notify</span></div>
-						<aside class="tsd-sources">
-							<ul>
-								<li>Defined in commands/index.ts:40</li>
-							</ul>
-						</aside>
-						<div class="tsd-type-declaration">
-							<h4>Type declaration</h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>make<span class="tsd-signature-symbol">: </span><a href="_types_.html#makefn" class="tsd-signature-type">MakeFn</a></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>trigger<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>decode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>encode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-						</div>
-					</section>
-					<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
-						<a name="commands.operate" class="tsd-anchor"></a>
-						<h3>OPERATE</h3>
-						<div class="tsd-signature tsd-kind-icon">OPERATE<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> = operate</span></div>
-						<aside class="tsd-sources">
-							<ul>
-								<li>Defined in commands/index.ts:41</li>
-							</ul>
-						</aside>
-						<div class="tsd-type-declaration">
-							<h4>Type declaration</h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a></h5>
-								</li>
-							</ul>
-						</div>
-					</section>
-					<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported">
-						<a name="commands.set" class="tsd-anchor"></a>
-						<h3>SET</h3>
-						<div class="tsd-signature tsd-kind-icon">SET<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> = set</span></div>
-						<aside class="tsd-sources">
-							<ul>
-								<li>Defined in commands/index.ts:42</li>
-							</ul>
-						</aside>
-						<div class="tsd-type-declaration">
-							<h4>Type declaration</h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a></h5>
-								</li>
-							</ul>
-						</div>
-					</section>
-				</section>
-			</section>
-		</div>
-		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
-			<nav class="tsd-navigation primary">
-				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
-					</li>
-					<li class="current tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
-					</li>
-				</ul>
-			</nav>
-			<nav class="tsd-navigation secondary menu-sticky">
-				<ul class="before-current">
-					<li class=" tsd-kind-variable tsd-parent-kind-module">
-						<a href="_commands_index_.html#header" class="tsd-kind-icon">header</a>
-					</li>
-					<li class=" tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_index_.html#internalkeys" class="tsd-kind-icon">internal<wbr>Keys</a>
-					</li>
-					<li class=" tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_index_.html#recipes" class="tsd-kind-icon">recipes</a>
-					</li>
-					<li class=" tsd-kind-variable tsd-parent-kind-module">
-						<a href="_commands_index_.html#rootmsg" class="tsd-kind-icon">root<wbr>Msg</a>
-					</li>
-					<li class=" tsd-kind-variable tsd-parent-kind-module">
-						<a href="_commands_index_.html#rootrecord" class="tsd-kind-icon">root<wbr>Record</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_index_.html#_convert" class="tsd-kind-icon">_convert</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_index_.html#convert" class="tsd-kind-icon">convert</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_commands_index_.html#decode" class="tsd-kind-icon">decode</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_commands_index_.html#decodeid" class="tsd-kind-icon">decode<wbr>Id</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_index_.html#iserror" class="tsd-kind-icon">is<wbr>Error</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_index_.html#isinternal" class="tsd-kind-icon">is<wbr>Internal</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_index_.html#isstringarray" class="tsd-kind-icon">is<wbr>String<wbr>Array</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_commands_index_.html#makeencode" class="tsd-kind-icon">make<wbr>Encode</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_index_.html#makepayload" class="tsd-kind-icon">make<wbr>Payload</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_commands_index_.html#makerecipes" class="tsd-kind-icon">make<wbr>Recipes</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_index_.html#needsconversion" class="tsd-kind-icon">needs<wbr>Conversion</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_commands_index_.html#readmsg" class="tsd-kind-icon">read<wbr>Msg</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_index_.html#unkownerr" class="tsd-kind-icon">unkown<wbr>Err</a>
-					</li>
-					<li class=" tsd-kind-object-literal tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_index_.html#commands" class="tsd-kind-icon">commands</a>
-					</li>
-				</ul>
-			</nav>
-		</div>
-	</div>
-</div>
-<footer class="with-border-bottom">
-	<div class="container">
-		<h2>Legend</h2>
-		<div class="tsd-legend-group">
-			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
-				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
-				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
-				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
-			</ul>
-			<ul class="tsd-legend">
-				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
-			</ul>
-		</div>
-	</div>
-</footer>
-<div class="container tsd-generator">
-	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
-</div>
-<div class="overlay"></div>
-<script src="../assets/js/main.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/public/modules/_commands_instances_.html b/public/modules/_commands_instances_.html
deleted file mode 100644
index 07e71a1b09b30a69ff8a5e0aa1a2c3256dce45d9..0000000000000000000000000000000000000000
--- a/public/modules/_commands_instances_.html
+++ /dev/null
@@ -1,293 +0,0 @@
-<!doctype html>
-<html class="default no-js">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;commands/instances&quot; | usp-js</title>
-	<meta name="description" content="Documentation for usp-js">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="../assets/css/main.css">
-</head>
-<body>
-<header>
-	<div class="tsd-page-toolbar">
-		<div class="container">
-			<div class="table-wrap">
-				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
-					<div class="field">
-						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
-						<input id="tsd-search-field" type="text" />
-					</div>
-					<ul class="results">
-						<li class="state loading">Preparing search index...</li>
-						<li class="state failure">The search index is not available</li>
-					</ul>
-					<a href="../index.html" class="title">usp-js</a>
-				</div>
-				<div class="table-cell" id="tsd-widgets">
-					<div id="tsd-filter">
-						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
-						<div class="tsd-filter-group">
-							<div class="tsd-select" id="tsd-filter-visibility">
-								<span class="tsd-select-label">All</span>
-								<ul class="tsd-select-list">
-									<li data-value="public">Public</li>
-									<li data-value="protected">Public/Protected</li>
-									<li data-value="private" class="selected">All</li>
-								</ul>
-							</div>
-							<input type="checkbox" id="tsd-filter-inherited" checked />
-							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
-							<input type="checkbox" id="tsd-filter-externals" checked />
-							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
-						</div>
-					</div>
-					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="tsd-page-title">
-		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="../globals.html">Globals</a>
-				</li>
-				<li>
-					<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
-				</li>
-			</ul>
-			<h1>Module &quot;commands/instances&quot;</h1>
-		</div>
-	</div>
-</header>
-<div class="container container-main">
-	<div class="row">
-		<div class="col-8 col-content">
-			<section class="tsd-panel-group tsd-index-group">
-				<h2>Index</h2>
-				<section class="tsd-panel tsd-index-panel">
-					<div class="tsd-index-content">
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Functions</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_instances_.html#decode" class="tsd-kind-icon">decode</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_instances_.html#encode" class="tsd-kind-icon">encode</a></li>
-							</ul>
-						</section>
-					</div>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Functions</h2>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="decode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> decode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">decode<span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/instances.ts:4</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>msg: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="encode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> encode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">encode<span class="tsd-signature-symbol">(</span>__namedParameters<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>opts<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/instances.ts:9</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>__namedParameters: <span class="tsd-signature-symbol">{ </span>opts<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>opts<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Body"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>request<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-											<ul class="tsd-parameters">
-												<li class="tsd-parameter">
-													<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Request"</span></h5>
-												</li>
-												<li class="tsd-parameter">
-													<h5>get<wbr>Instances<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-													<ul class="tsd-parameters">
-														<li class="tsd-parameter">
-															<h5>first<wbr>Level<wbr>Only<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-														</li>
-														<li class="tsd-parameter">
-															<h5>obj<wbr>Paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5>
-														</li>
-													</ul>
-												</li>
-											</ul>
-										</li>
-									</ul>
-								</li>
-								<li class="tsd-parameter">
-									<h5>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Header"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"GET_INSTANCES"</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-						</li>
-					</ul>
-				</section>
-			</section>
-		</div>
-		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
-			<nav class="tsd-navigation primary">
-				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
-					</li>
-					<li class="current tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
-					</li>
-				</ul>
-			</nav>
-			<nav class="tsd-navigation secondary menu-sticky">
-				<ul class="before-current">
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_instances_.html#decode" class="tsd-kind-icon">decode</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_instances_.html#encode" class="tsd-kind-icon">encode</a>
-					</li>
-				</ul>
-			</nav>
-		</div>
-	</div>
-</div>
-<footer class="with-border-bottom">
-	<div class="container">
-		<h2>Legend</h2>
-		<div class="tsd-legend-group">
-			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
-				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
-				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
-				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
-			</ul>
-			<ul class="tsd-legend">
-				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
-			</ul>
-		</div>
-	</div>
-</footer>
-<div class="container tsd-generator">
-	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
-</div>
-<div class="overlay"></div>
-<script src="../assets/js/main.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/public/modules/_commands_notify_.html b/public/modules/_commands_notify_.html
deleted file mode 100644
index 3c65ded27ff7f47bbf5127574e77079582b88af2..0000000000000000000000000000000000000000
--- a/public/modules/_commands_notify_.html
+++ /dev/null
@@ -1,346 +0,0 @@
-<!doctype html>
-<html class="default no-js">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;commands/notify&quot; | usp-js</title>
-	<meta name="description" content="Documentation for usp-js">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="../assets/css/main.css">
-</head>
-<body>
-<header>
-	<div class="tsd-page-toolbar">
-		<div class="container">
-			<div class="table-wrap">
-				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
-					<div class="field">
-						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
-						<input id="tsd-search-field" type="text" />
-					</div>
-					<ul class="results">
-						<li class="state loading">Preparing search index...</li>
-						<li class="state failure">The search index is not available</li>
-					</ul>
-					<a href="../index.html" class="title">usp-js</a>
-				</div>
-				<div class="table-cell" id="tsd-widgets">
-					<div id="tsd-filter">
-						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
-						<div class="tsd-filter-group">
-							<div class="tsd-select" id="tsd-filter-visibility">
-								<span class="tsd-select-label">All</span>
-								<ul class="tsd-select-list">
-									<li data-value="public">Public</li>
-									<li data-value="protected">Public/Protected</li>
-									<li data-value="private" class="selected">All</li>
-								</ul>
-							</div>
-							<input type="checkbox" id="tsd-filter-inherited" checked />
-							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
-							<input type="checkbox" id="tsd-filter-externals" checked />
-							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
-						</div>
-					</div>
-					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="tsd-page-title">
-		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="../globals.html">Globals</a>
-				</li>
-				<li>
-					<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
-				</li>
-			</ul>
-			<h1>Module &quot;commands/notify&quot;</h1>
-		</div>
-	</div>
-</header>
-<div class="container container-main">
-	<div class="row">
-		<div class="col-8 col-content">
-			<section class="tsd-panel-group tsd-index-group">
-				<h2>Index</h2>
-				<section class="tsd-panel tsd-index-panel">
-					<div class="tsd-index-content">
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Functions</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_notify_.html#decode" class="tsd-kind-icon">decode</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_notify_.html#encode" class="tsd-kind-icon">encode</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_notify_.html#make" class="tsd-kind-icon">make</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_notify_.html#parseinfo" class="tsd-kind-icon">parse<wbr>Info</a></li>
-							</ul>
-						</section>
-					</div>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Functions</h2>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="decode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> decode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">decode<span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">]</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/notify.ts:6</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>msg: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">]</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="encode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> encode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">encode<span class="tsd-signature-symbol">(</span>__namedParameters<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/notify.ts:16</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>__namedParameters: <span class="tsd-signature-symbol">{ </span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Body"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>request<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-											<ul class="tsd-parameters">
-												<li class="tsd-parameter">
-													<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Request"</span></h5>
-												</li>
-												<li class="tsd-parameter">
-													<h5>get<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-													<ul class="tsd-parameters">
-														<li class="tsd-parameter">
-															<h5>param<wbr>Paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5>
-														</li>
-													</ul>
-												</li>
-											</ul>
-										</li>
-									</ul>
-								</li>
-								<li class="tsd-parameter">
-									<h5>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Header"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"GET"</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="make" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> make</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">make<span class="tsd-signature-symbol">(</span>call<span class="tsd-signature-symbol">: </span><a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="_types_.html#getcommand" class="tsd-signature-type">GetCommand</a></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/notify.ts:34</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>call: <a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <a href="_types_.html#getcommand" class="tsd-signature-type">GetCommand</a></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="parseinfo" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> parse<wbr>Info</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">parse<wbr>Info<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, data<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{}</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/notify.ts:4</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>key: <span class="tsd-signature-type">string</span></h5>
-								</li>
-								<li>
-									<h5>data: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{}</span></h4>
-							<ul class="tsd-parameters">
-							</ul>
-						</li>
-					</ul>
-				</section>
-			</section>
-		</div>
-		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
-			<nav class="tsd-navigation primary">
-				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
-					</li>
-					<li class="current tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
-					</li>
-				</ul>
-			</nav>
-			<nav class="tsd-navigation secondary menu-sticky">
-				<ul class="before-current">
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_notify_.html#decode" class="tsd-kind-icon">decode</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_notify_.html#encode" class="tsd-kind-icon">encode</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_notify_.html#make" class="tsd-kind-icon">make</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_notify_.html#parseinfo" class="tsd-kind-icon">parse<wbr>Info</a>
-					</li>
-				</ul>
-			</nav>
-		</div>
-	</div>
-</div>
-<footer class="with-border-bottom">
-	<div class="container">
-		<h2>Legend</h2>
-		<div class="tsd-legend-group">
-			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
-				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
-				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
-				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
-			</ul>
-			<ul class="tsd-legend">
-				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
-			</ul>
-		</div>
-	</div>
-</footer>
-<div class="container tsd-generator">
-	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
-</div>
-<div class="overlay"></div>
-<script src="../assets/js/main.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/public/modules/_commands_operate_.html b/public/modules/_commands_operate_.html
deleted file mode 100644
index 3213ff31ebba2cf85b7d3086ebe5c03bff0d2274..0000000000000000000000000000000000000000
--- a/public/modules/_commands_operate_.html
+++ /dev/null
@@ -1,302 +0,0 @@
-<!doctype html>
-<html class="default no-js">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;commands/operate&quot; | usp-js</title>
-	<meta name="description" content="Documentation for usp-js">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="../assets/css/main.css">
-</head>
-<body>
-<header>
-	<div class="tsd-page-toolbar">
-		<div class="container">
-			<div class="table-wrap">
-				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
-					<div class="field">
-						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
-						<input id="tsd-search-field" type="text" />
-					</div>
-					<ul class="results">
-						<li class="state loading">Preparing search index...</li>
-						<li class="state failure">The search index is not available</li>
-					</ul>
-					<a href="../index.html" class="title">usp-js</a>
-				</div>
-				<div class="table-cell" id="tsd-widgets">
-					<div id="tsd-filter">
-						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
-						<div class="tsd-filter-group">
-							<div class="tsd-select" id="tsd-filter-visibility">
-								<span class="tsd-select-label">All</span>
-								<ul class="tsd-select-list">
-									<li data-value="public">Public</li>
-									<li data-value="protected">Public/Protected</li>
-									<li data-value="private" class="selected">All</li>
-								</ul>
-							</div>
-							<input type="checkbox" id="tsd-filter-inherited" checked />
-							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
-							<input type="checkbox" id="tsd-filter-externals" checked />
-							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
-						</div>
-					</div>
-					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="tsd-page-title">
-		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="../globals.html">Globals</a>
-				</li>
-				<li>
-					<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
-				</li>
-			</ul>
-			<h1>Module &quot;commands/operate&quot;</h1>
-		</div>
-	</div>
-</header>
-<div class="container container-main">
-	<div class="row">
-		<div class="col-8 col-content">
-			<section class="tsd-panel-group tsd-index-group">
-				<h2>Index</h2>
-				<section class="tsd-panel tsd-index-panel">
-					<div class="tsd-index-content">
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Functions</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_operate_.html#decode" class="tsd-kind-icon">decode</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_operate_.html#encode" class="tsd-kind-icon">encode</a></li>
-							</ul>
-						</section>
-					</div>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Functions</h2>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="decode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> decode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">decode<span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol">]</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/operate.ts:7</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>msg: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol">]</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="encode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> encode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">encode<span class="tsd-signature-symbol">(</span>__namedParameters<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>input<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/operate.ts:14</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>__namedParameters: <span class="tsd-signature-symbol">{ </span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>input<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>input<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Body"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>request<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-											<ul class="tsd-parameters">
-												<li class="tsd-parameter">
-													<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Request"</span></h5>
-												</li>
-												<li class="tsd-parameter">
-													<h5>operate<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-													<ul class="tsd-parameters">
-														<li class="tsd-parameter">
-															<h5>command<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-														</li>
-														<li class="tsd-parameter">
-															<h5>command<wbr>Key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
-														</li>
-														<li class="tsd-parameter">
-															<h5>input<wbr>Args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-														</li>
-														<li class="tsd-parameter">
-															<h5>send<wbr>Resp<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">false</span></h5>
-														</li>
-													</ul>
-												</li>
-											</ul>
-										</li>
-									</ul>
-								</li>
-								<li class="tsd-parameter">
-									<h5>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Header"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"OPERATE"</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-						</li>
-					</ul>
-				</section>
-			</section>
-		</div>
-		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
-			<nav class="tsd-navigation primary">
-				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
-					</li>
-					<li class="current tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
-					</li>
-				</ul>
-			</nav>
-			<nav class="tsd-navigation secondary menu-sticky">
-				<ul class="before-current">
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_operate_.html#decode" class="tsd-kind-icon">decode</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_operate_.html#encode" class="tsd-kind-icon">encode</a>
-					</li>
-				</ul>
-			</nav>
-		</div>
-	</div>
-</div>
-<footer class="with-border-bottom">
-	<div class="container">
-		<h2>Legend</h2>
-		<div class="tsd-legend-group">
-			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
-				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
-				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
-				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
-			</ul>
-			<ul class="tsd-legend">
-				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
-			</ul>
-		</div>
-	</div>
-</footer>
-<div class="container tsd-generator">
-	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
-</div>
-<div class="overlay"></div>
-<script src="../assets/js/main.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/public/modules/_commands_proto_.html b/public/modules/_commands_proto_.html
deleted file mode 100644
index 72807e29350924740762993e9c553ded44180fb9..0000000000000000000000000000000000000000
--- a/public/modules/_commands_proto_.html
+++ /dev/null
@@ -1,287 +0,0 @@
-<!doctype html>
-<html class="default no-js">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;commands/proto&quot; | usp-js</title>
-	<meta name="description" content="Documentation for usp-js">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="../assets/css/main.css">
-</head>
-<body>
-<header>
-	<div class="tsd-page-toolbar">
-		<div class="container">
-			<div class="table-wrap">
-				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
-					<div class="field">
-						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
-						<input id="tsd-search-field" type="text" />
-					</div>
-					<ul class="results">
-						<li class="state loading">Preparing search index...</li>
-						<li class="state failure">The search index is not available</li>
-					</ul>
-					<a href="../index.html" class="title">usp-js</a>
-				</div>
-				<div class="table-cell" id="tsd-widgets">
-					<div id="tsd-filter">
-						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
-						<div class="tsd-filter-group">
-							<div class="tsd-select" id="tsd-filter-visibility">
-								<span class="tsd-select-label">All</span>
-								<ul class="tsd-select-list">
-									<li data-value="public">Public</li>
-									<li data-value="protected">Public/Protected</li>
-									<li data-value="private" class="selected">All</li>
-								</ul>
-							</div>
-							<input type="checkbox" id="tsd-filter-inherited" checked />
-							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
-							<input type="checkbox" id="tsd-filter-externals" checked />
-							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
-						</div>
-					</div>
-					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="tsd-page-title">
-		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="../globals.html">Globals</a>
-				</li>
-				<li>
-					<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
-				</li>
-			</ul>
-			<h1>Module &quot;commands/proto&quot;</h1>
-		</div>
-	</div>
-</header>
-<div class="container container-main">
-	<div class="row">
-		<div class="col-8 col-content">
-			<section class="tsd-panel-group tsd-index-group">
-				<h2>Index</h2>
-				<section class="tsd-panel tsd-index-panel">
-					<div class="tsd-index-content">
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Functions</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_proto_.html#decode" class="tsd-kind-icon">decode</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_proto_.html#encode" class="tsd-kind-icon">encode</a></li>
-							</ul>
-						</section>
-					</div>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Functions</h2>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="decode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> decode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">decode<span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/proto.ts:4</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>msg: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="encode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> encode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">encode<span class="tsd-signature-symbol">(</span>__namedParameters<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>versions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/proto.ts:9</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>__namedParameters: <span class="tsd-signature-symbol">{ </span>versions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>versions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Body"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>request<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-											<ul class="tsd-parameters">
-												<li class="tsd-parameter">
-													<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Request"</span></h5>
-												</li>
-												<li class="tsd-parameter">
-													<h5>get<wbr>Supported<wbr>Protocol<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-													<ul class="tsd-parameters">
-														<li class="tsd-parameter">
-															<h5>controller<wbr>Supported<wbr>Protocol<wbr>Versions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-														</li>
-													</ul>
-												</li>
-											</ul>
-										</li>
-									</ul>
-								</li>
-								<li class="tsd-parameter">
-									<h5>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Header"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"GET_SUPPORTED_PROTO"</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-						</li>
-					</ul>
-				</section>
-			</section>
-		</div>
-		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
-			<nav class="tsd-navigation primary">
-				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
-					</li>
-					<li class="current tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
-					</li>
-				</ul>
-			</nav>
-			<nav class="tsd-navigation secondary menu-sticky">
-				<ul class="before-current">
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_proto_.html#decode" class="tsd-kind-icon">decode</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_proto_.html#encode" class="tsd-kind-icon">encode</a>
-					</li>
-				</ul>
-			</nav>
-		</div>
-	</div>
-</div>
-<footer class="with-border-bottom">
-	<div class="container">
-		<h2>Legend</h2>
-		<div class="tsd-legend-group">
-			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
-				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
-				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
-				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
-			</ul>
-			<ul class="tsd-legend">
-				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
-			</ul>
-		</div>
-	</div>
-</footer>
-<div class="container tsd-generator">
-	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
-</div>
-<div class="overlay"></div>
-<script src="../assets/js/main.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/public/modules/_commands_recipes_operate_.html b/public/modules/_commands_recipes_operate_.html
deleted file mode 100644
index 75d348941bed6944a8511a1ee861a85bb1adc99e..0000000000000000000000000000000000000000
--- a/public/modules/_commands_recipes_operate_.html
+++ /dev/null
@@ -1,234 +0,0 @@
-<!doctype html>
-<html class="default no-js">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;commands/recipes/operate&quot; | usp-js</title>
-	<meta name="description" content="Documentation for usp-js">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="../assets/css/main.css">
-</head>
-<body>
-<header>
-	<div class="tsd-page-toolbar">
-		<div class="container">
-			<div class="table-wrap">
-				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
-					<div class="field">
-						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
-						<input id="tsd-search-field" type="text" />
-					</div>
-					<ul class="results">
-						<li class="state loading">Preparing search index...</li>
-						<li class="state failure">The search index is not available</li>
-					</ul>
-					<a href="../index.html" class="title">usp-js</a>
-				</div>
-				<div class="table-cell" id="tsd-widgets">
-					<div id="tsd-filter">
-						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
-						<div class="tsd-filter-group">
-							<div class="tsd-select" id="tsd-filter-visibility">
-								<span class="tsd-select-label">All</span>
-								<ul class="tsd-select-list">
-									<li data-value="public">Public</li>
-									<li data-value="protected">Public/Protected</li>
-									<li data-value="private" class="selected">All</li>
-								</ul>
-							</div>
-							<input type="checkbox" id="tsd-filter-inherited" checked />
-							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
-							<input type="checkbox" id="tsd-filter-externals" checked />
-							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
-						</div>
-					</div>
-					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="tsd-page-title">
-		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="../globals.html">Globals</a>
-				</li>
-				<li>
-					<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-				</li>
-			</ul>
-			<h1>Module &quot;commands/recipes/operate&quot;</h1>
-		</div>
-	</div>
-</header>
-<div class="container container-main">
-	<div class="row">
-		<div class="col-8 col-content">
-			<section class="tsd-panel-group tsd-index-group">
-				<h2>Index</h2>
-				<section class="tsd-panel tsd-index-panel">
-					<div class="tsd-index-content">
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Variables</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_recipes_operate_.html#operatesubscriptionpath" class="tsd-kind-icon">operate<wbr>Subscription<wbr>Path</a></li>
-							</ul>
-						</section>
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Functions</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_recipes_operate_.html#make" class="tsd-kind-icon">make</a></li>
-							</ul>
-						</section>
-					</div>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Variables</h2>
-				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-					<a name="operatesubscriptionpath" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> operate<wbr>Subscription<wbr>Path</h3>
-					<div class="tsd-signature tsd-kind-icon">operate<wbr>Subscription<wbr>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"Device.LocalAgent.Subscription."</span><span class="tsd-signature-symbol"> = &quot;Device.LocalAgent.Subscription.&quot;</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in commands/recipes/operate.ts:4</li>
-						</ul>
-					</aside>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Functions</h2>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="make" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> make</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">make<span class="tsd-signature-symbol">(</span>call<span class="tsd-signature-symbol">: </span><a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="_types_.html#operaterecipe" class="tsd-signature-type">OperateRecipe</a></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/recipes/operate.ts:6</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>call: <a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <a href="_types_.html#operaterecipe" class="tsd-signature-type">OperateRecipe</a></h4>
-						</li>
-					</ul>
-				</section>
-			</section>
-		</div>
-		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
-			<nav class="tsd-navigation primary">
-				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
-					</li>
-					<li class="current tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
-					</li>
-				</ul>
-			</nav>
-			<nav class="tsd-navigation secondary menu-sticky">
-				<ul class="before-current">
-					<li class=" tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_recipes_operate_.html#operatesubscriptionpath" class="tsd-kind-icon">operate<wbr>Subscription<wbr>Path</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_recipes_operate_.html#make" class="tsd-kind-icon">make</a>
-					</li>
-				</ul>
-			</nav>
-		</div>
-	</div>
-</div>
-<footer class="with-border-bottom">
-	<div class="container">
-		<h2>Legend</h2>
-		<div class="tsd-legend-group">
-			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
-				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
-				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
-				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
-			</ul>
-			<ul class="tsd-legend">
-				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
-			</ul>
-		</div>
-	</div>
-</footer>
-<div class="container tsd-generator">
-	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
-</div>
-<div class="overlay"></div>
-<script src="../assets/js/main.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/public/modules/_commands_recipes_resolve_.html b/public/modules/_commands_recipes_resolve_.html
deleted file mode 100644
index efd6d55e06b602ca01cc8313556be84a4ba8337a..0000000000000000000000000000000000000000
--- a/public/modules/_commands_recipes_resolve_.html
+++ /dev/null
@@ -1,326 +0,0 @@
-<!doctype html>
-<html class="default no-js">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;commands/recipes/resolve&quot; | usp-js</title>
-	<meta name="description" content="Documentation for usp-js">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="../assets/css/main.css">
-</head>
-<body>
-<header>
-	<div class="tsd-page-toolbar">
-		<div class="container">
-			<div class="table-wrap">
-				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
-					<div class="field">
-						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
-						<input id="tsd-search-field" type="text" />
-					</div>
-					<ul class="results">
-						<li class="state loading">Preparing search index...</li>
-						<li class="state failure">The search index is not available</li>
-					</ul>
-					<a href="../index.html" class="title">usp-js</a>
-				</div>
-				<div class="table-cell" id="tsd-widgets">
-					<div id="tsd-filter">
-						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
-						<div class="tsd-filter-group">
-							<div class="tsd-select" id="tsd-filter-visibility">
-								<span class="tsd-select-label">All</span>
-								<ul class="tsd-select-list">
-									<li data-value="public">Public</li>
-									<li data-value="protected">Public/Protected</li>
-									<li data-value="private" class="selected">All</li>
-								</ul>
-							</div>
-							<input type="checkbox" id="tsd-filter-inherited" checked />
-							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
-							<input type="checkbox" id="tsd-filter-externals" checked />
-							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
-						</div>
-					</div>
-					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="tsd-page-title">
-		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="../globals.html">Globals</a>
-				</li>
-				<li>
-					<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-				</li>
-			</ul>
-			<h1>Module &quot;commands/recipes/resolve&quot;</h1>
-		</div>
-	</div>
-</header>
-<div class="container container-main">
-	<div class="row">
-		<div class="col-8 col-content">
-			<section class="tsd-panel-group tsd-index-group">
-				<h2>Index</h2>
-				<section class="tsd-panel tsd-index-panel">
-					<div class="tsd-index-content">
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Functions</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_recipes_resolve_.html#adddot" class="tsd-kind-icon">add<wbr>Dot</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_recipes_resolve_.html#isreference" class="tsd-kind-icon">is<wbr>Reference</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_recipes_resolve_.html#make" class="tsd-kind-icon">make</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_recipes_resolve_.html#resolvereferences" class="tsd-kind-icon">resolve<wbr>References</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_recipes_resolve_.html#splitreference" class="tsd-kind-icon">split<wbr>Reference</a></li>
-							</ul>
-						</section>
-					</div>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Functions</h2>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="adddot" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> add<wbr>Dot</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">add<wbr>Dot<span class="tsd-signature-symbol">(</span>s<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/recipes/resolve.ts:5</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>s: <span class="tsd-signature-type">string</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="isreference" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> is<wbr>Reference</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">is<wbr>Reference<span class="tsd-signature-symbol">(</span>s<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/recipes/resolve.ts:4</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>s: <span class="tsd-signature-type">string</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="make" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> make</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">make<span class="tsd-signature-symbol">(</span>call<span class="tsd-signature-symbol">: </span><a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="_types_.html#resolverecipe" class="tsd-signature-type">ResolveRecipe</a></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/recipes/resolve.ts:30</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>call: <a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <a href="_types_.html#resolverecipe" class="tsd-signature-type">ResolveRecipe</a></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="resolvereferences" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> resolve<wbr>References</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">resolve<wbr>References<span class="tsd-signature-symbol">(</span>message<span class="tsd-signature-symbol">: </span><a href="_types_.html#getreturn" class="tsd-signature-type">GetReturn</a>, call<span class="tsd-signature-symbol">: </span><a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a>, level<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="_types_.html#getreturn" class="tsd-signature-type">GetReturn</a><span class="tsd-signature-symbol">&gt;</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/recipes/resolve.ts:7</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>message: <a href="_types_.html#getreturn" class="tsd-signature-type">GetReturn</a></h5>
-								</li>
-								<li>
-									<h5>call: <a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a></h5>
-								</li>
-								<li>
-									<h5>level: <span class="tsd-signature-type">number</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="_types_.html#getreturn" class="tsd-signature-type">GetReturn</a><span class="tsd-signature-symbol">&gt;</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="splitreference" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> split<wbr>Reference</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">split<wbr>Reference<span class="tsd-signature-symbol">(</span>s<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/recipes/resolve.ts:3</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>s: <span class="tsd-signature-type">string</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4>
-						</li>
-					</ul>
-				</section>
-			</section>
-		</div>
-		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
-			<nav class="tsd-navigation primary">
-				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-					</li>
-					<li class="current tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
-					</li>
-				</ul>
-			</nav>
-			<nav class="tsd-navigation secondary menu-sticky">
-				<ul class="before-current">
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_recipes_resolve_.html#adddot" class="tsd-kind-icon">add<wbr>Dot</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_recipes_resolve_.html#isreference" class="tsd-kind-icon">is<wbr>Reference</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_recipes_resolve_.html#make" class="tsd-kind-icon">make</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_recipes_resolve_.html#resolvereferences" class="tsd-kind-icon">resolve<wbr>References</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_recipes_resolve_.html#splitreference" class="tsd-kind-icon">split<wbr>Reference</a>
-					</li>
-				</ul>
-			</nav>
-		</div>
-	</div>
-</div>
-<footer class="with-border-bottom">
-	<div class="container">
-		<h2>Legend</h2>
-		<div class="tsd-legend-group">
-			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
-				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
-				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
-				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
-			</ul>
-			<ul class="tsd-legend">
-				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
-			</ul>
-		</div>
-	</div>
-</footer>
-<div class="container tsd-generator">
-	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
-</div>
-<div class="overlay"></div>
-<script src="../assets/js/main.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/public/modules/_commands_recipes_subscribe_.html b/public/modules/_commands_recipes_subscribe_.html
deleted file mode 100644
index f2d10fc5a7fbd0e0ed63dd3771565eb1673f3c41..0000000000000000000000000000000000000000
--- a/public/modules/_commands_recipes_subscribe_.html
+++ /dev/null
@@ -1,237 +0,0 @@
-<!doctype html>
-<html class="default no-js">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;commands/recipes/subscribe&quot; | usp-js</title>
-	<meta name="description" content="Documentation for usp-js">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="../assets/css/main.css">
-</head>
-<body>
-<header>
-	<div class="tsd-page-toolbar">
-		<div class="container">
-			<div class="table-wrap">
-				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
-					<div class="field">
-						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
-						<input id="tsd-search-field" type="text" />
-					</div>
-					<ul class="results">
-						<li class="state loading">Preparing search index...</li>
-						<li class="state failure">The search index is not available</li>
-					</ul>
-					<a href="../index.html" class="title">usp-js</a>
-				</div>
-				<div class="table-cell" id="tsd-widgets">
-					<div id="tsd-filter">
-						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
-						<div class="tsd-filter-group">
-							<div class="tsd-select" id="tsd-filter-visibility">
-								<span class="tsd-select-label">All</span>
-								<ul class="tsd-select-list">
-									<li data-value="public">Public</li>
-									<li data-value="protected">Public/Protected</li>
-									<li data-value="private" class="selected">All</li>
-								</ul>
-							</div>
-							<input type="checkbox" id="tsd-filter-inherited" checked />
-							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
-							<input type="checkbox" id="tsd-filter-externals" checked />
-							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
-						</div>
-					</div>
-					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="tsd-page-title">
-		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="../globals.html">Globals</a>
-				</li>
-				<li>
-					<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-				</li>
-			</ul>
-			<h1>Module &quot;commands/recipes/subscribe&quot;</h1>
-		</div>
-	</div>
-</header>
-<div class="container container-main">
-	<div class="row">
-		<div class="col-8 col-content">
-			<section class="tsd-panel-group tsd-index-group">
-				<h2>Index</h2>
-				<section class="tsd-panel tsd-index-panel">
-					<div class="tsd-index-content">
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Variables</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_recipes_subscribe_.html#subscriptionpath" class="tsd-kind-icon">subscription<wbr>Path</a></li>
-							</ul>
-						</section>
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Functions</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_recipes_subscribe_.html#make" class="tsd-kind-icon">make</a></li>
-							</ul>
-						</section>
-					</div>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Variables</h2>
-				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-					<a name="subscriptionpath" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> subscription<wbr>Path</h3>
-					<div class="tsd-signature tsd-kind-icon">subscription<wbr>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"Device.LocalAgent.Subscription."</span><span class="tsd-signature-symbol"> = &quot;Device.LocalAgent.Subscription.&quot;</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in commands/recipes/subscribe.ts:4</li>
-						</ul>
-					</aside>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Functions</h2>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="make" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> make</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">make<span class="tsd-signature-symbol">(</span>call<span class="tsd-signature-symbol">: </span><a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a>, on<span class="tsd-signature-symbol">: </span><a href="_types_.html#onfn" class="tsd-signature-type">OnFn</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="_types_.html#subscriberecipe" class="tsd-signature-type">SubscribeRecipe</a></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/recipes/subscribe.ts:6</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>call: <a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a></h5>
-								</li>
-								<li>
-									<h5>on: <a href="_types_.html#onfn" class="tsd-signature-type">OnFn</a></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <a href="_types_.html#subscriberecipe" class="tsd-signature-type">SubscribeRecipe</a></h4>
-						</li>
-					</ul>
-				</section>
-			</section>
-		</div>
-		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
-			<nav class="tsd-navigation primary">
-				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-					</li>
-					<li class="current tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
-					</li>
-				</ul>
-			</nav>
-			<nav class="tsd-navigation secondary menu-sticky">
-				<ul class="before-current">
-					<li class=" tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_recipes_subscribe_.html#subscriptionpath" class="tsd-kind-icon">subscription<wbr>Path</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_recipes_subscribe_.html#make" class="tsd-kind-icon">make</a>
-					</li>
-				</ul>
-			</nav>
-		</div>
-	</div>
-</div>
-<footer class="with-border-bottom">
-	<div class="container">
-		<h2>Legend</h2>
-		<div class="tsd-legend-group">
-			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
-				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
-				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
-				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
-			</ul>
-			<ul class="tsd-legend">
-				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
-			</ul>
-		</div>
-	</div>
-</footer>
-<div class="container tsd-generator">
-	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
-</div>
-<div class="overlay"></div>
-<script src="../assets/js/main.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/public/modules/_commands_set_.html b/public/modules/_commands_set_.html
deleted file mode 100644
index ab1d9aef9050aa4e4b55814c434e592c89adf251..0000000000000000000000000000000000000000
--- a/public/modules/_commands_set_.html
+++ /dev/null
@@ -1,320 +0,0 @@
-<!doctype html>
-<html class="default no-js">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;commands/set&quot; | usp-js</title>
-	<meta name="description" content="Documentation for usp-js">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="../assets/css/main.css">
-</head>
-<body>
-<header>
-	<div class="tsd-page-toolbar">
-		<div class="container">
-			<div class="table-wrap">
-				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
-					<div class="field">
-						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
-						<input id="tsd-search-field" type="text" />
-					</div>
-					<ul class="results">
-						<li class="state loading">Preparing search index...</li>
-						<li class="state failure">The search index is not available</li>
-					</ul>
-					<a href="../index.html" class="title">usp-js</a>
-				</div>
-				<div class="table-cell" id="tsd-widgets">
-					<div id="tsd-filter">
-						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
-						<div class="tsd-filter-group">
-							<div class="tsd-select" id="tsd-filter-visibility">
-								<span class="tsd-select-label">All</span>
-								<ul class="tsd-select-list">
-									<li data-value="public">Public</li>
-									<li data-value="protected">Public/Protected</li>
-									<li data-value="private" class="selected">All</li>
-								</ul>
-							</div>
-							<input type="checkbox" id="tsd-filter-inherited" checked />
-							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
-							<input type="checkbox" id="tsd-filter-externals" checked />
-							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
-						</div>
-					</div>
-					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="tsd-page-title">
-		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="../globals.html">Globals</a>
-				</li>
-				<li>
-					<a href="_commands_set_.html">&quot;commands/set&quot;</a>
-				</li>
-			</ul>
-			<h1>Module &quot;commands/set&quot;</h1>
-		</div>
-	</div>
-</header>
-<div class="container container-main">
-	<div class="row">
-		<div class="col-8 col-content">
-			<section class="tsd-panel-group tsd-index-group">
-				<h2>Index</h2>
-				<section class="tsd-panel tsd-index-panel">
-					<div class="tsd-index-content">
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Functions</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_set_.html#decode" class="tsd-kind-icon">decode</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_set_.html#encode" class="tsd-kind-icon">encode</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_set_.html#isobject" class="tsd-kind-icon">is<wbr>Object</a></li>
-							</ul>
-						</section>
-					</div>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Functions</h2>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="decode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> decode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">decode<span class="tsd-signature-symbol">(</span>_msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">]</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/set.ts:4</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>_msg: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">]</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="encode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> encode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">encode<span class="tsd-signature-symbol">(</span>__namedParameters<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>initialPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/set.ts:11</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>__namedParameters: <span class="tsd-signature-symbol">{ </span>initialPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>initial<wbr>Path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Body"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>request<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-											<ul class="tsd-parameters">
-												<li class="tsd-parameter">
-													<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Request"</span></h5>
-												</li>
-												<li class="tsd-parameter">
-													<h5>set<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-													<ul class="tsd-parameters">
-														<li class="tsd-parameter">
-															<h5>allow<wbr>Partial<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-														</li>
-														<li class="tsd-parameter">
-															<h5>update<wbr>Objs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Set.UpdateObject"</span><span class="tsd-signature-symbol">; </span>objPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>paramSettings<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Set.UpdateParamSetting"</span><span class="tsd-signature-symbol">; </span>param<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>required<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span></h5>
-														</li>
-													</ul>
-												</li>
-											</ul>
-										</li>
-									</ul>
-								</li>
-								<li class="tsd-parameter">
-									<h5>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Header"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"SET"</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="isobject" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> is<wbr>Object</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">is<wbr>Object<span class="tsd-signature-symbol">(</span>v<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/set.ts:8</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>v: <span class="tsd-signature-type">any</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
-						</li>
-					</ul>
-				</section>
-			</section>
-		</div>
-		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
-			<nav class="tsd-navigation primary">
-				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-					</li>
-					<li class="current tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
-					</li>
-				</ul>
-			</nav>
-			<nav class="tsd-navigation secondary menu-sticky">
-				<ul class="before-current">
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_set_.html#decode" class="tsd-kind-icon">decode</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_set_.html#encode" class="tsd-kind-icon">encode</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_set_.html#isobject" class="tsd-kind-icon">is<wbr>Object</a>
-					</li>
-				</ul>
-			</nav>
-		</div>
-	</div>
-</div>
-<footer class="with-border-bottom">
-	<div class="container">
-		<h2>Legend</h2>
-		<div class="tsd-legend-group">
-			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
-				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
-				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
-				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
-			</ul>
-			<ul class="tsd-legend">
-				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
-			</ul>
-		</div>
-	</div>
-</footer>
-<div class="container tsd-generator">
-	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
-</div>
-<div class="overlay"></div>
-<script src="../assets/js/main.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/public/modules/_commands_supported_.html b/public/modules/_commands_supported_.html
deleted file mode 100644
index 026f70a8c00752af1160d831e1a2d30ad670e867..0000000000000000000000000000000000000000
--- a/public/modules/_commands_supported_.html
+++ /dev/null
@@ -1,302 +0,0 @@
-<!doctype html>
-<html class="default no-js">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;commands/supported&quot; | usp-js</title>
-	<meta name="description" content="Documentation for usp-js">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="../assets/css/main.css">
-</head>
-<body>
-<header>
-	<div class="tsd-page-toolbar">
-		<div class="container">
-			<div class="table-wrap">
-				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
-					<div class="field">
-						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
-						<input id="tsd-search-field" type="text" />
-					</div>
-					<ul class="results">
-						<li class="state loading">Preparing search index...</li>
-						<li class="state failure">The search index is not available</li>
-					</ul>
-					<a href="../index.html" class="title">usp-js</a>
-				</div>
-				<div class="table-cell" id="tsd-widgets">
-					<div id="tsd-filter">
-						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
-						<div class="tsd-filter-group">
-							<div class="tsd-select" id="tsd-filter-visibility">
-								<span class="tsd-select-label">All</span>
-								<ul class="tsd-select-list">
-									<li data-value="public">Public</li>
-									<li data-value="protected">Public/Protected</li>
-									<li data-value="private" class="selected">All</li>
-								</ul>
-							</div>
-							<input type="checkbox" id="tsd-filter-inherited" checked />
-							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
-							<input type="checkbox" id="tsd-filter-externals" checked />
-							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
-						</div>
-					</div>
-					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="tsd-page-title">
-		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="../globals.html">Globals</a>
-				</li>
-				<li>
-					<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
-				</li>
-			</ul>
-			<h1>Module &quot;commands/supported&quot;</h1>
-		</div>
-	</div>
-</header>
-<div class="container container-main">
-	<div class="row">
-		<div class="col-8 col-content">
-			<section class="tsd-panel-group tsd-index-group">
-				<h2>Index</h2>
-				<section class="tsd-panel tsd-index-panel">
-					<div class="tsd-index-content">
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Functions</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_supported_.html#decode" class="tsd-kind-icon">decode</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_supported_.html#encode" class="tsd-kind-icon">encode</a></li>
-							</ul>
-						</section>
-					</div>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Functions</h2>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="decode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> decode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">decode<span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/supported.ts:4</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>msg: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="encode" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> encode</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">encode<span class="tsd-signature-symbol">(</span>__namedParameters<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>opts<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/supported.ts:9</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>__namedParameters: <span class="tsd-signature-symbol">{ </span>opts<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>opts<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span><span class="tsd-signature-symbol">; </span>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> }</span></h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Msg"</span></h5>
-								</li>
-								<li class="tsd-parameter">
-									<h5>body<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Body"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>request<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-											<ul class="tsd-parameters">
-												<li class="tsd-parameter">
-													<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Request"</span></h5>
-												</li>
-												<li class="tsd-parameter">
-													<h5>get<wbr>Supported<wbr>Dm<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-													<ul class="tsd-parameters">
-														<li class="tsd-parameter">
-															<h5>first<wbr>Level<wbr>Only<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-														</li>
-														<li class="tsd-parameter">
-															<h5>obj<wbr>Paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5>
-														</li>
-														<li class="tsd-parameter">
-															<h5>return<wbr>Commands<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-														</li>
-														<li class="tsd-parameter">
-															<h5>return<wbr>Events<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-														</li>
-														<li class="tsd-parameter">
-															<h5>return<wbr>Params<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></h5>
-														</li>
-													</ul>
-												</li>
-											</ul>
-										</li>
-									</ul>
-								</li>
-								<li class="tsd-parameter">
-									<h5>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Header"</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>msg<wbr>Type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"GET_SUPPORTED_DM"</span></h5>
-										</li>
-									</ul>
-								</li>
-							</ul>
-						</li>
-					</ul>
-				</section>
-			</section>
-		</div>
-		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
-			<nav class="tsd-navigation primary">
-				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
-					</li>
-					<li class="current tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
-					</li>
-				</ul>
-			</nav>
-			<nav class="tsd-navigation secondary menu-sticky">
-				<ul class="before-current">
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_supported_.html#decode" class="tsd-kind-icon">decode</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_supported_.html#encode" class="tsd-kind-icon">encode</a>
-					</li>
-				</ul>
-			</nav>
-		</div>
-	</div>
-</div>
-<footer class="with-border-bottom">
-	<div class="container">
-		<h2>Legend</h2>
-		<div class="tsd-legend-group">
-			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
-				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
-				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
-				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
-			</ul>
-			<ul class="tsd-legend">
-				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
-			</ul>
-		</div>
-	</div>
-</footer>
-<div class="container tsd-generator">
-	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
-</div>
-<div class="overlay"></div>
-<script src="../assets/js/main.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/public/modules/_index_.html b/public/modules/_index_.html
deleted file mode 100644
index 6e919b17e46bc7e8d75fab8256a4687b36ebad2f..0000000000000000000000000000000000000000
--- a/public/modules/_index_.html
+++ /dev/null
@@ -1,385 +0,0 @@
-<!doctype html>
-<html class="default no-js">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;index&quot; | usp-js</title>
-	<meta name="description" content="Documentation for usp-js">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="../assets/css/main.css">
-</head>
-<body>
-<header>
-	<div class="tsd-page-toolbar">
-		<div class="container">
-			<div class="table-wrap">
-				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
-					<div class="field">
-						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
-						<input id="tsd-search-field" type="text" />
-					</div>
-					<ul class="results">
-						<li class="state loading">Preparing search index...</li>
-						<li class="state failure">The search index is not available</li>
-					</ul>
-					<a href="../index.html" class="title">usp-js</a>
-				</div>
-				<div class="table-cell" id="tsd-widgets">
-					<div id="tsd-filter">
-						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
-						<div class="tsd-filter-group">
-							<div class="tsd-select" id="tsd-filter-visibility">
-								<span class="tsd-select-label">All</span>
-								<ul class="tsd-select-list">
-									<li data-value="public">Public</li>
-									<li data-value="protected">Public/Protected</li>
-									<li data-value="private" class="selected">All</li>
-								</ul>
-							</div>
-							<input type="checkbox" id="tsd-filter-inherited" checked />
-							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
-							<input type="checkbox" id="tsd-filter-externals" checked />
-							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
-						</div>
-					</div>
-					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="tsd-page-title">
-		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="../globals.html">Globals</a>
-				</li>
-				<li>
-					<a href="_index_.html">&quot;index&quot;</a>
-				</li>
-			</ul>
-			<h1>Module &quot;index&quot;</h1>
-		</div>
-	</div>
-</header>
-<div class="container container-main">
-	<div class="row">
-		<div class="col-8 col-content">
-			<section class="tsd-panel-group tsd-index-group">
-				<h2>Index</h2>
-				<section class="tsd-panel tsd-index-panel">
-					<div class="tsd-index-content">
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Variables</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported"><a href="_index_.html#defaultfromid" class="tsd-kind-icon">default<wbr>From<wbr>Id</a></li>
-								<li class="tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported"><a href="_index_.html#defaultidendpoint" class="tsd-kind-icon">default<wbr>IdEndpoint</a></li>
-								<li class="tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported"><a href="_index_.html#defaultpublishendpoint" class="tsd-kind-icon">default<wbr>Publish<wbr>Endpoint</a></li>
-								<li class="tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported"><a href="_index_.html#defaultsubscribeendpoint" class="tsd-kind-icon">default<wbr>Subscribe<wbr>Endpoint</a></li>
-								<li class="tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported"><a href="_index_.html#idresolvetimeout" class="tsd-kind-icon">id<wbr>Resolve<wbr>Timeout</a></li>
-							</ul>
-						</section>
-						<section class="tsd-index-section ">
-							<h3>Functions</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_index_.html#_connect" class="tsd-kind-icon">_connect</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_index_.html#connect" class="tsd-kind-icon">connect</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_index_.html#fixid" class="tsd-kind-icon">fix<wbr>Id</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_index_.html#isurl" class="tsd-kind-icon">isURL</a></li>
-							</ul>
-						</section>
-					</div>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Variables</h2>
-				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-					<a name="defaultfromid" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> default<wbr>From<wbr>Id</h3>
-					<div class="tsd-signature tsd-kind-icon">default<wbr>From<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"proto::interop-usp-controller"</span><span class="tsd-signature-symbol"> = &quot;proto::interop-usp-controller&quot;</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in index.ts:15</li>
-						</ul>
-					</aside>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-					<a name="defaultidendpoint" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> default<wbr>IdEndpoint</h3>
-					<div class="tsd-signature tsd-kind-icon">default<wbr>IdEndpoint<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"obuspa/EndpointID"</span><span class="tsd-signature-symbol"> = &quot;obuspa/EndpointID&quot;</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in index.ts:14</li>
-						</ul>
-					</aside>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-					<a name="defaultpublishendpoint" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> default<wbr>Publish<wbr>Endpoint</h3>
-					<div class="tsd-signature tsd-kind-icon">default<wbr>Publish<wbr>Endpoint<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"/usp/endpoint"</span><span class="tsd-signature-symbol"> = &quot;/usp/endpoint&quot;</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in index.ts:12</li>
-						</ul>
-					</aside>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-					<a name="defaultsubscribeendpoint" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> default<wbr>Subscribe<wbr>Endpoint</h3>
-					<div class="tsd-signature tsd-kind-icon">default<wbr>Subscribe<wbr>Endpoint<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"/usp/controller"</span><span class="tsd-signature-symbol"> = &quot;/usp/controller&quot;</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in index.ts:13</li>
-						</ul>
-					</aside>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-					<a name="idresolvetimeout" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> id<wbr>Resolve<wbr>Timeout</h3>
-					<div class="tsd-signature tsd-kind-icon">id<wbr>Resolve<wbr>Timeout<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">5000</span><span class="tsd-signature-symbol"> = 5000</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in index.ts:16</li>
-						</ul>
-					</aside>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group ">
-				<h2>Functions</h2>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="_connect" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> _connect</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">_connect<span class="tsd-signature-symbol">(</span>opts<span class="tsd-signature-symbol">: </span><a href="_types_.html#connectionoptions" class="tsd-signature-type">ConnectionOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">AsyncMqttClient</span><span class="tsd-signature-symbol">&gt;</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in index.ts:21</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>opts: <a href="_types_.html#connectionoptions" class="tsd-signature-type">ConnectionOptions</a></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">AsyncMqttClient</span><span class="tsd-signature-symbol">&gt;</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
-					<a name="connect" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> connect</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
-						<li class="tsd-signature tsd-kind-icon">connect<span class="tsd-signature-symbol">(</span>options<span class="tsd-signature-symbol">: </span><a href="_types_.html#connectionoptions" class="tsd-signature-type">ConnectionOptions</a>, events<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_types_.connectionevents.html" class="tsd-signature-type">ConnectionEvents</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in index.ts:40</li>
-								</ul>
-							</aside>
-							<div class="tsd-comment tsd-typography">
-								<div class="lead">
-									<p>Connect to device</p>
-								</div>
-							</div>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>options: <a href="_types_.html#connectionoptions" class="tsd-signature-type">ConnectionOptions</a></h5>
-								</li>
-								<li>
-									<h5>events: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_types_.connectionevents.html" class="tsd-signature-type">ConnectionEvents</a></h5>
-									<div class="tsd-comment tsd-typography">
-										<div class="lead">
-											<p>Optional event handlers</p>
-										</div>
-									</div>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4>
-							<p>A set of functions for interacting with the device</p>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="fixid" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> fix<wbr>Id</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">fix<wbr>Id<span class="tsd-signature-symbol">(</span>s<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in index.ts:32</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>s: <span class="tsd-signature-type">string</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="isurl" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> isURL</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">isURL<span class="tsd-signature-symbol">(</span>opts<span class="tsd-signature-symbol">: </span><a href="_types_.html#connectionoptions" class="tsd-signature-type">ConnectionOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">opts</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">URLConnectionOptions</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in index.ts:18</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>opts: <a href="_types_.html#connectionoptions" class="tsd-signature-type">ConnectionOptions</a></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">opts</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">URLConnectionOptions</span></h4>
-						</li>
-					</ul>
-				</section>
-			</section>
-		</div>
-		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
-			<nav class="tsd-navigation primary">
-				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
-					</li>
-					<li class="current tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
-					</li>
-				</ul>
-			</nav>
-			<nav class="tsd-navigation secondary menu-sticky">
-				<ul class="before-current">
-					<li class=" tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_index_.html#defaultfromid" class="tsd-kind-icon">default<wbr>From<wbr>Id</a>
-					</li>
-					<li class=" tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_index_.html#defaultidendpoint" class="tsd-kind-icon">default<wbr>IdEndpoint</a>
-					</li>
-					<li class=" tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_index_.html#defaultpublishendpoint" class="tsd-kind-icon">default<wbr>Publish<wbr>Endpoint</a>
-					</li>
-					<li class=" tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_index_.html#defaultsubscribeendpoint" class="tsd-kind-icon">default<wbr>Subscribe<wbr>Endpoint</a>
-					</li>
-					<li class=" tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_index_.html#idresolvetimeout" class="tsd-kind-icon">id<wbr>Resolve<wbr>Timeout</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_index_.html#_connect" class="tsd-kind-icon">_connect</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_index_.html#connect" class="tsd-kind-icon">connect</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_index_.html#fixid" class="tsd-kind-icon">fix<wbr>Id</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_index_.html#isurl" class="tsd-kind-icon">isURL</a>
-					</li>
-				</ul>
-			</nav>
-		</div>
-	</div>
-</div>
-<footer class="with-border-bottom">
-	<div class="container">
-		<h2>Legend</h2>
-		<div class="tsd-legend-group">
-			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
-				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
-				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
-				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
-			</ul>
-			<ul class="tsd-legend">
-				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
-			</ul>
-		</div>
-	</div>
-</footer>
-<div class="container tsd-generator">
-	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
-</div>
-<div class="overlay"></div>
-<script src="../assets/js/main.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/public/modules/_util_.html b/public/modules/_util_.html
deleted file mode 100644
index 79199e9b94935e1947c153b8f43a50a1ecae2691..0000000000000000000000000000000000000000
--- a/public/modules/_util_.html
+++ /dev/null
@@ -1,436 +0,0 @@
-<!doctype html>
-<html class="default no-js">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;util&quot; | usp-js</title>
-	<meta name="description" content="Documentation for usp-js">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="../assets/css/main.css">
-</head>
-<body>
-<header>
-	<div class="tsd-page-toolbar">
-		<div class="container">
-			<div class="table-wrap">
-				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
-					<div class="field">
-						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
-						<input id="tsd-search-field" type="text" />
-					</div>
-					<ul class="results">
-						<li class="state loading">Preparing search index...</li>
-						<li class="state failure">The search index is not available</li>
-					</ul>
-					<a href="../index.html" class="title">usp-js</a>
-				</div>
-				<div class="table-cell" id="tsd-widgets">
-					<div id="tsd-filter">
-						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
-						<div class="tsd-filter-group">
-							<div class="tsd-select" id="tsd-filter-visibility">
-								<span class="tsd-select-label">All</span>
-								<ul class="tsd-select-list">
-									<li data-value="public">Public</li>
-									<li data-value="protected">Public/Protected</li>
-									<li data-value="private" class="selected">All</li>
-								</ul>
-							</div>
-							<input type="checkbox" id="tsd-filter-inherited" checked />
-							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
-							<input type="checkbox" id="tsd-filter-externals" checked />
-							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
-						</div>
-					</div>
-					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div class="tsd-page-title">
-		<div class="container">
-			<ul class="tsd-breadcrumb">
-				<li>
-					<a href="../globals.html">Globals</a>
-				</li>
-				<li>
-					<a href="_util_.html">&quot;util&quot;</a>
-				</li>
-			</ul>
-			<h1>Module &quot;util&quot;</h1>
-		</div>
-	</div>
-</header>
-<div class="container container-main">
-	<div class="row">
-		<div class="col-8 col-content">
-			<section class="tsd-panel-group tsd-index-group">
-				<h2>Index</h2>
-				<section class="tsd-panel tsd-index-panel">
-					<div class="tsd-index-content">
-						<section class="tsd-index-section ">
-							<h3>Functions</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_util_.html#isregexp" class="tsd-kind-icon">is<wbr>Reg<wbr>Exp</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_util_.html#makecallbackrouter" class="tsd-kind-icon">make<wbr>Callback<wbr>Router</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_util_.html#makerouter" class="tsd-kind-icon">make<wbr>Router</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_util_.html#satisfies" class="tsd-kind-icon">satisfies</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_util_.html#toid" class="tsd-kind-icon">to<wbr>Id</a></li>
-							</ul>
-						</section>
-					</div>
-				</section>
-			</section>
-			<section class="tsd-panel-group tsd-member-group ">
-				<h2>Functions</h2>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="isregexp" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> is<wbr>Reg<wbr>Exp</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">is<wbr>Reg<wbr>Exp<span class="tsd-signature-symbol">(</span>v<span class="tsd-signature-symbol">: </span><a href="_types_.html#onident" class="tsd-signature-type">OnIdent</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">v</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">RegExp</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in util.ts:21</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>v: <a href="_types_.html#onident" class="tsd-signature-type">OnIdent</a></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">v</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">RegExp</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
-					<a name="makecallbackrouter" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> make<wbr>Callback<wbr>Router</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
-						<li class="tsd-signature tsd-kind-icon">make<wbr>Callback<wbr>Router<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>add<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>del<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>get<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in util.ts:24</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{ </span>add<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>del<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>get<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>add<span class="tsd-signature-symbol">: </span>function</h5>
-									<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-type-literal">
-										<li class="tsd-signature tsd-kind-icon">add<span class="tsd-signature-symbol">(</span>ident<span class="tsd-signature-symbol">: </span><a href="_types_.html#onident" class="tsd-signature-type">OnIdent</a>, callback<span class="tsd-signature-symbol">: </span><a href="_types_.html#subscriptioncallback" class="tsd-signature-type">SubscriptionCallback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-									</ul>
-									<ul class="tsd-descriptions">
-										<li class="tsd-description">
-											<aside class="tsd-sources">
-												<ul>
-													<li>Defined in util.ts:35</li>
-												</ul>
-											</aside>
-											<h4 class="tsd-parameters-title">Parameters</h4>
-											<ul class="tsd-parameters">
-												<li>
-													<h5>ident: <a href="_types_.html#onident" class="tsd-signature-type">OnIdent</a></h5>
-												</li>
-												<li>
-													<h5>callback: <a href="_types_.html#subscriptioncallback" class="tsd-signature-type">SubscriptionCallback</a></h5>
-												</li>
-											</ul>
-											<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
-										</li>
-									</ul>
-								</li>
-								<li class="tsd-parameter">
-									<h5>del<span class="tsd-signature-symbol">: </span>function</h5>
-									<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-type-literal">
-										<li class="tsd-signature tsd-kind-icon">del<span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><a href="_types_.html#onident" class="tsd-signature-type">OnIdent</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
-									</ul>
-									<ul class="tsd-descriptions">
-										<li class="tsd-description">
-											<aside class="tsd-sources">
-												<ul>
-													<li>Defined in util.ts:38</li>
-												</ul>
-											</aside>
-											<h4 class="tsd-parameters-title">Parameters</h4>
-											<ul class="tsd-parameters">
-												<li>
-													<h5>id: <a href="_types_.html#onident" class="tsd-signature-type">OnIdent</a></h5>
-												</li>
-											</ul>
-											<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
-										</li>
-									</ul>
-								</li>
-								<li class="tsd-parameter">
-									<h5>get<span class="tsd-signature-symbol">: </span>function</h5>
-									<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-type-literal">
-										<li class="tsd-signature tsd-kind-icon">get<span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="_types_.html#subscriptioncallback" class="tsd-signature-type">SubscriptionCallback</a><span class="tsd-signature-symbol">[]</span></li>
-									</ul>
-									<ul class="tsd-descriptions">
-										<li class="tsd-description">
-											<aside class="tsd-sources">
-												<ul>
-													<li>Defined in util.ts:30</li>
-												</ul>
-											</aside>
-											<h4 class="tsd-parameters-title">Parameters</h4>
-											<ul class="tsd-parameters">
-												<li>
-													<h5>id: <span class="tsd-signature-type">string</span></h5>
-												</li>
-											</ul>
-											<h4 class="tsd-returns-title">Returns <a href="_types_.html#subscriptioncallback" class="tsd-signature-type">SubscriptionCallback</a><span class="tsd-signature-symbol">[]</span></h4>
-										</li>
-									</ul>
-								</li>
-							</ul>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
-					<a name="makerouter" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> make<wbr>Router</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
-						<li class="tsd-signature tsd-kind-icon">make<wbr>Router<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>add<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>get<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in util.ts:6</li>
-								</ul>
-							</aside>
-							<div class="tsd-comment tsd-typography">
-								<div class="lead">
-									<p>Makes a router for storing resolve/reject for a message</p>
-								</div>
-							</div>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{ </span>add<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>get<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></h4>
-							<ul class="tsd-parameters">
-								<li class="tsd-parameter">
-									<h5>add<span class="tsd-signature-symbol">: </span>function</h5>
-									<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-type-literal">
-										<li class="tsd-signature tsd-kind-icon">add<span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, data<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-									</ul>
-									<ul class="tsd-descriptions">
-										<li class="tsd-description">
-											<aside class="tsd-sources">
-												<ul>
-													<li>Defined in util.ts:14</li>
-												</ul>
-											</aside>
-											<h4 class="tsd-parameters-title">Parameters</h4>
-											<ul class="tsd-parameters">
-												<li>
-													<h5>id: <span class="tsd-signature-type">string</span></h5>
-												</li>
-												<li>
-													<h5>data: <span class="tsd-signature-type">any</span></h5>
-												</li>
-											</ul>
-											<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
-										</li>
-									</ul>
-								</li>
-								<li class="tsd-parameter">
-									<h5>get<span class="tsd-signature-symbol">: </span>function</h5>
-									<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-type-literal">
-										<li class="tsd-signature tsd-kind-icon">get<span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li>
-									</ul>
-									<ul class="tsd-descriptions">
-										<li class="tsd-description">
-											<aside class="tsd-sources">
-												<ul>
-													<li>Defined in util.ts:9</li>
-												</ul>
-											</aside>
-											<h4 class="tsd-parameters-title">Parameters</h4>
-											<ul class="tsd-parameters">
-												<li>
-													<h5>id: <span class="tsd-signature-type">string</span></h5>
-												</li>
-											</ul>
-											<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4>
-										</li>
-									</ul>
-								</li>
-							</ul>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="satisfies" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> satisfies</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">satisfies<span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><a href="_types_.html#onident" class="tsd-signature-type">OnIdent</a>, matches<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in util.ts:22</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>id: <a href="_types_.html#onident" class="tsd-signature-type">OnIdent</a></h5>
-								</li>
-								<li>
-									<h5>matches: <span class="tsd-signature-type">string</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="toid" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> to<wbr>Id</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">to<wbr>Id<span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><a href="_types_.html#onident" class="tsd-signature-type">OnIdent</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in util.ts:20</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>id: <a href="_types_.html#onident" class="tsd-signature-type">OnIdent</a></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
-						</li>
-					</ul>
-				</section>
-			</section>
-		</div>
-		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
-			<nav class="tsd-navigation primary">
-				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
-					</li>
-					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
-					</li>
-					<li class="current tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
-					</li>
-				</ul>
-			</nav>
-			<nav class="tsd-navigation secondary menu-sticky">
-				<ul class="before-current">
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_util_.html#isregexp" class="tsd-kind-icon">is<wbr>Reg<wbr>Exp</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_util_.html#makecallbackrouter" class="tsd-kind-icon">make<wbr>Callback<wbr>Router</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_util_.html#makerouter" class="tsd-kind-icon">make<wbr>Router</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_util_.html#satisfies" class="tsd-kind-icon">satisfies</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_util_.html#toid" class="tsd-kind-icon">to<wbr>Id</a>
-					</li>
-				</ul>
-			</nav>
-		</div>
-	</div>
-</div>
-<footer class="with-border-bottom">
-	<div class="container">
-		<h2>Legend</h2>
-		<div class="tsd-legend-group">
-			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
-				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
-				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
-				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
-			</ul>
-			<ul class="tsd-legend">
-				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
-			</ul>
-		</div>
-	</div>
-</footer>
-<div class="container tsd-generator">
-	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
-</div>
-<div class="overlay"></div>
-<script src="../assets/js/main.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/public/modules/commands.html b/public/modules/commands.html
new file mode 100644
index 0000000000000000000000000000000000000000..5bee55d31785b120ae497849e854d3a6d8dfb0bf
--- /dev/null
+++ b/public/modules/commands.html
@@ -0,0 +1,383 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>commands | usp-js</title>
+	<meta name="description" content="Documentation for usp-js">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">usp-js</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../modules.html">usp-js</a>
+				</li>
+				<li>
+					<a href="commands.html">commands</a>
+				</li>
+			</ul>
+			<h1>Module commands</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Variables</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-variable tsd-parent-kind-module"><a href="commands.html#header" class="tsd-kind-icon">header</a></li>
+								<li class="tsd-kind-variable tsd-parent-kind-module"><a href="commands.html#rootmsg" class="tsd-kind-icon">root<wbr>Msg</a></li>
+								<li class="tsd-kind-variable tsd-parent-kind-module"><a href="commands.html#rootrecord" class="tsd-kind-icon">root<wbr>Record</a></li>
+							</ul>
+						</section>
+						<section class="tsd-index-section ">
+							<h3>Functions</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="commands.html#decode" class="tsd-kind-icon">decode</a></li>
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="commands.html#decodeid" class="tsd-kind-icon">decode<wbr>Id</a></li>
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="commands.html#makeencode" class="tsd-kind-icon">make<wbr>Encode</a></li>
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="commands.html#makerecipes" class="tsd-kind-icon">make<wbr>Recipes</a></li>
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="commands.html#readmsg" class="tsd-kind-icon">read<wbr>Msg</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Variables</h2>
+				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module">
+					<a name="header" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagConst">Const</span> header</h3>
+					<div class="tsd-signature tsd-kind-icon">header<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> = ...</span></div>
+					<aside class="tsd-sources">
+						<ul>
+							<li>Defined in commands/index.ts:17</li>
+						</ul>
+					</aside>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module">
+					<a name="rootmsg" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagConst">Const</span> root<wbr>Msg</h3>
+					<div class="tsd-signature tsd-kind-icon">root<wbr>Msg<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Root</span><span class="tsd-signature-symbol"> = ...</span></div>
+					<aside class="tsd-sources">
+						<ul>
+							<li>Defined in commands/index.ts:16</li>
+						</ul>
+					</aside>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module">
+					<a name="rootrecord" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagConst">Const</span> root<wbr>Record</h3>
+					<div class="tsd-signature tsd-kind-icon">root<wbr>Record<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Root</span><span class="tsd-signature-symbol"> = ...</span></div>
+					<aside class="tsd-sources">
+						<ul>
+							<li>Defined in commands/index.ts:15</li>
+						</ul>
+					</aside>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Functions</h2>
+				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
+					<a name="decode" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagConst">Const</span> decode</h3>
+					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
+						<li class="tsd-signature tsd-kind-icon">decode<span class="tsd-signature-symbol">(</span>parsedMsg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="types.html#decoderesponse" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeResponse</a></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<ul>
+									<li>Defined in commands/index.ts:69</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-parameters-title">Parameters</h4>
+							<ul class="tsd-parameters">
+								<li>
+									<h5>parsedMsg: <span class="tsd-signature-type">any</span></h5>
+								</li>
+							</ul>
+							<h4 class="tsd-returns-title">Returns <a href="types.html#decoderesponse" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeResponse</a></h4>
+						</li>
+					</ul>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
+					<a name="decodeid" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagConst">Const</span> decode<wbr>Id</h3>
+					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
+						<li class="tsd-signature tsd-kind-icon">decode<wbr>Id<span class="tsd-signature-symbol">(</span>data<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<ul>
+									<li>Defined in commands/index.ts:53</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-parameters-title">Parameters</h4>
+							<ul class="tsd-parameters">
+								<li>
+									<h5>data: <span class="tsd-signature-type">any</span></h5>
+								</li>
+							</ul>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
+						</li>
+					</ul>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
+					<a name="makeencode" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagConst">Const</span> make<wbr>Encode</h3>
+					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
+						<li class="tsd-signature tsd-kind-icon">make<wbr>Encode<span class="tsd-signature-symbol">(</span>options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>command<span class="tsd-signature-symbol">: </span><a href="types.html#commandtype" class="tsd-signature-type" data-tsd-kind="Type alias">CommandType</a>, args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<ul>
+									<li>Defined in commands/index.ts:87</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-parameters-title">Parameters</h4>
+							<ul class="tsd-parameters">
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> options: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h5>
+								</li>
+							</ul>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">(</span>command<span class="tsd-signature-symbol">: </span><a href="types.html#commandtype" class="tsd-signature-type" data-tsd-kind="Type alias">CommandType</a>, args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]</span></h4>
+							<ul class="tsd-parameters">
+								<li class="tsd-parameter-signature">
+									<ul class="tsd-signatures tsd-kind-type-literal">
+										<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>command<span class="tsd-signature-symbol">: </span><a href="types.html#commandtype" class="tsd-signature-type" data-tsd-kind="Type alias">CommandType</a>, args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]</span></li>
+									</ul>
+									<ul class="tsd-descriptions">
+										<li class="tsd-description">
+											<h4 class="tsd-parameters-title">Parameters</h4>
+											<ul class="tsd-parameters">
+												<li>
+													<h5>command: <a href="types.html#commandtype" class="tsd-signature-type" data-tsd-kind="Type alias">CommandType</a></h5>
+												</li>
+												<li>
+													<h5>args: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5>
+												</li>
+											</ul>
+											<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]</span></h4>
+										</li>
+									</ul>
+								</li>
+							</ul>
+						</li>
+					</ul>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
+					<a name="makerecipes" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagConst">Const</span> make<wbr>Recipes</h3>
+					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
+						<li class="tsd-signature tsd-kind-icon">make<wbr>Recipes<span class="tsd-signature-symbol">(</span>call<span class="tsd-signature-symbol">: </span><a href="types.html#callfn" class="tsd-signature-type" data-tsd-kind="Type alias">CallFn</a>, on<span class="tsd-signature-symbol">: </span><a href="types.html#onfn" class="tsd-signature-type" data-tsd-kind="Type alias">OnFn</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<ul>
+									<li>Defined in commands/index.ts:47</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-parameters-title">Parameters</h4>
+							<ul class="tsd-parameters">
+								<li>
+									<h5>call: <a href="types.html#callfn" class="tsd-signature-type" data-tsd-kind="Type alias">CallFn</a></h5>
+								</li>
+								<li>
+									<h5>on: <a href="types.html#onfn" class="tsd-signature-type" data-tsd-kind="Type alias">OnFn</a></h5>
+								</li>
+							</ul>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4>
+						</li>
+					</ul>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
+					<a name="readmsg" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagConst">Const</span> read<wbr>Msg</h3>
+					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
+						<li class="tsd-signature tsd-kind-icon">read<wbr>Msg<span class="tsd-signature-symbol">(</span>data<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<ul>
+									<li>Defined in commands/index.ts:59</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-parameters-title">Parameters</h4>
+							<ul class="tsd-parameters">
+								<li>
+									<h5>data: <span class="tsd-signature-type">any</span></h5>
+								</li>
+							</ul>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4>
+						</li>
+					</ul>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
+					</li>
+					<li class="current tsd-kind-module">
+						<a href="commands.html">commands</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_add.html">commands/add</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_del.html">commands/del</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_get.html">commands/get</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_instances.html">commands/instances</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_notify.html">commands/notify</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_operate.html">commands/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_proto.html">commands/proto</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_set.html">commands/set</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_supported.html">commands/supported</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_util.html">commands/util</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="index.html">index</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="testy.html">testy</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="types.html">types</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="util.html">util</a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+					<li class=" tsd-kind-variable tsd-parent-kind-module">
+						<a href="commands.html#header" class="tsd-kind-icon">header</a>
+					</li>
+					<li class=" tsd-kind-variable tsd-parent-kind-module">
+						<a href="commands.html#rootmsg" class="tsd-kind-icon">root<wbr>Msg</a>
+					</li>
+					<li class=" tsd-kind-variable tsd-parent-kind-module">
+						<a href="commands.html#rootrecord" class="tsd-kind-icon">root<wbr>Record</a>
+					</li>
+					<li class=" tsd-kind-function tsd-parent-kind-module">
+						<a href="commands.html#decode" class="tsd-kind-icon">decode</a>
+					</li>
+					<li class=" tsd-kind-function tsd-parent-kind-module">
+						<a href="commands.html#decodeid" class="tsd-kind-icon">decode<wbr>Id</a>
+					</li>
+					<li class=" tsd-kind-function tsd-parent-kind-module">
+						<a href="commands.html#makeencode" class="tsd-kind-icon">make<wbr>Encode</a>
+					</li>
+					<li class=" tsd-kind-function tsd-parent-kind-module">
+						<a href="commands.html#makerecipes" class="tsd-kind-icon">make<wbr>Recipes</a>
+					</li>
+					<li class=" tsd-kind-function tsd-parent-kind-module">
+						<a href="commands.html#readmsg" class="tsd-kind-icon">read<wbr>Msg</a>
+					</li>
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
+				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
+				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/public/modules/commands_add.html b/public/modules/commands_add.html
new file mode 100644
index 0000000000000000000000000000000000000000..c0982434b56832edf09037f15c84dfaa764f39c3
--- /dev/null
+++ b/public/modules/commands_add.html
@@ -0,0 +1,196 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>commands/add | usp-js</title>
+	<meta name="description" content="Documentation for usp-js">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">usp-js</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../modules.html">usp-js</a>
+				</li>
+				<li>
+					<a href="commands_add.html">commands/add</a>
+				</li>
+			</ul>
+			<h1>Module commands/add</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Properties</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-property tsd-parent-kind-module"><a href="commands_add.html#default" class="tsd-kind-icon">default</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Properties</h2>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-module">
+					<a name="default" class="tsd-anchor"></a>
+					<h3>default</h3>
+					<div class="tsd-signature tsd-kind-icon">default<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a><span class="tsd-signature-symbol"> }</span></div>
+					<aside class="tsd-sources">
+					</aside>
+					<div class="tsd-type-declaration">
+						<h4>Type declaration</h4>
+						<ul class="tsd-parameters">
+							<li class="tsd-parameter">
+								<h5>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a></h5>
+							</li>
+						</ul>
+					</div>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands.html">commands</a>
+					</li>
+					<li class="current tsd-kind-module">
+						<a href="commands_add.html">commands/add</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_del.html">commands/del</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_get.html">commands/get</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_instances.html">commands/instances</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_notify.html">commands/notify</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_operate.html">commands/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_proto.html">commands/proto</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_set.html">commands/set</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_supported.html">commands/supported</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_util.html">commands/util</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="index.html">index</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="testy.html">testy</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="types.html">types</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="util.html">util</a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+					<li class=" tsd-kind-property tsd-parent-kind-module">
+						<a href="commands_add.html#default" class="tsd-kind-icon">default</a>
+					</li>
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
+				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
+				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/public/modules/commands_del.html b/public/modules/commands_del.html
new file mode 100644
index 0000000000000000000000000000000000000000..3c804fd016235a5cd2474aa671c0bc8d6f3c9e0d
--- /dev/null
+++ b/public/modules/commands_del.html
@@ -0,0 +1,196 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>commands/del | usp-js</title>
+	<meta name="description" content="Documentation for usp-js">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">usp-js</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../modules.html">usp-js</a>
+				</li>
+				<li>
+					<a href="commands_del.html">commands/del</a>
+				</li>
+			</ul>
+			<h1>Module commands/del</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Properties</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-property tsd-parent-kind-module"><a href="commands_del.html#default" class="tsd-kind-icon">default</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Properties</h2>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-module">
+					<a name="default" class="tsd-anchor"></a>
+					<h3>default</h3>
+					<div class="tsd-signature tsd-kind-icon">default<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a><span class="tsd-signature-symbol"> }</span></div>
+					<aside class="tsd-sources">
+					</aside>
+					<div class="tsd-type-declaration">
+						<h4>Type declaration</h4>
+						<ul class="tsd-parameters">
+							<li class="tsd-parameter">
+								<h5>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a></h5>
+							</li>
+						</ul>
+					</div>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands.html">commands</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_add.html">commands/add</a>
+					</li>
+					<li class="current tsd-kind-module">
+						<a href="commands_del.html">commands/del</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_get.html">commands/get</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_instances.html">commands/instances</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_notify.html">commands/notify</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_operate.html">commands/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_proto.html">commands/proto</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_set.html">commands/set</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_supported.html">commands/supported</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_util.html">commands/util</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="index.html">index</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="testy.html">testy</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="types.html">types</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="util.html">util</a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+					<li class=" tsd-kind-property tsd-parent-kind-module">
+						<a href="commands_del.html#default" class="tsd-kind-icon">default</a>
+					</li>
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
+				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
+				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/public/modules/commands_get.html b/public/modules/commands_get.html
new file mode 100644
index 0000000000000000000000000000000000000000..83ab846e9e9231f85b5ac13c305ece7fe6a6ed68
--- /dev/null
+++ b/public/modules/commands_get.html
@@ -0,0 +1,196 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>commands/get | usp-js</title>
+	<meta name="description" content="Documentation for usp-js">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">usp-js</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../modules.html">usp-js</a>
+				</li>
+				<li>
+					<a href="commands_get.html">commands/get</a>
+				</li>
+			</ul>
+			<h1>Module commands/get</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Properties</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-property tsd-parent-kind-module"><a href="commands_get.html#default" class="tsd-kind-icon">default</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Properties</h2>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-module">
+					<a name="default" class="tsd-anchor"></a>
+					<h3>default</h3>
+					<div class="tsd-signature tsd-kind-icon">default<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a><span class="tsd-signature-symbol"> }</span></div>
+					<aside class="tsd-sources">
+					</aside>
+					<div class="tsd-type-declaration">
+						<h4>Type declaration</h4>
+						<ul class="tsd-parameters">
+							<li class="tsd-parameter">
+								<h5>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a></h5>
+							</li>
+						</ul>
+					</div>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands.html">commands</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_add.html">commands/add</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_del.html">commands/del</a>
+					</li>
+					<li class="current tsd-kind-module">
+						<a href="commands_get.html">commands/get</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_instances.html">commands/instances</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_notify.html">commands/notify</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_operate.html">commands/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_proto.html">commands/proto</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_set.html">commands/set</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_supported.html">commands/supported</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_util.html">commands/util</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="index.html">index</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="testy.html">testy</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="types.html">types</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="util.html">util</a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+					<li class=" tsd-kind-property tsd-parent-kind-module">
+						<a href="commands_get.html#default" class="tsd-kind-icon">default</a>
+					</li>
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
+				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
+				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/public/modules/commands_instances.html b/public/modules/commands_instances.html
new file mode 100644
index 0000000000000000000000000000000000000000..c8b8addb43160bc8ed3c5c6d88459dbe9f9e9188
--- /dev/null
+++ b/public/modules/commands_instances.html
@@ -0,0 +1,196 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>commands/instances | usp-js</title>
+	<meta name="description" content="Documentation for usp-js">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">usp-js</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../modules.html">usp-js</a>
+				</li>
+				<li>
+					<a href="commands_instances.html">commands/instances</a>
+				</li>
+			</ul>
+			<h1>Module commands/instances</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Properties</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-property tsd-parent-kind-module"><a href="commands_instances.html#default" class="tsd-kind-icon">default</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Properties</h2>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-module">
+					<a name="default" class="tsd-anchor"></a>
+					<h3>default</h3>
+					<div class="tsd-signature tsd-kind-icon">default<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a><span class="tsd-signature-symbol"> }</span></div>
+					<aside class="tsd-sources">
+					</aside>
+					<div class="tsd-type-declaration">
+						<h4>Type declaration</h4>
+						<ul class="tsd-parameters">
+							<li class="tsd-parameter">
+								<h5>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a></h5>
+							</li>
+						</ul>
+					</div>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands.html">commands</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_add.html">commands/add</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_del.html">commands/del</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_get.html">commands/get</a>
+					</li>
+					<li class="current tsd-kind-module">
+						<a href="commands_instances.html">commands/instances</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_notify.html">commands/notify</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_operate.html">commands/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_proto.html">commands/proto</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_set.html">commands/set</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_supported.html">commands/supported</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_util.html">commands/util</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="index.html">index</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="testy.html">testy</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="types.html">types</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="util.html">util</a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+					<li class=" tsd-kind-property tsd-parent-kind-module">
+						<a href="commands_instances.html#default" class="tsd-kind-icon">default</a>
+					</li>
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
+				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
+				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/public/modules/commands_notify.html b/public/modules/commands_notify.html
new file mode 100644
index 0000000000000000000000000000000000000000..4932ae3036122daed6f4280984b07f770cd2cea7
--- /dev/null
+++ b/public/modules/commands_notify.html
@@ -0,0 +1,213 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>commands/notify | usp-js</title>
+	<meta name="description" content="Documentation for usp-js">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">usp-js</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../modules.html">usp-js</a>
+				</li>
+				<li>
+					<a href="commands_notify.html">commands/notify</a>
+				</li>
+			</ul>
+			<h1>Module commands/notify</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Properties</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-property tsd-parent-kind-module"><a href="commands_notify.html#default" class="tsd-kind-icon">default</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Properties</h2>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-module">
+					<a name="default" class="tsd-anchor"></a>
+					<h3>default</h3>
+					<div class="tsd-signature tsd-kind-icon">default<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a><span class="tsd-signature-symbol">; </span>make<span class="tsd-signature-symbol">: </span><a href="types.html#makefn" class="tsd-signature-type" data-tsd-kind="Type alias">MakeFn</a><span class="tsd-signature-symbol">; </span>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>trigger<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> }</span></div>
+					<aside class="tsd-sources">
+					</aside>
+					<div class="tsd-type-declaration">
+						<h4>Type declaration</h4>
+						<ul class="tsd-parameters">
+							<li class="tsd-parameter">
+								<h5>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>make<span class="tsd-signature-symbol">: </span><a href="types.html#makefn" class="tsd-signature-type" data-tsd-kind="Type alias">MakeFn</a></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>trigger<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></h5>
+								<ul class="tsd-parameters">
+									<li class="tsd-parameter">
+										<h5>decode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
+									</li>
+									<li class="tsd-parameter">
+										<h5>encode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
+									</li>
+								</ul>
+							</li>
+						</ul>
+					</div>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands.html">commands</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_add.html">commands/add</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_del.html">commands/del</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_get.html">commands/get</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_instances.html">commands/instances</a>
+					</li>
+					<li class="current tsd-kind-module">
+						<a href="commands_notify.html">commands/notify</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_operate.html">commands/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_proto.html">commands/proto</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_set.html">commands/set</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_supported.html">commands/supported</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_util.html">commands/util</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="index.html">index</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="testy.html">testy</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="types.html">types</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="util.html">util</a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+					<li class=" tsd-kind-property tsd-parent-kind-module">
+						<a href="commands_notify.html#default" class="tsd-kind-icon">default</a>
+					</li>
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
+				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
+				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/public/modules/commands_operate.html b/public/modules/commands_operate.html
new file mode 100644
index 0000000000000000000000000000000000000000..72c003a15f319c60c738e732ec325833a59a141a
--- /dev/null
+++ b/public/modules/commands_operate.html
@@ -0,0 +1,196 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>commands/operate | usp-js</title>
+	<meta name="description" content="Documentation for usp-js">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">usp-js</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../modules.html">usp-js</a>
+				</li>
+				<li>
+					<a href="commands_operate.html">commands/operate</a>
+				</li>
+			</ul>
+			<h1>Module commands/operate</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Properties</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-property tsd-parent-kind-module"><a href="commands_operate.html#default" class="tsd-kind-icon">default</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Properties</h2>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-module">
+					<a name="default" class="tsd-anchor"></a>
+					<h3>default</h3>
+					<div class="tsd-signature tsd-kind-icon">default<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a><span class="tsd-signature-symbol"> }</span></div>
+					<aside class="tsd-sources">
+					</aside>
+					<div class="tsd-type-declaration">
+						<h4>Type declaration</h4>
+						<ul class="tsd-parameters">
+							<li class="tsd-parameter">
+								<h5>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a></h5>
+							</li>
+						</ul>
+					</div>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands.html">commands</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_add.html">commands/add</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_del.html">commands/del</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_get.html">commands/get</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_instances.html">commands/instances</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_notify.html">commands/notify</a>
+					</li>
+					<li class="current tsd-kind-module">
+						<a href="commands_operate.html">commands/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_proto.html">commands/proto</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_set.html">commands/set</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_supported.html">commands/supported</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_util.html">commands/util</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="index.html">index</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="testy.html">testy</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="types.html">types</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="util.html">util</a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+					<li class=" tsd-kind-property tsd-parent-kind-module">
+						<a href="commands_operate.html#default" class="tsd-kind-icon">default</a>
+					</li>
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
+				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
+				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/public/modules/commands_proto.html b/public/modules/commands_proto.html
new file mode 100644
index 0000000000000000000000000000000000000000..c3ae7cb8c36f366d992d8399f742377ff151b11c
--- /dev/null
+++ b/public/modules/commands_proto.html
@@ -0,0 +1,196 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>commands/proto | usp-js</title>
+	<meta name="description" content="Documentation for usp-js">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">usp-js</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../modules.html">usp-js</a>
+				</li>
+				<li>
+					<a href="commands_proto.html">commands/proto</a>
+				</li>
+			</ul>
+			<h1>Module commands/proto</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Properties</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-property tsd-parent-kind-module"><a href="commands_proto.html#default" class="tsd-kind-icon">default</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Properties</h2>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-module">
+					<a name="default" class="tsd-anchor"></a>
+					<h3>default</h3>
+					<div class="tsd-signature tsd-kind-icon">default<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a><span class="tsd-signature-symbol"> }</span></div>
+					<aside class="tsd-sources">
+					</aside>
+					<div class="tsd-type-declaration">
+						<h4>Type declaration</h4>
+						<ul class="tsd-parameters">
+							<li class="tsd-parameter">
+								<h5>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a></h5>
+							</li>
+						</ul>
+					</div>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands.html">commands</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_add.html">commands/add</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_del.html">commands/del</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_get.html">commands/get</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_instances.html">commands/instances</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_notify.html">commands/notify</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_operate.html">commands/operate</a>
+					</li>
+					<li class="current tsd-kind-module">
+						<a href="commands_proto.html">commands/proto</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_set.html">commands/set</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_supported.html">commands/supported</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_util.html">commands/util</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="index.html">index</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="testy.html">testy</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="types.html">types</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="util.html">util</a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+					<li class=" tsd-kind-property tsd-parent-kind-module">
+						<a href="commands_proto.html#default" class="tsd-kind-icon">default</a>
+					</li>
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
+				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
+				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/public/modules/_specs_usp_record_1_1_.html b/public/modules/commands_recipes_operate.html
similarity index 55%
rename from public/modules/_specs_usp_record_1_1_.html
rename to public/modules/commands_recipes_operate.html
index 8791fa9cb16f0f51e0b281c3ac10a33dcb8fe393..b451df2cd1af55d81558b3b0979fba04b3fab471 100644
--- a/public/modules/_specs_usp_record_1_1_.html
+++ b/public/modules/commands_recipes_operate.html
@@ -3,10 +3,11 @@
 <head>
 	<meta charset="utf-8">
 	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;specs/usp-record-1-1&quot; | usp-js</title>
+	<title>commands/recipes/operate | usp-js</title>
 	<meta name="description" content="Documentation for usp-js">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
 </head>
 <body>
 <header>
@@ -40,8 +41,6 @@
 							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
 							<input type="checkbox" id="tsd-filter-externals" checked />
 							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
 						</div>
 					</div>
 					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
@@ -53,93 +52,121 @@
 		<div class="container">
 			<ul class="tsd-breadcrumb">
 				<li>
-					<a href="../globals.html">Globals</a>
+					<a href="../modules.html">usp-js</a>
 				</li>
 				<li>
-					<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-record-1-1&quot;</a>
+					<a href="commands_recipes_operate.html">commands/recipes/operate</a>
 				</li>
 			</ul>
-			<h1>Module &quot;specs/usp-record-1-1&quot;</h1>
+			<h1>Module commands/recipes/operate</h1>
 		</div>
 	</div>
 </header>
 <div class="container container-main">
 	<div class="row">
 		<div class="col-8 col-content">
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Properties</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-property tsd-parent-kind-module"><a href="commands_recipes_operate.html#default" class="tsd-kind-icon">default</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Properties</h2>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-module">
+					<a name="default" class="tsd-anchor"></a>
+					<h3>default</h3>
+					<div class="tsd-signature tsd-kind-icon">default<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>make<span class="tsd-signature-symbol">: </span><a href="types.html#makefn" class="tsd-signature-type" data-tsd-kind="Type alias">MakeFn</a><span class="tsd-signature-symbol">; </span>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></div>
+					<aside class="tsd-sources">
+					</aside>
+					<div class="tsd-type-declaration">
+						<h4>Type declaration</h4>
+						<ul class="tsd-parameters">
+							<li class="tsd-parameter">
+								<h5>make<span class="tsd-signature-symbol">: </span><a href="types.html#makefn" class="tsd-signature-type" data-tsd-kind="Type alias">MakeFn</a></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
+							</li>
+						</ul>
+					</div>
+				</section>
+			</section>
 		</div>
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 			<nav class="tsd-navigation primary">
 				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
+						<a href="commands.html">commands</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
+						<a href="commands_add.html">commands/add</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
+						<a href="commands_del.html">commands/del</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
+						<a href="commands_get.html">commands/get</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
+						<a href="commands_instances.html">commands/instances</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
+						<a href="commands_notify.html">commands/notify</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
+						<a href="commands_operate.html">commands/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
+						<a href="commands_proto.html">commands/proto</a>
 					</li>
-					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
+					<li class="current tsd-kind-module">
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
+						<a href="commands_set.html">commands/set</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
+						<a href="commands_supported.html">commands/supported</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
+						<a href="commands_util.html">commands/util</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
+						<a href="index.html">index</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
+						<a href="testy.html">testy</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
+						<a href="types.html">types</a>
 					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class="current tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
+					<li class=" tsd-kind-module">
+						<a href="util.html">util</a>
 					</li>
 				</ul>
 			</nav>
 			<nav class="tsd-navigation secondary menu-sticky">
 				<ul class="before-current">
+					<li class=" tsd-kind-property tsd-parent-kind-module">
+						<a href="commands_recipes_operate.html#default" class="tsd-kind-icon">default</a>
+					</li>
 				</ul>
 			</nav>
 		</div>
@@ -150,7 +177,6 @@
 		<h2>Legend</h2>
 		<div class="tsd-legend-group">
 			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
 				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
 				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
 				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
diff --git a/public/modules/commands_recipes_resolve.html b/public/modules/commands_recipes_resolve.html
new file mode 100644
index 0000000000000000000000000000000000000000..2554f15e7d4681aac2231e13802ad645c8ea0b92
--- /dev/null
+++ b/public/modules/commands_recipes_resolve.html
@@ -0,0 +1,196 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>commands/recipes/resolve | usp-js</title>
+	<meta name="description" content="Documentation for usp-js">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">usp-js</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../modules.html">usp-js</a>
+				</li>
+				<li>
+					<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
+				</li>
+			</ul>
+			<h1>Module commands/recipes/resolve</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Properties</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-property tsd-parent-kind-module"><a href="commands_recipes_resolve.html#default" class="tsd-kind-icon">default</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Properties</h2>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-module">
+					<a name="default" class="tsd-anchor"></a>
+					<h3>default</h3>
+					<div class="tsd-signature tsd-kind-icon">default<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>make<span class="tsd-signature-symbol">: </span><a href="types.html#makerecipefn" class="tsd-signature-type" data-tsd-kind="Type alias">MakeRecipeFn</a><span class="tsd-signature-symbol">; </span>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></div>
+					<aside class="tsd-sources">
+					</aside>
+					<div class="tsd-type-declaration">
+						<h4>Type declaration</h4>
+						<ul class="tsd-parameters">
+							<li class="tsd-parameter">
+								<h5>make<span class="tsd-signature-symbol">: </span><a href="types.html#makerecipefn" class="tsd-signature-type" data-tsd-kind="Type alias">MakeRecipeFn</a></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
+							</li>
+						</ul>
+					</div>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands.html">commands</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_add.html">commands/add</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_del.html">commands/del</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_get.html">commands/get</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_instances.html">commands/instances</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_notify.html">commands/notify</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_operate.html">commands/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_proto.html">commands/proto</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
+					</li>
+					<li class="current tsd-kind-module">
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_set.html">commands/set</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_supported.html">commands/supported</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_util.html">commands/util</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="index.html">index</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="testy.html">testy</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="types.html">types</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="util.html">util</a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+					<li class=" tsd-kind-property tsd-parent-kind-module">
+						<a href="commands_recipes_resolve.html#default" class="tsd-kind-icon">default</a>
+					</li>
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
+				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
+				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/public/modules/commands_recipes_subscribe.html b/public/modules/commands_recipes_subscribe.html
new file mode 100644
index 0000000000000000000000000000000000000000..19612be13e0a9dbf920d0029080bf34b887b8fb8
--- /dev/null
+++ b/public/modules/commands_recipes_subscribe.html
@@ -0,0 +1,196 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>commands/recipes/subscribe | usp-js</title>
+	<meta name="description" content="Documentation for usp-js">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">usp-js</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../modules.html">usp-js</a>
+				</li>
+				<li>
+					<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
+				</li>
+			</ul>
+			<h1>Module commands/recipes/subscribe</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Properties</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-property tsd-parent-kind-module"><a href="commands_recipes_subscribe.html#default" class="tsd-kind-icon">default</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Properties</h2>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-module">
+					<a name="default" class="tsd-anchor"></a>
+					<h3>default</h3>
+					<div class="tsd-signature tsd-kind-icon">default<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>make<span class="tsd-signature-symbol">: </span><a href="types.html#makefn" class="tsd-signature-type" data-tsd-kind="Type alias">MakeFn</a><span class="tsd-signature-symbol">; </span>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></div>
+					<aside class="tsd-sources">
+					</aside>
+					<div class="tsd-type-declaration">
+						<h4>Type declaration</h4>
+						<ul class="tsd-parameters">
+							<li class="tsd-parameter">
+								<h5>make<span class="tsd-signature-symbol">: </span><a href="types.html#makefn" class="tsd-signature-type" data-tsd-kind="Type alias">MakeFn</a></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
+							</li>
+						</ul>
+					</div>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands.html">commands</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_add.html">commands/add</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_del.html">commands/del</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_get.html">commands/get</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_instances.html">commands/instances</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_notify.html">commands/notify</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_operate.html">commands/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_proto.html">commands/proto</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
+					</li>
+					<li class="current tsd-kind-module">
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_set.html">commands/set</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_supported.html">commands/supported</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_util.html">commands/util</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="index.html">index</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="testy.html">testy</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="types.html">types</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="util.html">util</a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+					<li class=" tsd-kind-property tsd-parent-kind-module">
+						<a href="commands_recipes_subscribe.html#default" class="tsd-kind-icon">default</a>
+					</li>
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
+				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
+				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/public/modules/commands_set.html b/public/modules/commands_set.html
new file mode 100644
index 0000000000000000000000000000000000000000..b15feb7e346acad0074f57a1e35a98ba2ed5ff41
--- /dev/null
+++ b/public/modules/commands_set.html
@@ -0,0 +1,196 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>commands/set | usp-js</title>
+	<meta name="description" content="Documentation for usp-js">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">usp-js</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../modules.html">usp-js</a>
+				</li>
+				<li>
+					<a href="commands_set.html">commands/set</a>
+				</li>
+			</ul>
+			<h1>Module commands/set</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Properties</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-property tsd-parent-kind-module"><a href="commands_set.html#default" class="tsd-kind-icon">default</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Properties</h2>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-module">
+					<a name="default" class="tsd-anchor"></a>
+					<h3>default</h3>
+					<div class="tsd-signature tsd-kind-icon">default<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a><span class="tsd-signature-symbol"> }</span></div>
+					<aside class="tsd-sources">
+					</aside>
+					<div class="tsd-type-declaration">
+						<h4>Type declaration</h4>
+						<ul class="tsd-parameters">
+							<li class="tsd-parameter">
+								<h5>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a></h5>
+							</li>
+						</ul>
+					</div>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands.html">commands</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_add.html">commands/add</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_del.html">commands/del</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_get.html">commands/get</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_instances.html">commands/instances</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_notify.html">commands/notify</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_operate.html">commands/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_proto.html">commands/proto</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
+					</li>
+					<li class="current tsd-kind-module">
+						<a href="commands_set.html">commands/set</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_supported.html">commands/supported</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_util.html">commands/util</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="index.html">index</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="testy.html">testy</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="types.html">types</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="util.html">util</a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+					<li class=" tsd-kind-property tsd-parent-kind-module">
+						<a href="commands_set.html#default" class="tsd-kind-icon">default</a>
+					</li>
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
+				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
+				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/public/modules/commands_supported.html b/public/modules/commands_supported.html
new file mode 100644
index 0000000000000000000000000000000000000000..d317feed888678f954c2754027bf3590cc1c6f12
--- /dev/null
+++ b/public/modules/commands_supported.html
@@ -0,0 +1,196 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>commands/supported | usp-js</title>
+	<meta name="description" content="Documentation for usp-js">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">usp-js</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../modules.html">usp-js</a>
+				</li>
+				<li>
+					<a href="commands_supported.html">commands/supported</a>
+				</li>
+			</ul>
+			<h1>Module commands/supported</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Properties</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-property tsd-parent-kind-module"><a href="commands_supported.html#default" class="tsd-kind-icon">default</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Properties</h2>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-module">
+					<a name="default" class="tsd-anchor"></a>
+					<h3>default</h3>
+					<div class="tsd-signature tsd-kind-icon">default<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a><span class="tsd-signature-symbol"> }</span></div>
+					<aside class="tsd-sources">
+					</aside>
+					<div class="tsd-type-declaration">
+						<h4>Type declaration</h4>
+						<ul class="tsd-parameters">
+							<li class="tsd-parameter">
+								<h5>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a></h5>
+							</li>
+						</ul>
+					</div>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands.html">commands</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_add.html">commands/add</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_del.html">commands/del</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_get.html">commands/get</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_instances.html">commands/instances</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_notify.html">commands/notify</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_operate.html">commands/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_proto.html">commands/proto</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_set.html">commands/set</a>
+					</li>
+					<li class="current tsd-kind-module">
+						<a href="commands_supported.html">commands/supported</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_util.html">commands/util</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="index.html">index</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="testy.html">testy</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="types.html">types</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="util.html">util</a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+					<li class=" tsd-kind-property tsd-parent-kind-module">
+						<a href="commands_supported.html#default" class="tsd-kind-icon">default</a>
+					</li>
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
+				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
+				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/public/modules/_commands_util_.html b/public/modules/commands_util.html
similarity index 56%
rename from public/modules/_commands_util_.html
rename to public/modules/commands_util.html
index 2e0edb0bb63433c27a2813a1e79c9350a5cfc352..e7daddaabe27177ac13f607415b2eca19e63485e 100644
--- a/public/modules/_commands_util_.html
+++ b/public/modules/commands_util.html
@@ -3,10 +3,11 @@
 <head>
 	<meta charset="utf-8">
 	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;commands/util&quot; | usp-js</title>
+	<title>commands/util | usp-js</title>
 	<meta name="description" content="Documentation for usp-js">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
 </head>
 <body>
 <header>
@@ -40,8 +41,6 @@
 							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
 							<input type="checkbox" id="tsd-filter-externals" checked />
 							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
 						</div>
 					</div>
 					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
@@ -53,13 +52,13 @@
 		<div class="container">
 			<ul class="tsd-breadcrumb">
 				<li>
-					<a href="../globals.html">Globals</a>
+					<a href="../modules.html">usp-js</a>
 				</li>
 				<li>
-					<a href="_commands_util_.html">&quot;commands/util&quot;</a>
+					<a href="commands_util.html">commands/util</a>
 				</li>
 			</ul>
-			<h1>Module &quot;commands/util&quot;</h1>
+			<h1>Module commands/util</h1>
 		</div>
 	</div>
 </header>
@@ -70,89 +69,30 @@
 				<h2>Index</h2>
 				<section class="tsd-panel tsd-index-panel">
 					<div class="tsd-index-content">
-						<section class="tsd-index-section tsd-is-not-exported">
-							<h3>Variables</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_util_.html#digitdotre" class="tsd-kind-icon">digit<wbr>Dot<wbr>Re</a></li>
-								<li class="tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_util_.html#digitre" class="tsd-kind-icon">digit<wbr>Re</a></li>
-							</ul>
-						</section>
 						<section class="tsd-index-section ">
 							<h3>Functions</h3>
 							<ul class="tsd-index-list">
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_util_.html#_searchall" class="tsd-kind-icon">_search<wbr>All</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_commands_util_.html#extractcommand" class="tsd-kind-icon">extract<wbr>Command</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_util_.html#firstisindex" class="tsd-kind-icon">first<wbr>IsIndex</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module tsd-is-not-exported"><a href="_commands_util_.html#isdigit" class="tsd-kind-icon">is<wbr>Digit</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_commands_util_.html#makebuffer" class="tsd-kind-icon">make<wbr>Buffer</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_commands_util_.html#search" class="tsd-kind-icon">search</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_commands_util_.html#searchall" class="tsd-kind-icon">search<wbr>All</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_commands_util_.html#searchparent" class="tsd-kind-icon">search<wbr>Parent</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_commands_util_.html#unflatten" class="tsd-kind-icon">unflatten</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_commands_util_.html#uniq" class="tsd-kind-icon">uniq</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_commands_util_.html#unwraparray" class="tsd-kind-icon">unwrap<wbr>Array</a></li>
-								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_commands_util_.html#unwrapobject" class="tsd-kind-icon">unwrap<wbr>Object</a></li>
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="commands_util.html#extractcommand" class="tsd-kind-icon">extract<wbr>Command</a></li>
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="commands_util.html#makebuffer" class="tsd-kind-icon">make<wbr>Buffer</a></li>
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="commands_util.html#search" class="tsd-kind-icon">search</a></li>
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="commands_util.html#searchall" class="tsd-kind-icon">search<wbr>All</a></li>
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="commands_util.html#searchparent" class="tsd-kind-icon">search<wbr>Parent</a></li>
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="commands_util.html#unflatten" class="tsd-kind-icon">unflatten</a></li>
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="commands_util.html#uniq" class="tsd-kind-icon">uniq</a></li>
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="commands_util.html#unwraparray" class="tsd-kind-icon">unwrap<wbr>Array</a></li>
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="commands_util.html#unwrapobject" class="tsd-kind-icon">unwrap<wbr>Object</a></li>
 							</ul>
 						</section>
 					</div>
 				</section>
 			</section>
-			<section class="tsd-panel-group tsd-member-group tsd-is-not-exported">
-				<h2>Variables</h2>
-				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-					<a name="digitdotre" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> digit<wbr>Dot<wbr>Re</h3>
-					<div class="tsd-signature tsd-kind-icon">digit<wbr>Dot<wbr>Re<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">RegExp</span><span class="tsd-signature-symbol"> = /^\d+\..*$/</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in commands/util.ts:4</li>
-						</ul>
-					</aside>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-					<a name="digitre" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> digit<wbr>Re</h3>
-					<div class="tsd-signature tsd-kind-icon">digit<wbr>Re<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">RegExp</span><span class="tsd-signature-symbol"> = /^\d+$/</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in commands/util.ts:3</li>
-						</ul>
-					</aside>
-				</section>
-			</section>
 			<section class="tsd-panel-group tsd-member-group ">
 				<h2>Functions</h2>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="_searchall" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> _search<wbr>All</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">_search<wbr>All<span class="tsd-signature-symbol">(</span>obj<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span>, key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/util.ts:47</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>obj: <span class="tsd-signature-type">any</span></h5>
-								</li>
-								<li>
-									<h5>key: <span class="tsd-signature-type">string</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h4>
-						</li>
-					</ul>
-				</section>
 				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
 					<a name="extractcommand" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagConst">Const</span> extract<wbr>Command</h3>
 					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
-						<li class="tsd-signature tsd-kind-icon">extract<wbr>Command<span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></li>
+						<li class="tsd-signature tsd-kind-icon">extract<wbr>Command<span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
@@ -172,53 +112,7 @@
 									</ul>
 								</li>
 							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="firstisindex" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> first<wbr>IsIndex</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">first<wbr>IsIndex<span class="tsd-signature-symbol">(</span>s<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/util.ts:6</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>s: <span class="tsd-signature-type">string</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
-						</li>
-					</ul>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-					<a name="isdigit" class="tsd-anchor"></a>
-					<h3><span class="tsd-flag ts-flagConst">Const</span> is<wbr>Digit</h3>
-					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<li class="tsd-signature tsd-kind-icon">is<wbr>Digit<span class="tsd-signature-symbol">(</span>v<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
-					</ul>
-					<ul class="tsd-descriptions">
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in commands/util.ts:5</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
-								<li>
-									<h5>v: <span class="tsd-signature-type">any</span></h5>
-								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h4>
 						</li>
 					</ul>
 				</section>
@@ -226,7 +120,7 @@
 					<a name="makebuffer" class="tsd-anchor"></a>
 					<h3>make<wbr>Buffer</h3>
 					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
-						<li class="tsd-signature tsd-kind-icon">make<wbr>Buffer<span class="tsd-signature-symbol">(</span>rootRecord<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Root</span>, payload<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span>, options<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li>
+						<li class="tsd-signature tsd-kind-icon">make<wbr>Buffer<span class="tsd-signature-symbol">(</span>rootRecord<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">protobuf.Root</span>, payload<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span>, options<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
@@ -238,7 +132,7 @@
 							<h4 class="tsd-parameters-title">Parameters</h4>
 							<ul class="tsd-parameters">
 								<li>
-									<h5>rootRecord: <span class="tsd-signature-type">Root</span></h5>
+									<h5>rootRecord: <span class="tsd-signature-type">protobuf.Root</span></h5>
 								</li>
 								<li>
 									<h5>payload: <span class="tsd-signature-type">any</span></h5>
@@ -307,7 +201,7 @@
 					<a name="searchparent" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagConst">Const</span> search<wbr>Parent</h3>
 					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
-						<li class="tsd-signature tsd-kind-icon">search<wbr>Parent<span class="tsd-signature-symbol">(</span>obj<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span>, key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></li>
+						<li class="tsd-signature tsd-kind-icon">search<wbr>Parent<span class="tsd-signature-symbol">(</span>obj<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span>, key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
@@ -325,7 +219,7 @@
 									<h5>key: <span class="tsd-signature-type">string</span></h5>
 								</li>
 							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></h4>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4>
 						</li>
 					</ul>
 				</section>
@@ -358,7 +252,7 @@
 					<a name="uniq" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagConst">Const</span> uniq</h3>
 					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
-						<li class="tsd-signature tsd-kind-icon">uniq<span class="tsd-signature-symbol">(</span>initial<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
+						<li class="tsd-signature tsd-kind-icon">uniq<span class="tsd-signature-symbol">(</span>initial<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
@@ -370,7 +264,7 @@
 							<h4 class="tsd-parameters-title">Parameters</h4>
 							<ul class="tsd-parameters">
 								<li>
-									<h5><span class="tsd-flag ts-flagOptional">Optional</span> initial: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> initial: <span class="tsd-signature-type">string</span></h5>
 								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
@@ -438,117 +332,93 @@
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 			<nav class="tsd-navigation primary">
 				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
+						<a href="commands.html">commands</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
+						<a href="commands_add.html">commands/add</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
+						<a href="commands_del.html">commands/del</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
+						<a href="commands_get.html">commands/get</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
+						<a href="commands_instances.html">commands/instances</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
+						<a href="commands_notify.html">commands/notify</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
+						<a href="commands_operate.html">commands/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
+						<a href="commands_proto.html">commands/proto</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
+						<a href="commands_set.html">commands/set</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
+						<a href="commands_supported.html">commands/supported</a>
 					</li>
 					<li class="current tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
+						<a href="commands_util.html">commands/util</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
+						<a href="index.html">index</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
+						<a href="testy.html">testy</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
+						<a href="types.html">types</a>
 					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
+					<li class=" tsd-kind-module">
+						<a href="util.html">util</a>
 					</li>
 				</ul>
 			</nav>
 			<nav class="tsd-navigation secondary menu-sticky">
 				<ul class="before-current">
-					<li class=" tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_util_.html#digitdotre" class="tsd-kind-icon">digit<wbr>Dot<wbr>Re</a>
-					</li>
-					<li class=" tsd-kind-variable tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_util_.html#digitre" class="tsd-kind-icon">digit<wbr>Re</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_util_.html#_searchall" class="tsd-kind-icon">_search<wbr>All</a>
-					</li>
 					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_commands_util_.html#extractcommand" class="tsd-kind-icon">extract<wbr>Command</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_util_.html#firstisindex" class="tsd-kind-icon">first<wbr>IsIndex</a>
-					</li>
-					<li class=" tsd-kind-function tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_commands_util_.html#isdigit" class="tsd-kind-icon">is<wbr>Digit</a>
+						<a href="commands_util.html#extractcommand" class="tsd-kind-icon">extract<wbr>Command</a>
 					</li>
 					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_commands_util_.html#makebuffer" class="tsd-kind-icon">make<wbr>Buffer</a>
+						<a href="commands_util.html#makebuffer" class="tsd-kind-icon">make<wbr>Buffer</a>
 					</li>
 					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_commands_util_.html#search" class="tsd-kind-icon">search</a>
+						<a href="commands_util.html#search" class="tsd-kind-icon">search</a>
 					</li>
 					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_commands_util_.html#searchall" class="tsd-kind-icon">search<wbr>All</a>
+						<a href="commands_util.html#searchall" class="tsd-kind-icon">search<wbr>All</a>
 					</li>
 					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_commands_util_.html#searchparent" class="tsd-kind-icon">search<wbr>Parent</a>
+						<a href="commands_util.html#searchparent" class="tsd-kind-icon">search<wbr>Parent</a>
 					</li>
 					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_commands_util_.html#unflatten" class="tsd-kind-icon">unflatten</a>
+						<a href="commands_util.html#unflatten" class="tsd-kind-icon">unflatten</a>
 					</li>
 					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_commands_util_.html#uniq" class="tsd-kind-icon">uniq</a>
+						<a href="commands_util.html#uniq" class="tsd-kind-icon">uniq</a>
 					</li>
 					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_commands_util_.html#unwraparray" class="tsd-kind-icon">unwrap<wbr>Array</a>
+						<a href="commands_util.html#unwraparray" class="tsd-kind-icon">unwrap<wbr>Array</a>
 					</li>
 					<li class=" tsd-kind-function tsd-parent-kind-module">
-						<a href="_commands_util_.html#unwrapobject" class="tsd-kind-icon">unwrap<wbr>Object</a>
+						<a href="commands_util.html#unwrapobject" class="tsd-kind-icon">unwrap<wbr>Object</a>
 					</li>
 				</ul>
 			</nav>
@@ -560,7 +430,6 @@
 		<h2>Legend</h2>
 		<div class="tsd-legend-group">
 			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
 				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
 				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
 				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
diff --git a/public/modules/index.html b/public/modules/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..c1f4d08dfa38041d84a10a6f0091baebee57617a
--- /dev/null
+++ b/public/modules/index.html
@@ -0,0 +1,213 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>index | usp-js</title>
+	<meta name="description" content="Documentation for usp-js">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">usp-js</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../modules.html">usp-js</a>
+				</li>
+				<li>
+					<a href="index.html">index</a>
+				</li>
+			</ul>
+			<h1>Module index</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Functions</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="index.html#default" class="tsd-kind-icon">default</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Functions</h2>
+				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
+					<a name="default" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagConst">Const</span> default</h3>
+					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
+						<li class="tsd-signature tsd-kind-icon">default<span class="tsd-signature-symbol">(</span>options<span class="tsd-signature-symbol">: </span><a href="types.html#connectionoptions" class="tsd-signature-type" data-tsd-kind="Type alias">ConnectionOptions</a>, events<span class="tsd-signature-symbol">?: </span><a href="../interfaces/types.connectionevents.html" class="tsd-signature-type" data-tsd-kind="Interface">ConnectionEvents</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/types.usp.html" class="tsd-signature-type" data-tsd-kind="Interface">USP</a><span class="tsd-signature-symbol">&gt;</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<ul>
+									<li>Defined in index.ts:40</li>
+								</ul>
+							</aside>
+							<div class="tsd-comment tsd-typography">
+								<div class="lead">
+									<p>Connect to device</p>
+								</div>
+							</div>
+							<h4 class="tsd-parameters-title">Parameters</h4>
+							<ul class="tsd-parameters">
+								<li>
+									<h5>options: <a href="types.html#connectionoptions" class="tsd-signature-type" data-tsd-kind="Type alias">ConnectionOptions</a></h5>
+								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> events: <a href="../interfaces/types.connectionevents.html" class="tsd-signature-type" data-tsd-kind="Interface">ConnectionEvents</a></h5>
+									<div class="tsd-comment tsd-typography">
+										<p>Optional event handlers</p>
+									</div>
+								</li>
+							</ul>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/types.usp.html" class="tsd-signature-type" data-tsd-kind="Interface">USP</a><span class="tsd-signature-symbol">&gt;</span></h4>
+							<p>A set of functions for interacting with the device</p>
+						</li>
+					</ul>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands.html">commands</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_add.html">commands/add</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_del.html">commands/del</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_get.html">commands/get</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_instances.html">commands/instances</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_notify.html">commands/notify</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_operate.html">commands/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_proto.html">commands/proto</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_set.html">commands/set</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_supported.html">commands/supported</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_util.html">commands/util</a>
+					</li>
+					<li class="current tsd-kind-module">
+						<a href="index.html">index</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="testy.html">testy</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="types.html">types</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="util.html">util</a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+					<li class=" tsd-kind-function tsd-parent-kind-module">
+						<a href="index.html#default" class="tsd-kind-icon">default</a>
+					</li>
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
+				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
+				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/public/modules/_specs_usp_msg_1_1_.html b/public/modules/testy.html
similarity index 64%
rename from public/modules/_specs_usp_msg_1_1_.html
rename to public/modules/testy.html
index 3300536df4392b23f03d27f24522c69ab482d652..4202ad9454b0f2490e1783431f63a9bf6c02c8ee 100644
--- a/public/modules/_specs_usp_msg_1_1_.html
+++ b/public/modules/testy.html
@@ -3,10 +3,11 @@
 <head>
 	<meta charset="utf-8">
 	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;specs/usp-msg-1-1&quot; | usp-js</title>
+	<title>testy | usp-js</title>
 	<meta name="description" content="Documentation for usp-js">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
 </head>
 <body>
 <header>
@@ -40,8 +41,6 @@
 							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
 							<input type="checkbox" id="tsd-filter-externals" checked />
 							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
 						</div>
 					</div>
 					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
@@ -53,13 +52,13 @@
 		<div class="container">
 			<ul class="tsd-breadcrumb">
 				<li>
-					<a href="../globals.html">Globals</a>
+					<a href="../modules.html">usp-js</a>
 				</li>
 				<li>
-					<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-msg-1-1&quot;</a>
+					<a href="testy.html">testy</a>
 				</li>
 			</ul>
-			<h1>Module &quot;specs/usp-msg-1-1&quot;</h1>
+			<h1>Module testy</h1>
 		</div>
 	</div>
 </header>
@@ -70,71 +69,62 @@
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 			<nav class="tsd-navigation primary">
 				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
+						<a href="commands.html">commands</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
+						<a href="commands_add.html">commands/add</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
+						<a href="commands_del.html">commands/del</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
+						<a href="commands_get.html">commands/get</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
+						<a href="commands_instances.html">commands/instances</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
+						<a href="commands_notify.html">commands/notify</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
+						<a href="commands_operate.html">commands/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
+						<a href="commands_proto.html">commands/proto</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
+						<a href="commands_set.html">commands/set</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
+						<a href="commands_supported.html">commands/supported</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
+						<a href="commands_util.html">commands/util</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
+						<a href="index.html">index</a>
 					</li>
-					<li class=" tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
+					<li class="current tsd-kind-module">
+						<a href="testy.html">testy</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
+						<a href="types.html">types</a>
 					</li>
-					<li class="current tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
+					<li class=" tsd-kind-module">
+						<a href="util.html">util</a>
 					</li>
 				</ul>
 			</nav>
@@ -150,7 +140,6 @@
 		<h2>Legend</h2>
 		<div class="tsd-legend-group">
 			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
 				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
 				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
 				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
diff --git a/public/modules/_types_.html b/public/modules/types.html
similarity index 65%
rename from public/modules/_types_.html
rename to public/modules/types.html
index 3611c647bb1f45cf293d7b9c11111d2a126aa8c4..9ee1971d57ecb0e4e0b48df68454cb1f52552c7d 100644
--- a/public/modules/_types_.html
+++ b/public/modules/types.html
@@ -3,10 +3,11 @@
 <head>
 	<meta charset="utf-8">
 	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>&quot;types&quot; | usp-js</title>
+	<title>types | usp-js</title>
 	<meta name="description" content="Documentation for usp-js">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
 </head>
 <body>
 <header>
@@ -40,8 +41,6 @@
 							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
 							<input type="checkbox" id="tsd-filter-externals" checked />
 							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
-							<input type="checkbox" id="tsd-filter-only-exported" />
-							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
 						</div>
 					</div>
 					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
@@ -53,13 +52,13 @@
 		<div class="container">
 			<ul class="tsd-breadcrumb">
 				<li>
-					<a href="../globals.html">Globals</a>
+					<a href="../modules.html">usp-js</a>
 				</li>
 				<li>
-					<a href="_types_.html">&quot;types&quot;</a>
+					<a href="types.html">types</a>
 				</li>
 			</ul>
-			<h1>Module &quot;types&quot;</h1>
+			<h1>Module types</h1>
 		</div>
 	</div>
 </header>
@@ -73,72 +72,71 @@
 						<section class="tsd-index-section ">
 							<h3>Interfaces</h3>
 							<ul class="tsd-index-list">
-								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/_types_.connectionevents.html" class="tsd-kind-icon">Connection<wbr>Events</a></li>
-								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/_types_.operateoptions.html" class="tsd-kind-icon">Operate<wbr>Options</a></li>
-								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/_types_.otherconnectionoptions.html" class="tsd-kind-icon">Other<wbr>Connection<wbr>Options</a></li>
-								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/_types_.pbrequestbody.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Body</a></li>
-								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/_types_.pbrequestheader.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Header</a></li>
-								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/_types_.pbrequestmessage.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Message</a></li>
-								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/_types_.recipeobject.html" class="tsd-kind-icon">Recipe<wbr>Object</a></li>
-								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/_types_.subscriptionoptions.html" class="tsd-kind-icon">Subscription<wbr>Options</a></li>
-								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/_types_.suportedcommandopts.html" class="tsd-kind-icon">Suported<wbr>Command<wbr>Opts</a></li>
-								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/_types_.usp.html" class="tsd-kind-icon">USP</a></li>
+								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/types.connectionevents.html" class="tsd-kind-icon">Connection<wbr>Events</a></li>
+								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/types.operateoptions.html" class="tsd-kind-icon">Operate<wbr>Options</a></li>
+								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/types.otherconnectionoptions.html" class="tsd-kind-icon">Other<wbr>Connection<wbr>Options</a></li>
+								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/types.pbrequestbody.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Body</a></li>
+								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/types.pbrequestheader.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Header</a></li>
+								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/types.pbrequestmessage.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Message</a></li>
+								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/types.recipeobject.html" class="tsd-kind-icon">Recipe<wbr>Object</a></li>
+								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/types.subscriptionoptions.html" class="tsd-kind-icon">Subscription<wbr>Options</a></li>
+								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/types.suportedcommandopts.html" class="tsd-kind-icon">Suported<wbr>Command<wbr>Opts</a></li>
+								<li class="tsd-kind-interface tsd-parent-kind-module"><a href="../interfaces/types.usp.html" class="tsd-kind-icon">USP</a></li>
 							</ul>
 						</section>
 						<section class="tsd-index-section ">
 							<h3>Type aliases</h3>
 							<ul class="tsd-index-list">
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#addcommand" class="tsd-kind-icon">Add<wbr>Command</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#callargs" class="tsd-kind-icon">Call<wbr>Args</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#callfn" class="tsd-kind-icon">Call<wbr>Fn</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#certtype" class="tsd-kind-icon">Cert<wbr>Type</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#clearfn" class="tsd-kind-icon">Clear<wbr>Fn</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#command" class="tsd-kind-icon">Command</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#commandobject" class="tsd-kind-icon">Command<wbr>Object</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#commandtrigger" class="tsd-kind-icon">Command<wbr>Trigger</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#commandtype" class="tsd-kind-icon">Command<wbr>Type</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#connect" class="tsd-kind-icon">Connect</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#connectionoptions" class="tsd-kind-icon">Connection<wbr>Options</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#decodefn" class="tsd-kind-icon">Decode<wbr>Fn</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#decoderesponse" class="tsd-kind-icon">Decode<wbr>Response</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#delcommand" class="tsd-kind-icon">Del<wbr>Command</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#encodeargs" class="tsd-kind-icon">Encode<wbr>Args</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#encodefn" class="tsd-kind-icon">Encode<wbr>Fn</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#getcommand" class="tsd-kind-icon">Get<wbr>Command</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#getreturn" class="tsd-kind-icon">Get<wbr>Return</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#hostconnectionoptions" class="tsd-kind-icon">Host<wbr>Connection<wbr>Options</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#inputrecord" class="tsd-kind-icon">Input<wbr>Record</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#instancescommand" class="tsd-kind-icon">Instances<wbr>Command</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#jsvalue" class="tsd-kind-icon">JSValue</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#makefn" class="tsd-kind-icon">Make<wbr>Fn</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#makerecipefn" class="tsd-kind-icon">Make<wbr>Recipe<wbr>Fn</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module tsd-is-not-exported"><a href="_types_.html#notiftype" class="tsd-kind-icon">Notif<wbr>Type</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#onfn" class="tsd-kind-icon">On<wbr>Fn</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#onident" class="tsd-kind-icon">On<wbr>Ident</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#operateclearfn" class="tsd-kind-icon">Operate<wbr>Clear<wbr>Fn</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#operatecommand" class="tsd-kind-icon">Operate<wbr>Command</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#operatefn" class="tsd-kind-icon">Operate<wbr>Fn</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#operaterecipe" class="tsd-kind-icon">Operate<wbr>Recipe</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#pbrequestcommand" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#pbrequestcommandadd" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Add</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#pbrequestcommanddel" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Del</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#pbrequestcommandget" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Get</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#pbrequestcommandinstance" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Instance</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#pbrequestcommandoperate" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Operate</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#pbrequestcommandset" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Set</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#pbrequestcommandsupport" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Support</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#pbrequestcommandsupportproto" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Support<wbr>Proto</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#promiseclearfn" class="tsd-kind-icon">Promise<wbr>Clear<wbr>Fn</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#recipe" class="tsd-kind-icon">Recipe</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#resolverecipe" class="tsd-kind-icon">Resolve<wbr>Recipe</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#response" class="tsd-kind-icon">Response</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#responseid" class="tsd-kind-icon">ResponseID</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#setcommand" class="tsd-kind-icon">Set<wbr>Command</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#subscriberecipe" class="tsd-kind-icon">Subscribe<wbr>Recipe</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#subscriptioncallback" class="tsd-kind-icon">Subscription<wbr>Callback</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#supporteddmcommand" class="tsd-kind-icon">SupportedDMCommand</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#supportedprotocommand" class="tsd-kind-icon">Supported<wbr>Proto<wbr>Command</a></li>
-								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="_types_.html#urlconnectionoptions" class="tsd-kind-icon">URLConnection<wbr>Options</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#addcommand" class="tsd-kind-icon">Add<wbr>Command</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#callargs" class="tsd-kind-icon">Call<wbr>Args</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#callfn" class="tsd-kind-icon">Call<wbr>Fn</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#certtype" class="tsd-kind-icon">Cert<wbr>Type</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#clearfn" class="tsd-kind-icon">Clear<wbr>Fn</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#command" class="tsd-kind-icon">Command</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#commandobject" class="tsd-kind-icon">Command<wbr>Object</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#commandtrigger" class="tsd-kind-icon">Command<wbr>Trigger</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#commandtype" class="tsd-kind-icon">Command<wbr>Type</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#connect" class="tsd-kind-icon">Connect</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#connectionoptions" class="tsd-kind-icon">Connection<wbr>Options</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#decodefn" class="tsd-kind-icon">Decode<wbr>Fn</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#decoderesponse" class="tsd-kind-icon">Decode<wbr>Response</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#delcommand" class="tsd-kind-icon">Del<wbr>Command</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#encodeargs" class="tsd-kind-icon">Encode<wbr>Args</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#encodefn" class="tsd-kind-icon">Encode<wbr>Fn</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#getcommand" class="tsd-kind-icon">Get<wbr>Command</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#getreturn" class="tsd-kind-icon">Get<wbr>Return</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#hostconnectionoptions" class="tsd-kind-icon">Host<wbr>Connection<wbr>Options</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#inputrecord" class="tsd-kind-icon">Input<wbr>Record</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#instancescommand" class="tsd-kind-icon">Instances<wbr>Command</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#jsvalue" class="tsd-kind-icon">JSValue</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#makefn" class="tsd-kind-icon">Make<wbr>Fn</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#makerecipefn" class="tsd-kind-icon">Make<wbr>Recipe<wbr>Fn</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#onfn" class="tsd-kind-icon">On<wbr>Fn</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#onident" class="tsd-kind-icon">On<wbr>Ident</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#operateclearfn" class="tsd-kind-icon">Operate<wbr>Clear<wbr>Fn</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#operatecommand" class="tsd-kind-icon">Operate<wbr>Command</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#operatefn" class="tsd-kind-icon">Operate<wbr>Fn</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#operaterecipe" class="tsd-kind-icon">Operate<wbr>Recipe</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#pbrequestcommand" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#pbrequestcommandadd" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Add</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#pbrequestcommanddel" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Del</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#pbrequestcommandget" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Get</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#pbrequestcommandinstance" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Instance</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#pbrequestcommandoperate" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Operate</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#pbrequestcommandset" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Set</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#pbrequestcommandsupport" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Support</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#pbrequestcommandsupportproto" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Support<wbr>Proto</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#promiseclearfn" class="tsd-kind-icon">Promise<wbr>Clear<wbr>Fn</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#recipe" class="tsd-kind-icon">Recipe</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#resolverecipe" class="tsd-kind-icon">Resolve<wbr>Recipe</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#response" class="tsd-kind-icon">Response</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#responseid" class="tsd-kind-icon">ResponseID</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#setcommand" class="tsd-kind-icon">Set<wbr>Command</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#subscriberecipe" class="tsd-kind-icon">Subscribe<wbr>Recipe</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#subscriptioncallback" class="tsd-kind-icon">Subscription<wbr>Callback</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#supporteddmcommand" class="tsd-kind-icon">SupportedDMCommand</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#supportedprotocommand" class="tsd-kind-icon">Supported<wbr>Proto<wbr>Command</a></li>
+								<li class="tsd-kind-type-alias tsd-parent-kind-module"><a href="types.html#urlconnectionoptions" class="tsd-kind-icon">URLConnection<wbr>Options</a></li>
 							</ul>
 						</section>
 					</div>
@@ -149,7 +147,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="addcommand" class="tsd-anchor"></a>
 					<h3>Add<wbr>Command</h3>
-					<div class="tsd-signature tsd-kind-icon">Add<wbr>Command<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, value<span class="tsd-signature-symbol">?: </span><a href="_types_.html#inputrecord" class="tsd-signature-type">InputRecord</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">Add<wbr>Command<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, value<span class="tsd-signature-symbol">?: </span><a href="types.html#inputrecord" class="tsd-signature-type" data-tsd-kind="Type alias">InputRecord</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:20</li>
@@ -160,7 +158,7 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, value<span class="tsd-signature-symbol">?: </span><a href="_types_.html#inputrecord" class="tsd-signature-type">InputRecord</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, value<span class="tsd-signature-symbol">?: </span><a href="types.html#inputrecord" class="tsd-signature-type" data-tsd-kind="Type alias">InputRecord</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
@@ -170,7 +168,7 @@
 												<h5>path: <span class="tsd-signature-type">string</span></h5>
 											</li>
 											<li>
-												<h5><span class="tsd-flag ts-flagOptional">Optional</span> value: <a href="_types_.html#inputrecord" class="tsd-signature-type">InputRecord</a></h5>
+												<h5><span class="tsd-flag ts-flagOptional">Optional</span> value: <a href="types.html#inputrecord" class="tsd-signature-type" data-tsd-kind="Type alias">InputRecord</a></h5>
 											</li>
 										</ul>
 										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4>
@@ -193,7 +191,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="callfn" class="tsd-anchor"></a>
 					<h3>Call<wbr>Fn</h3>
-					<div class="tsd-signature tsd-kind-icon">Call<wbr>Fn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>cmd<span class="tsd-signature-symbol">: </span><a href="_types_.html#commandtype" class="tsd-signature-type">CommandType</a>, args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">any</span></div>
+					<div class="tsd-signature tsd-kind-icon">Call<wbr>Fn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>cmd<span class="tsd-signature-symbol">: </span><a href="types.html#commandtype" class="tsd-signature-type" data-tsd-kind="Type alias">CommandType</a>, args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">any</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:432</li>
@@ -204,14 +202,14 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>cmd<span class="tsd-signature-symbol">: </span><a href="_types_.html#commandtype" class="tsd-signature-type">CommandType</a>, args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>cmd<span class="tsd-signature-symbol">: </span><a href="types.html#commandtype" class="tsd-signature-type" data-tsd-kind="Type alias">CommandType</a>, args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
 										<h4 class="tsd-parameters-title">Parameters</h4>
 										<ul class="tsd-parameters">
 											<li>
-												<h5>cmd: <a href="_types_.html#commandtype" class="tsd-signature-type">CommandType</a></h5>
+												<h5>cmd: <a href="types.html#commandtype" class="tsd-signature-type" data-tsd-kind="Type alias">CommandType</a></h5>
 											</li>
 											<li>
 												<h5>args: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5>
@@ -262,7 +260,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="command" class="tsd-anchor"></a>
 					<h3>Command</h3>
-					<div class="tsd-signature tsd-kind-icon">Command<span class="tsd-signature-symbol">:</span> <a href="_types_.html#getcommand" class="tsd-signature-type">GetCommand</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#setcommand" class="tsd-signature-type">SetCommand</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#addcommand" class="tsd-signature-type">AddCommand</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#delcommand" class="tsd-signature-type">DelCommand</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#operatecommand" class="tsd-signature-type">OperateCommand</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#operaterecipe" class="tsd-signature-type">OperateRecipe</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#subscriberecipe" class="tsd-signature-type">SubscribeRecipe</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#supporteddmcommand" class="tsd-signature-type">SupportedDMCommand</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#instancescommand" class="tsd-signature-type">InstancesCommand</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#supportedprotocommand" class="tsd-signature-type">SupportedProtoCommand</a></div>
+					<div class="tsd-signature tsd-kind-icon">Command<span class="tsd-signature-symbol">:</span> <a href="types.html#getcommand" class="tsd-signature-type" data-tsd-kind="Type alias">GetCommand</a><span class="tsd-signature-symbol"> | </span><a href="types.html#setcommand" class="tsd-signature-type" data-tsd-kind="Type alias">SetCommand</a><span class="tsd-signature-symbol"> | </span><a href="types.html#addcommand" class="tsd-signature-type" data-tsd-kind="Type alias">AddCommand</a><span class="tsd-signature-symbol"> | </span><a href="types.html#delcommand" class="tsd-signature-type" data-tsd-kind="Type alias">DelCommand</a><span class="tsd-signature-symbol"> | </span><a href="types.html#operatecommand" class="tsd-signature-type" data-tsd-kind="Type alias">OperateCommand</a><span class="tsd-signature-symbol"> | </span><a href="types.html#operaterecipe" class="tsd-signature-type" data-tsd-kind="Type alias">OperateRecipe</a><span class="tsd-signature-symbol"> | </span><a href="types.html#subscriberecipe" class="tsd-signature-type" data-tsd-kind="Type alias">SubscribeRecipe</a><span class="tsd-signature-symbol"> | </span><a href="types.html#supporteddmcommand" class="tsd-signature-type" data-tsd-kind="Type alias">SupportedDMCommand</a><span class="tsd-signature-symbol"> | </span><a href="types.html#instancescommand" class="tsd-signature-type" data-tsd-kind="Type alias">InstancesCommand</a><span class="tsd-signature-symbol"> | </span><a href="types.html#supportedprotocommand" class="tsd-signature-type" data-tsd-kind="Type alias">SupportedProtoCommand</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:53</li>
@@ -272,7 +270,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="commandobject" class="tsd-anchor"></a>
 					<h3>Command<wbr>Object</h3>
-					<div class="tsd-signature tsd-kind-icon">Command<wbr>Object<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a><span class="tsd-signature-symbol"> }</span></div>
+					<div class="tsd-signature tsd-kind-icon">Command<wbr>Object<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a><span class="tsd-signature-symbol">; </span>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a><span class="tsd-signature-symbol"> }</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:416</li>
@@ -282,10 +280,10 @@
 						<h4>Type declaration</h4>
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter">
-								<h5>decode<span class="tsd-signature-symbol">: </span><a href="_types_.html#decodefn" class="tsd-signature-type">DecodeFn</a></h5>
+								<h5>decode<span class="tsd-signature-symbol">: </span><a href="types.html#decodefn" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeFn</a></h5>
 							</li>
 							<li class="tsd-parameter">
-								<h5>encode<span class="tsd-signature-symbol">: </span><a href="_types_.html#encodefn" class="tsd-signature-type">EncodeFn</a></h5>
+								<h5>encode<span class="tsd-signature-symbol">: </span><a href="types.html#encodefn" class="tsd-signature-type" data-tsd-kind="Type alias">EncodeFn</a></h5>
 							</li>
 						</ul>
 					</div>
@@ -314,7 +312,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="commandtype" class="tsd-anchor"></a>
 					<h3>Command<wbr>Type</h3>
-					<div class="tsd-signature tsd-kind-icon">Command<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"GET"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"SET"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"ADD"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"DELETE"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"OPERATE"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"NOTIFY"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"GET_SUPPORTED_DM"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"GET_INSTANCES"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"GET_SUPPORTED_PROTO"</span></div>
+					<div class="tsd-signature tsd-kind-icon">Command<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;GET&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;SET&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;ADD&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;DELETE&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;OPERATE&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;NOTIFY&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;GET_SUPPORTED_DM&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;GET_INSTANCES&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;GET_SUPPORTED_PROTO&quot;</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:3</li>
@@ -324,7 +322,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="connect" class="tsd-anchor"></a>
 					<h3>Connect</h3>
-					<div class="tsd-signature tsd-kind-icon">Connect<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>options<span class="tsd-signature-symbol">: </span><a href="_types_.html#connectionoptions" class="tsd-signature-type">ConnectionOptions</a>, events<span class="tsd-signature-symbol">?: </span><a href="../interfaces/_types_.connectionevents.html" class="tsd-signature-type">ConnectionEvents</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/_types_.usp.html" class="tsd-signature-type">USP</a><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">Connect<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>options<span class="tsd-signature-symbol">: </span><a href="types.html#connectionoptions" class="tsd-signature-type" data-tsd-kind="Type alias">ConnectionOptions</a>, events<span class="tsd-signature-symbol">?: </span><a href="../interfaces/types.connectionevents.html" class="tsd-signature-type" data-tsd-kind="Interface">ConnectionEvents</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/types.usp.html" class="tsd-signature-type" data-tsd-kind="Interface">USP</a><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:319</li>
@@ -335,20 +333,20 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>options<span class="tsd-signature-symbol">: </span><a href="_types_.html#connectionoptions" class="tsd-signature-type">ConnectionOptions</a>, events<span class="tsd-signature-symbol">?: </span><a href="../interfaces/_types_.connectionevents.html" class="tsd-signature-type">ConnectionEvents</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/_types_.usp.html" class="tsd-signature-type">USP</a><span class="tsd-signature-symbol">&gt;</span></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>options<span class="tsd-signature-symbol">: </span><a href="types.html#connectionoptions" class="tsd-signature-type" data-tsd-kind="Type alias">ConnectionOptions</a>, events<span class="tsd-signature-symbol">?: </span><a href="../interfaces/types.connectionevents.html" class="tsd-signature-type" data-tsd-kind="Interface">ConnectionEvents</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/types.usp.html" class="tsd-signature-type" data-tsd-kind="Interface">USP</a><span class="tsd-signature-symbol">&gt;</span></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
 										<h4 class="tsd-parameters-title">Parameters</h4>
 										<ul class="tsd-parameters">
 											<li>
-												<h5>options: <a href="_types_.html#connectionoptions" class="tsd-signature-type">ConnectionOptions</a></h5>
+												<h5>options: <a href="types.html#connectionoptions" class="tsd-signature-type" data-tsd-kind="Type alias">ConnectionOptions</a></h5>
 											</li>
 											<li>
-												<h5><span class="tsd-flag ts-flagOptional">Optional</span> events: <a href="../interfaces/_types_.connectionevents.html" class="tsd-signature-type">ConnectionEvents</a></h5>
+												<h5><span class="tsd-flag ts-flagOptional">Optional</span> events: <a href="../interfaces/types.connectionevents.html" class="tsd-signature-type" data-tsd-kind="Interface">ConnectionEvents</a></h5>
 											</li>
 										</ul>
-										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/_types_.usp.html" class="tsd-signature-type">USP</a><span class="tsd-signature-symbol">&gt;</span></h4>
+										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/types.usp.html" class="tsd-signature-type" data-tsd-kind="Interface">USP</a><span class="tsd-signature-symbol">&gt;</span></h4>
 									</li>
 								</ul>
 							</li>
@@ -358,7 +356,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="connectionoptions" class="tsd-anchor"></a>
 					<h3>Connection<wbr>Options</h3>
-					<div class="tsd-signature tsd-kind-icon">Connection<wbr>Options<span class="tsd-signature-symbol">:</span> <a href="_types_.html#urlconnectionoptions" class="tsd-signature-type">URLConnectionOptions</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#hostconnectionoptions" class="tsd-signature-type">HostConnectionOptions</a></div>
+					<div class="tsd-signature tsd-kind-icon">Connection<wbr>Options<span class="tsd-signature-symbol">:</span> <a href="types.html#urlconnectionoptions" class="tsd-signature-type" data-tsd-kind="Type alias">URLConnectionOptions</a><span class="tsd-signature-symbol"> | </span><a href="types.html#hostconnectionoptions" class="tsd-signature-type" data-tsd-kind="Type alias">HostConnectionOptions</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:391</li>
@@ -368,7 +366,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="decodefn" class="tsd-anchor"></a>
 					<h3>Decode<wbr>Fn</h3>
-					<div class="tsd-signature tsd-kind-icon">Decode<wbr>Fn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="_types_.html#decoderesponse" class="tsd-signature-type">DecodeResponse</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span></div>
+					<div class="tsd-signature tsd-kind-icon">Decode<wbr>Fn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="types.html#decoderesponse" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeResponse</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:394</li>
@@ -379,7 +377,7 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="_types_.html#decoderesponse" class="tsd-signature-type">DecodeResponse</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="types.html#decoderesponse" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeResponse</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
@@ -389,7 +387,7 @@
 												<h5>msg: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5>
 											</li>
 										</ul>
-										<h4 class="tsd-returns-title">Returns <a href="_types_.html#decoderesponse" class="tsd-signature-type">DecodeResponse</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span></h4>
+										<h4 class="tsd-returns-title">Returns <a href="types.html#decoderesponse" class="tsd-signature-type" data-tsd-kind="Type alias">DecodeResponse</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span></h4>
 									</li>
 								</ul>
 							</li>
@@ -399,7 +397,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="decoderesponse" class="tsd-anchor"></a>
 					<h3>Decode<wbr>Response</h3>
-					<div class="tsd-signature tsd-kind-icon">Decode<wbr>Response<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><a href="_types_.html#responseid" class="tsd-signature-type">ResponseID</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="_types_.html#response" class="tsd-signature-type">Response</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span></div>
+					<div class="tsd-signature tsd-kind-icon">Decode<wbr>Response<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><a href="types.html#responseid" class="tsd-signature-type" data-tsd-kind="Type alias">ResponseID</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="types.html#response" class="tsd-signature-type" data-tsd-kind="Type alias">Response</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">]</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:395</li>
@@ -409,7 +407,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="delcommand" class="tsd-anchor"></a>
 					<h3>Del<wbr>Command</h3>
-					<div class="tsd-signature tsd-kind-icon">Del<wbr>Command<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, allowPartial<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">Del<wbr>Command<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, allowPartial<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:21</li>
@@ -420,7 +418,7 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, allowPartial<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, allowPartial<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
@@ -430,7 +428,7 @@
 												<h5>path: <span class="tsd-signature-type">string</span></h5>
 											</li>
 											<li>
-												<h5><span class="tsd-flag ts-flagOptional">Optional</span> allowPartial: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span></h5>
+												<h5><span class="tsd-flag ts-flagOptional">Optional</span> allowPartial: <span class="tsd-signature-type">boolean</span></h5>
 											</li>
 										</ul>
 										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
@@ -443,7 +441,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="encodeargs" class="tsd-anchor"></a>
 					<h3>Encode<wbr>Args</h3>
-					<div class="tsd-signature tsd-kind-icon">Encode<wbr>Args<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>options<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span>rootMsg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Root</span><span class="tsd-signature-symbol">; </span>rootRecord<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Root</span><span class="tsd-signature-symbol"> }</span></div>
+					<div class="tsd-signature tsd-kind-icon">Encode<wbr>Args<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span>header<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>options<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span>rootMsg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">protobuf.Root</span><span class="tsd-signature-symbol">; </span>rootRecord<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">protobuf.Root</span><span class="tsd-signature-symbol"> }</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:396</li>
@@ -462,10 +460,10 @@
 								<h5>options<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h5>
 							</li>
 							<li class="tsd-parameter">
-								<h5>root<wbr>Msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Root</span></h5>
+								<h5>root<wbr>Msg<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">protobuf.Root</span></h5>
 							</li>
 							<li class="tsd-parameter">
-								<h5>root<wbr>Record<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Root</span></h5>
+								<h5>root<wbr>Record<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">protobuf.Root</span></h5>
 							</li>
 						</ul>
 					</div>
@@ -473,7 +471,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="encodefn" class="tsd-anchor"></a>
 					<h3>Encode<wbr>Fn</h3>
-					<div class="tsd-signature tsd-kind-icon">Encode<wbr>Fn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="../interfaces/_types_.pbrequestmessage.html" class="tsd-signature-type">PbRequestMessage</a></div>
+					<div class="tsd-signature tsd-kind-icon">Encode<wbr>Fn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="../interfaces/types.pbrequestmessage.html" class="tsd-signature-type" data-tsd-kind="Interface">PbRequestMessage</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:406</li>
@@ -484,7 +482,7 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/_types_.pbrequestmessage.html" class="tsd-signature-type">PbRequestMessage</a></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/types.pbrequestmessage.html" class="tsd-signature-type" data-tsd-kind="Interface">PbRequestMessage</a></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
@@ -494,7 +492,7 @@
 												<h5>args: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5>
 											</li>
 										</ul>
-										<h4 class="tsd-returns-title">Returns <a href="../interfaces/_types_.pbrequestmessage.html" class="tsd-signature-type">PbRequestMessage</a></h4>
+										<h4 class="tsd-returns-title">Returns <a href="../interfaces/types.pbrequestmessage.html" class="tsd-signature-type" data-tsd-kind="Interface">PbRequestMessage</a></h4>
 									</li>
 								</ul>
 							</li>
@@ -504,7 +502,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="getcommand" class="tsd-anchor"></a>
 					<h3>Get<wbr>Command</h3>
-					<div class="tsd-signature tsd-kind-icon">Get<wbr>Command<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="_types_.html#getreturn" class="tsd-signature-type">GetReturn</a><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">Get<wbr>Command<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="types.html#getreturn" class="tsd-signature-type" data-tsd-kind="Type alias">GetReturn</a><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:15</li>
@@ -515,7 +513,7 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="_types_.html#getreturn" class="tsd-signature-type">GetReturn</a><span class="tsd-signature-symbol">&gt;</span></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="types.html#getreturn" class="tsd-signature-type" data-tsd-kind="Type alias">GetReturn</a><span class="tsd-signature-symbol">&gt;</span></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
@@ -525,7 +523,7 @@
 												<h5>paths: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h5>
 											</li>
 										</ul>
-										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="_types_.html#getreturn" class="tsd-signature-type">GetReturn</a><span class="tsd-signature-symbol">&gt;</span></h4>
+										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="types.html#getreturn" class="tsd-signature-type" data-tsd-kind="Type alias">GetReturn</a><span class="tsd-signature-symbol">&gt;</span></h4>
 									</li>
 								</ul>
 							</li>
@@ -545,7 +543,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="hostconnectionoptions" class="tsd-anchor"></a>
 					<h3>Host<wbr>Connection<wbr>Options</h3>
-					<div class="tsd-signature tsd-kind-icon">Host<wbr>Connection<wbr>Options<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>host<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>port<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>protocol<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"wss"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"ws"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"mqtt"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"mqtts"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"tcp"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"ssl"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"wx"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"wxs"</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> &amp; </span><a href="../interfaces/_types_.otherconnectionoptions.html" class="tsd-signature-type">OtherConnectionOptions</a></div>
+					<div class="tsd-signature tsd-kind-icon">Host<wbr>Connection<wbr>Options<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>host<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>port<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>protocol<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;wss&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;ws&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;mqtt&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;mqtts&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;tcp&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;ssl&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;wx&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;wxs&quot;</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> &amp; </span><a href="../interfaces/types.otherconnectionoptions.html" class="tsd-signature-type" data-tsd-kind="Interface">OtherConnectionOptions</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:371</li>
@@ -555,7 +553,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="inputrecord" class="tsd-anchor"></a>
 					<h3>Input<wbr>Record</h3>
-					<div class="tsd-signature tsd-kind-icon">Input<wbr>Record<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>allowPartial<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol"> }</span></div>
+					<div class="tsd-signature tsd-kind-icon">Input<wbr>Record<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>allowPartial<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> }</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:82</li>
@@ -565,7 +563,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="instancescommand" class="tsd-anchor"></a>
 					<h3>Instances<wbr>Command</h3>
-					<div class="tsd-signature tsd-kind-icon">Instances<wbr>Command<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span>, opts<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>firstLevelOnly<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">Instances<wbr>Command<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span>, opts<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">{ </span>firstLevelOnly<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:40</li>
@@ -576,7 +574,7 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span>, opts<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>firstLevelOnly<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span>, opts<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">{ </span>firstLevelOnly<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
@@ -586,7 +584,12 @@
 												<h5>paths: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h5>
 											</li>
 											<li>
-												<h5><span class="tsd-flag ts-flagOptional">Optional</span> opts: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>firstLevelOnly<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol"> }</span></h5>
+												<h5><span class="tsd-flag ts-flagOptional">Optional</span> opts: <span class="tsd-signature-symbol">{ </span>firstLevelOnly<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> }</span></h5>
+												<ul class="tsd-parameters">
+													<li class="tsd-parameter">
+														<h5><span class="tsd-flag ts-flagOptional">Optional</span> first<wbr>Level<wbr>Only<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span></h5>
+													</li>
+												</ul>
 											</li>
 										</ul>
 										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4>
@@ -609,7 +612,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="makefn" class="tsd-anchor"></a>
 					<h3>Make<wbr>Fn</h3>
-					<div class="tsd-signature tsd-kind-icon">Make<wbr>Fn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>call<span class="tsd-signature-symbol">: </span><a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a>, on<span class="tsd-signature-symbol">: </span><a href="_types_.html#onfn" class="tsd-signature-type">OnFn</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="_types_.html#command" class="tsd-signature-type">Command</a></div>
+					<div class="tsd-signature tsd-kind-icon">Make<wbr>Fn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>call<span class="tsd-signature-symbol">: </span><a href="types.html#callfn" class="tsd-signature-type" data-tsd-kind="Type alias">CallFn</a>, on<span class="tsd-signature-symbol">: </span><a href="types.html#onfn" class="tsd-signature-type" data-tsd-kind="Type alias">OnFn</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="types.html#command" class="tsd-signature-type" data-tsd-kind="Type alias">Command</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:410</li>
@@ -620,20 +623,20 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>call<span class="tsd-signature-symbol">: </span><a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a>, on<span class="tsd-signature-symbol">: </span><a href="_types_.html#onfn" class="tsd-signature-type">OnFn</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="_types_.html#command" class="tsd-signature-type">Command</a></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>call<span class="tsd-signature-symbol">: </span><a href="types.html#callfn" class="tsd-signature-type" data-tsd-kind="Type alias">CallFn</a>, on<span class="tsd-signature-symbol">: </span><a href="types.html#onfn" class="tsd-signature-type" data-tsd-kind="Type alias">OnFn</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="types.html#command" class="tsd-signature-type" data-tsd-kind="Type alias">Command</a></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
 										<h4 class="tsd-parameters-title">Parameters</h4>
 										<ul class="tsd-parameters">
 											<li>
-												<h5>call: <a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a></h5>
+												<h5>call: <a href="types.html#callfn" class="tsd-signature-type" data-tsd-kind="Type alias">CallFn</a></h5>
 											</li>
 											<li>
-												<h5>on: <a href="_types_.html#onfn" class="tsd-signature-type">OnFn</a></h5>
+												<h5>on: <a href="types.html#onfn" class="tsd-signature-type" data-tsd-kind="Type alias">OnFn</a></h5>
 											</li>
 										</ul>
-										<h4 class="tsd-returns-title">Returns <a href="_types_.html#command" class="tsd-signature-type">Command</a></h4>
+										<h4 class="tsd-returns-title">Returns <a href="types.html#command" class="tsd-signature-type" data-tsd-kind="Type alias">Command</a></h4>
 									</li>
 								</ul>
 							</li>
@@ -643,7 +646,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="makerecipefn" class="tsd-anchor"></a>
 					<h3>Make<wbr>Recipe<wbr>Fn</h3>
-					<div class="tsd-signature tsd-kind-icon">Make<wbr>Recipe<wbr>Fn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>call<span class="tsd-signature-symbol">: </span><a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="_types_.html#recipe" class="tsd-signature-type">Recipe</a></div>
+					<div class="tsd-signature tsd-kind-icon">Make<wbr>Recipe<wbr>Fn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>call<span class="tsd-signature-symbol">: </span><a href="types.html#callfn" class="tsd-signature-type" data-tsd-kind="Type alias">CallFn</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="types.html#recipe" class="tsd-signature-type" data-tsd-kind="Type alias">Recipe</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:411</li>
@@ -654,37 +657,27 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>call<span class="tsd-signature-symbol">: </span><a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="_types_.html#recipe" class="tsd-signature-type">Recipe</a></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>call<span class="tsd-signature-symbol">: </span><a href="types.html#callfn" class="tsd-signature-type" data-tsd-kind="Type alias">CallFn</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="types.html#recipe" class="tsd-signature-type" data-tsd-kind="Type alias">Recipe</a></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
 										<h4 class="tsd-parameters-title">Parameters</h4>
 										<ul class="tsd-parameters">
 											<li>
-												<h5>call: <a href="_types_.html#callfn" class="tsd-signature-type">CallFn</a></h5>
+												<h5>call: <a href="types.html#callfn" class="tsd-signature-type" data-tsd-kind="Type alias">CallFn</a></h5>
 											</li>
 										</ul>
-										<h4 class="tsd-returns-title">Returns <a href="_types_.html#recipe" class="tsd-signature-type">Recipe</a></h4>
+										<h4 class="tsd-returns-title">Returns <a href="types.html#recipe" class="tsd-signature-type" data-tsd-kind="Type alias">Recipe</a></h4>
 									</li>
 								</ul>
 							</li>
 						</ul>
 					</div>
 				</section>
-				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module tsd-is-not-exported">
-					<a name="notiftype" class="tsd-anchor"></a>
-					<h3>Notif<wbr>Type</h3>
-					<div class="tsd-signature tsd-kind-icon">Notif<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"Event"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"ValueChange"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"ObjectCreation"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"ObjectDeletion"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"OperationComplete"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"OnBoardRequest"</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in types.ts:324</li>
-						</ul>
-					</aside>
-				</section>
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="onfn" class="tsd-anchor"></a>
 					<h3>On<wbr>Fn</h3>
-					<div class="tsd-signature tsd-kind-icon">On<wbr>Fn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>ident<span class="tsd-signature-symbol">: </span><a href="_types_.html#onident" class="tsd-signature-type">OnIdent</a>, callback<span class="tsd-signature-symbol">: </span><a href="_types_.html#subscriptioncallback" class="tsd-signature-type">SubscriptionCallback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="_types_.html#clearfn" class="tsd-signature-type">ClearFn</a></div>
+					<div class="tsd-signature tsd-kind-icon">On<wbr>Fn<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>ident<span class="tsd-signature-symbol">: </span><a href="types.html#onident" class="tsd-signature-type" data-tsd-kind="Type alias">OnIdent</a>, callback<span class="tsd-signature-symbol">: </span><a href="types.html#subscriptioncallback" class="tsd-signature-type" data-tsd-kind="Type alias">SubscriptionCallback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="types.html#clearfn" class="tsd-signature-type" data-tsd-kind="Type alias">ClearFn</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:409</li>
@@ -695,20 +688,20 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>ident<span class="tsd-signature-symbol">: </span><a href="_types_.html#onident" class="tsd-signature-type">OnIdent</a>, callback<span class="tsd-signature-symbol">: </span><a href="_types_.html#subscriptioncallback" class="tsd-signature-type">SubscriptionCallback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="_types_.html#clearfn" class="tsd-signature-type">ClearFn</a></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>ident<span class="tsd-signature-symbol">: </span><a href="types.html#onident" class="tsd-signature-type" data-tsd-kind="Type alias">OnIdent</a>, callback<span class="tsd-signature-symbol">: </span><a href="types.html#subscriptioncallback" class="tsd-signature-type" data-tsd-kind="Type alias">SubscriptionCallback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="types.html#clearfn" class="tsd-signature-type" data-tsd-kind="Type alias">ClearFn</a></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
 										<h4 class="tsd-parameters-title">Parameters</h4>
 										<ul class="tsd-parameters">
 											<li>
-												<h5>ident: <a href="_types_.html#onident" class="tsd-signature-type">OnIdent</a></h5>
+												<h5>ident: <a href="types.html#onident" class="tsd-signature-type" data-tsd-kind="Type alias">OnIdent</a></h5>
 											</li>
 											<li>
-												<h5>callback: <a href="_types_.html#subscriptioncallback" class="tsd-signature-type">SubscriptionCallback</a></h5>
+												<h5>callback: <a href="types.html#subscriptioncallback" class="tsd-signature-type" data-tsd-kind="Type alias">SubscriptionCallback</a></h5>
 											</li>
 										</ul>
-										<h4 class="tsd-returns-title">Returns <a href="_types_.html#clearfn" class="tsd-signature-type">ClearFn</a></h4>
+										<h4 class="tsd-returns-title">Returns <a href="types.html#clearfn" class="tsd-signature-type" data-tsd-kind="Type alias">ClearFn</a></h4>
 									</li>
 								</ul>
 							</li>
@@ -821,7 +814,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="operaterecipe" class="tsd-anchor"></a>
 					<h3>Operate<wbr>Recipe</h3>
-					<div class="tsd-signature tsd-kind-icon">Operate<wbr>Recipe<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, opts<span class="tsd-signature-symbol">?: </span><a href="../interfaces/_types_.operateoptions.html" class="tsd-signature-type">OperateOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">[</span><a href="_types_.html#operatefn" class="tsd-signature-type">OperateFn</a><span class="tsd-signature-symbol">, </span><a href="_types_.html#operateclearfn" class="tsd-signature-type">OperateClearFn</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">Operate<wbr>Recipe<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, opts<span class="tsd-signature-symbol">?: </span><a href="../interfaces/types.operateoptions.html" class="tsd-signature-type" data-tsd-kind="Interface">OperateOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">[</span><a href="types.html#operatefn" class="tsd-signature-type" data-tsd-kind="Type alias">OperateFn</a><span class="tsd-signature-symbol">, </span><a href="types.html#operateclearfn" class="tsd-signature-type" data-tsd-kind="Type alias">OperateClearFn</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:27</li>
@@ -832,7 +825,7 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, opts<span class="tsd-signature-symbol">?: </span><a href="../interfaces/_types_.operateoptions.html" class="tsd-signature-type">OperateOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">[</span><a href="_types_.html#operatefn" class="tsd-signature-type">OperateFn</a><span class="tsd-signature-symbol">, </span><a href="_types_.html#operateclearfn" class="tsd-signature-type">OperateClearFn</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">&gt;</span></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, opts<span class="tsd-signature-symbol">?: </span><a href="../interfaces/types.operateoptions.html" class="tsd-signature-type" data-tsd-kind="Interface">OperateOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">[</span><a href="types.html#operatefn" class="tsd-signature-type" data-tsd-kind="Type alias">OperateFn</a><span class="tsd-signature-symbol">, </span><a href="types.html#operateclearfn" class="tsd-signature-type" data-tsd-kind="Type alias">OperateClearFn</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">&gt;</span></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
@@ -842,10 +835,10 @@
 												<h5>path: <span class="tsd-signature-type">string</span></h5>
 											</li>
 											<li>
-												<h5><span class="tsd-flag ts-flagOptional">Optional</span> opts: <a href="../interfaces/_types_.operateoptions.html" class="tsd-signature-type">OperateOptions</a></h5>
+												<h5><span class="tsd-flag ts-flagOptional">Optional</span> opts: <a href="../interfaces/types.operateoptions.html" class="tsd-signature-type" data-tsd-kind="Interface">OperateOptions</a></h5>
 											</li>
 										</ul>
-										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">[</span><a href="_types_.html#operatefn" class="tsd-signature-type">OperateFn</a><span class="tsd-signature-symbol">, </span><a href="_types_.html#operateclearfn" class="tsd-signature-type">OperateClearFn</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">&gt;</span></h4>
+										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">[</span><a href="types.html#operatefn" class="tsd-signature-type" data-tsd-kind="Type alias">OperateFn</a><span class="tsd-signature-symbol">, </span><a href="types.html#operateclearfn" class="tsd-signature-type" data-tsd-kind="Type alias">OperateClearFn</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">&gt;</span></h4>
 									</li>
 								</ul>
 							</li>
@@ -855,7 +848,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="pbrequestcommand" class="tsd-anchor"></a>
 					<h3>Pb<wbr>Request<wbr>Command</h3>
-					<div class="tsd-signature tsd-kind-icon">Pb<wbr>Request<wbr>Command<span class="tsd-signature-symbol">:</span> <a href="_types_.html#pbrequestcommandget" class="tsd-signature-type">PbRequestCommandGet</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#pbrequestcommandset" class="tsd-signature-type">PbRequestCommandSet</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#pbrequestcommandadd" class="tsd-signature-type">PbRequestCommandAdd</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#pbrequestcommanddel" class="tsd-signature-type">PbRequestCommandDel</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#pbrequestcommandoperate" class="tsd-signature-type">PbRequestCommandOperate</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#pbrequestcommandsupport" class="tsd-signature-type">PbRequestCommandSupport</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#pbrequestcommandinstance" class="tsd-signature-type">PbRequestCommandInstance</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#pbrequestcommandsupportproto" class="tsd-signature-type">PbRequestCommandSupportProto</a></div>
+					<div class="tsd-signature tsd-kind-icon">Pb<wbr>Request<wbr>Command<span class="tsd-signature-symbol">:</span> <a href="types.html#pbrequestcommandget" class="tsd-signature-type" data-tsd-kind="Type alias">PbRequestCommandGet</a><span class="tsd-signature-symbol"> | </span><a href="types.html#pbrequestcommandset" class="tsd-signature-type" data-tsd-kind="Type alias">PbRequestCommandSet</a><span class="tsd-signature-symbol"> | </span><a href="types.html#pbrequestcommandadd" class="tsd-signature-type" data-tsd-kind="Type alias">PbRequestCommandAdd</a><span class="tsd-signature-symbol"> | </span><a href="types.html#pbrequestcommanddel" class="tsd-signature-type" data-tsd-kind="Type alias">PbRequestCommandDel</a><span class="tsd-signature-symbol"> | </span><a href="types.html#pbrequestcommandoperate" class="tsd-signature-type" data-tsd-kind="Type alias">PbRequestCommandOperate</a><span class="tsd-signature-symbol"> | </span><a href="types.html#pbrequestcommandsupport" class="tsd-signature-type" data-tsd-kind="Type alias">PbRequestCommandSupport</a><span class="tsd-signature-symbol"> | </span><a href="types.html#pbrequestcommandinstance" class="tsd-signature-type" data-tsd-kind="Type alias">PbRequestCommandInstance</a><span class="tsd-signature-symbol"> | </span><a href="types.html#pbrequestcommandsupportproto" class="tsd-signature-type" data-tsd-kind="Type alias">PbRequestCommandSupportProto</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:65</li>
@@ -865,7 +858,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="pbrequestcommandadd" class="tsd-anchor"></a>
 					<h3>Pb<wbr>Request<wbr>Command<wbr>Add</h3>
-					<div class="tsd-signature tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Add<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>add<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>allowPartial<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>createObjs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Add.CreateObject"</span><span class="tsd-signature-symbol">; </span>objPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>paramSettings<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Add.CreateParamSetting"</span><span class="tsd-signature-symbol">; </span>param<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>required<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> }</span></div>
+					<div class="tsd-signature tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Add<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>add<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>allowPartial<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>createObjs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Add.CreateObject&quot;</span><span class="tsd-signature-symbol">; </span>objPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>paramSettings<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Add.CreateParamSetting&quot;</span><span class="tsd-signature-symbol">; </span>param<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>required<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> }</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:154</li>
@@ -875,13 +868,13 @@
 						<h4>Type declaration</h4>
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter">
-								<h5>add<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>allowPartial<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>createObjs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Add.CreateObject"</span><span class="tsd-signature-symbol">; </span>objPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>paramSettings<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Add.CreateParamSetting"</span><span class="tsd-signature-symbol">; </span>param<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>required<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span></h5>
+								<h5>add<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>allowPartial<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>createObjs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Add.CreateObject&quot;</span><span class="tsd-signature-symbol">; </span>objPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>paramSettings<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Add.CreateParamSetting&quot;</span><span class="tsd-signature-symbol">; </span>param<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>required<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span></h5>
 								<ul class="tsd-parameters">
 									<li class="tsd-parameter">
 										<h5>allow<wbr>Partial<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></h5>
 									</li>
 									<li class="tsd-parameter">
-										<h5>create<wbr>Objs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Add.CreateObject"</span><span class="tsd-signature-symbol">; </span>objPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>paramSettings<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Add.CreateParamSetting"</span><span class="tsd-signature-symbol">; </span>param<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>required<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span></h5>
+										<h5>create<wbr>Objs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Add.CreateObject&quot;</span><span class="tsd-signature-symbol">; </span>objPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>paramSettings<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Add.CreateParamSetting&quot;</span><span class="tsd-signature-symbol">; </span>param<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>required<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span></h5>
 									</li>
 								</ul>
 							</li>
@@ -998,7 +991,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="pbrequestcommandset" class="tsd-anchor"></a>
 					<h3>Pb<wbr>Request<wbr>Command<wbr>Set</h3>
-					<div class="tsd-signature tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Set<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>set<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>allowPartial<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>updateObjs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Set.UpdateObject"</span><span class="tsd-signature-symbol">; </span>objPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>paramSettings<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Set.UpdateParamSetting"</span><span class="tsd-signature-symbol">; </span>param<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>required<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> }</span></div>
+					<div class="tsd-signature tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Set<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>set<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>allowPartial<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>updateObjs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Set.UpdateObject&quot;</span><span class="tsd-signature-symbol">; </span>objPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>paramSettings<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Set.UpdateParamSetting&quot;</span><span class="tsd-signature-symbol">; </span>param<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>required<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> }</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:138</li>
@@ -1008,13 +1001,13 @@
 						<h4>Type declaration</h4>
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter">
-								<h5>set<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>allowPartial<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>updateObjs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Set.UpdateObject"</span><span class="tsd-signature-symbol">; </span>objPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>paramSettings<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Set.UpdateParamSetting"</span><span class="tsd-signature-symbol">; </span>param<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>required<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span></h5>
+								<h5>set<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>allowPartial<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>updateObjs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Set.UpdateObject&quot;</span><span class="tsd-signature-symbol">; </span>objPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>paramSettings<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Set.UpdateParamSetting&quot;</span><span class="tsd-signature-symbol">; </span>param<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>required<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span></h5>
 								<ul class="tsd-parameters">
 									<li class="tsd-parameter">
 										<h5>allow<wbr>Partial<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></h5>
 									</li>
 									<li class="tsd-parameter">
-										<h5>update<wbr>Objs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Set.UpdateObject"</span><span class="tsd-signature-symbol">; </span>objPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>paramSettings<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"Set.UpdateParamSetting"</span><span class="tsd-signature-symbol">; </span>param<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>required<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span></h5>
+										<h5>update<wbr>Objs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Set.UpdateObject&quot;</span><span class="tsd-signature-symbol">; </span>objPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>paramSettings<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>lookup<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;Set.UpdateParamSetting&quot;</span><span class="tsd-signature-symbol">; </span>param<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>required<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span></h5>
 									</li>
 								</ul>
 							</li>
@@ -1107,7 +1100,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="recipe" class="tsd-anchor"></a>
 					<h3>Recipe</h3>
-					<div class="tsd-signature tsd-kind-icon">Recipe<span class="tsd-signature-symbol">:</span> <a href="_types_.html#resolverecipe" class="tsd-signature-type">ResolveRecipe</a></div>
+					<div class="tsd-signature tsd-kind-icon">Recipe<span class="tsd-signature-symbol">:</span> <a href="types.html#resolverecipe" class="tsd-signature-type" data-tsd-kind="Type alias">ResolveRecipe</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:170</li>
@@ -1117,7 +1110,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="resolverecipe" class="tsd-anchor"></a>
 					<h3>Resolve<wbr>Recipe</h3>
-					<div class="tsd-signature tsd-kind-icon">Resolve<wbr>Recipe<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><a href="_types_.html#getreturn" class="tsd-signature-type">GetReturn</a>, level<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="_types_.html#getreturn" class="tsd-signature-type">GetReturn</a><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">Resolve<wbr>Recipe<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><a href="types.html#getreturn" class="tsd-signature-type" data-tsd-kind="Type alias">GetReturn</a>, level<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="types.html#getreturn" class="tsd-signature-type" data-tsd-kind="Type alias">GetReturn</a><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:171</li>
@@ -1128,20 +1121,20 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><a href="_types_.html#getreturn" class="tsd-signature-type">GetReturn</a>, level<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="_types_.html#getreturn" class="tsd-signature-type">GetReturn</a><span class="tsd-signature-symbol">&gt;</span></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><a href="types.html#getreturn" class="tsd-signature-type" data-tsd-kind="Type alias">GetReturn</a>, level<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="types.html#getreturn" class="tsd-signature-type" data-tsd-kind="Type alias">GetReturn</a><span class="tsd-signature-symbol">&gt;</span></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
 										<h4 class="tsd-parameters-title">Parameters</h4>
 										<ul class="tsd-parameters">
 											<li>
-												<h5>msg: <a href="_types_.html#getreturn" class="tsd-signature-type">GetReturn</a></h5>
+												<h5>msg: <a href="types.html#getreturn" class="tsd-signature-type" data-tsd-kind="Type alias">GetReturn</a></h5>
 											</li>
 											<li>
-												<h5><span class="tsd-flag ts-flagOptional">Optional</span> level: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span></h5>
+												<h5><span class="tsd-flag ts-flagOptional">Optional</span> level: <span class="tsd-signature-type">number</span></h5>
 											</li>
 										</ul>
-										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="_types_.html#getreturn" class="tsd-signature-type">GetReturn</a><span class="tsd-signature-symbol">&gt;</span></h4>
+										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="types.html#getreturn" class="tsd-signature-type" data-tsd-kind="Type alias">GetReturn</a><span class="tsd-signature-symbol">&gt;</span></h4>
 									</li>
 								</ul>
 							</li>
@@ -1161,7 +1154,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="responseid" class="tsd-anchor"></a>
 					<h3>ResponseID</h3>
-					<div class="tsd-signature tsd-kind-icon">ResponseID<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"ignore"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"error"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
+					<div class="tsd-signature tsd-kind-icon">ResponseID<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;ignore&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;error&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:430</li>
@@ -1171,7 +1164,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="setcommand" class="tsd-anchor"></a>
 					<h3>Set<wbr>Command</h3>
-					<div class="tsd-signature tsd-kind-icon">Set<wbr>Command<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, value<span class="tsd-signature-symbol">: </span><a href="_types_.html#jsvalue" class="tsd-signature-type">JSValue</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#jsvalue" class="tsd-signature-type">JSValue</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><a href="_types_.html#inputrecord" class="tsd-signature-type">InputRecord</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">Set<wbr>Command<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, value<span class="tsd-signature-symbol">: </span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol"> | </span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><a href="types.html#inputrecord" class="tsd-signature-type" data-tsd-kind="Type alias">InputRecord</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:16</li>
@@ -1182,7 +1175,7 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, value<span class="tsd-signature-symbol">: </span><a href="_types_.html#jsvalue" class="tsd-signature-type">JSValue</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#jsvalue" class="tsd-signature-type">JSValue</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><a href="_types_.html#inputrecord" class="tsd-signature-type">InputRecord</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, value<span class="tsd-signature-symbol">: </span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol"> | </span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><a href="types.html#inputrecord" class="tsd-signature-type" data-tsd-kind="Type alias">InputRecord</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
@@ -1192,7 +1185,7 @@
 												<h5>path: <span class="tsd-signature-type">string</span></h5>
 											</li>
 											<li>
-												<h5>value: <a href="_types_.html#jsvalue" class="tsd-signature-type">JSValue</a><span class="tsd-signature-symbol"> | </span><a href="_types_.html#jsvalue" class="tsd-signature-type">JSValue</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><a href="_types_.html#inputrecord" class="tsd-signature-type">InputRecord</a></h5>
+												<h5>value: <a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol"> | </span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><a href="types.html#inputrecord" class="tsd-signature-type" data-tsd-kind="Type alias">InputRecord</a></h5>
 											</li>
 										</ul>
 										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
@@ -1205,7 +1198,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="subscriberecipe" class="tsd-anchor"></a>
 					<h3>Subscribe<wbr>Recipe</h3>
-					<div class="tsd-signature tsd-kind-icon">Subscribe<wbr>Recipe<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>opts<span class="tsd-signature-symbol">: </span><a href="../interfaces/_types_.subscriptionoptions.html" class="tsd-signature-type">SubscriptionOptions</a>, callback<span class="tsd-signature-symbol">: </span><a href="_types_.html#subscriptioncallback" class="tsd-signature-type">SubscriptionCallback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="_types_.html#promiseclearfn" class="tsd-signature-type">PromiseClearFn</a><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">Subscribe<wbr>Recipe<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>opts<span class="tsd-signature-symbol">: </span><a href="../interfaces/types.subscriptionoptions.html" class="tsd-signature-type" data-tsd-kind="Interface">SubscriptionOptions</a>, callback<span class="tsd-signature-symbol">: </span><a href="types.html#subscriptioncallback" class="tsd-signature-type" data-tsd-kind="Type alias">SubscriptionCallback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="types.html#promiseclearfn" class="tsd-signature-type" data-tsd-kind="Type alias">PromiseClearFn</a><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:45</li>
@@ -1216,20 +1209,20 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>opts<span class="tsd-signature-symbol">: </span><a href="../interfaces/_types_.subscriptionoptions.html" class="tsd-signature-type">SubscriptionOptions</a>, callback<span class="tsd-signature-symbol">: </span><a href="_types_.html#subscriptioncallback" class="tsd-signature-type">SubscriptionCallback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="_types_.html#promiseclearfn" class="tsd-signature-type">PromiseClearFn</a><span class="tsd-signature-symbol">&gt;</span></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>opts<span class="tsd-signature-symbol">: </span><a href="../interfaces/types.subscriptionoptions.html" class="tsd-signature-type" data-tsd-kind="Interface">SubscriptionOptions</a>, callback<span class="tsd-signature-symbol">: </span><a href="types.html#subscriptioncallback" class="tsd-signature-type" data-tsd-kind="Type alias">SubscriptionCallback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="types.html#promiseclearfn" class="tsd-signature-type" data-tsd-kind="Type alias">PromiseClearFn</a><span class="tsd-signature-symbol">&gt;</span></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
 										<h4 class="tsd-parameters-title">Parameters</h4>
 										<ul class="tsd-parameters">
 											<li>
-												<h5>opts: <a href="../interfaces/_types_.subscriptionoptions.html" class="tsd-signature-type">SubscriptionOptions</a></h5>
+												<h5>opts: <a href="../interfaces/types.subscriptionoptions.html" class="tsd-signature-type" data-tsd-kind="Interface">SubscriptionOptions</a></h5>
 											</li>
 											<li>
-												<h5>callback: <a href="_types_.html#subscriptioncallback" class="tsd-signature-type">SubscriptionCallback</a></h5>
+												<h5>callback: <a href="types.html#subscriptioncallback" class="tsd-signature-type" data-tsd-kind="Type alias">SubscriptionCallback</a></h5>
 											</li>
 										</ul>
-										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="_types_.html#promiseclearfn" class="tsd-signature-type">PromiseClearFn</a><span class="tsd-signature-symbol">&gt;</span></h4>
+										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="types.html#promiseclearfn" class="tsd-signature-type" data-tsd-kind="Type alias">PromiseClearFn</a><span class="tsd-signature-symbol">&gt;</span></h4>
 									</li>
 								</ul>
 							</li>
@@ -1239,7 +1232,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="subscriptioncallback" class="tsd-anchor"></a>
 					<h3>Subscription<wbr>Callback</h3>
-					<div class="tsd-signature tsd-kind-icon">Subscription<wbr>Callback<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><a href="_types_.html#response" class="tsd-signature-type">Response</a>, fullMsg<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
+					<div class="tsd-signature tsd-kind-icon">Subscription<wbr>Callback<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><a href="types.html#response" class="tsd-signature-type" data-tsd-kind="Type alias">Response</a>, fullMsg<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:338</li>
@@ -1250,14 +1243,14 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><a href="_types_.html#response" class="tsd-signature-type">Response</a>, fullMsg<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>msg<span class="tsd-signature-symbol">: </span><a href="types.html#response" class="tsd-signature-type" data-tsd-kind="Type alias">Response</a>, fullMsg<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
 										<h4 class="tsd-parameters-title">Parameters</h4>
 										<ul class="tsd-parameters">
 											<li>
-												<h5>msg: <a href="_types_.html#response" class="tsd-signature-type">Response</a></h5>
+												<h5>msg: <a href="types.html#response" class="tsd-signature-type" data-tsd-kind="Type alias">Response</a></h5>
 											</li>
 											<li>
 												<h5><span class="tsd-flag ts-flagOptional">Optional</span> fullMsg: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5>
@@ -1273,7 +1266,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="supporteddmcommand" class="tsd-anchor"></a>
 					<h3>SupportedDMCommand</h3>
-					<div class="tsd-signature tsd-kind-icon">SupportedDMCommand<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span>, opts<span class="tsd-signature-symbol">?: </span><a href="../interfaces/_types_.suportedcommandopts.html" class="tsd-signature-type">SuportedCommandOpts</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">SupportedDMCommand<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span>, opts<span class="tsd-signature-symbol">?: </span><a href="../interfaces/types.suportedcommandopts.html" class="tsd-signature-type" data-tsd-kind="Interface">SuportedCommandOpts</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:36</li>
@@ -1284,7 +1277,7 @@
 						<ul class="tsd-parameters">
 							<li class="tsd-parameter-signature">
 								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span>, opts<span class="tsd-signature-symbol">?: </span><a href="../interfaces/_types_.suportedcommandopts.html" class="tsd-signature-type">SuportedCommandOpts</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li>
+									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span>, opts<span class="tsd-signature-symbol">?: </span><a href="../interfaces/types.suportedcommandopts.html" class="tsd-signature-type" data-tsd-kind="Interface">SuportedCommandOpts</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li>
 								</ul>
 								<ul class="tsd-descriptions">
 									<li class="tsd-description">
@@ -1294,7 +1287,7 @@
 												<h5>paths: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h5>
 											</li>
 											<li>
-												<h5><span class="tsd-flag ts-flagOptional">Optional</span> opts: <a href="../interfaces/_types_.suportedcommandopts.html" class="tsd-signature-type">SuportedCommandOpts</a></h5>
+												<h5><span class="tsd-flag ts-flagOptional">Optional</span> opts: <a href="../interfaces/types.suportedcommandopts.html" class="tsd-signature-type" data-tsd-kind="Interface">SuportedCommandOpts</a></h5>
 											</li>
 										</ul>
 										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4>
@@ -1338,7 +1331,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
 					<a name="urlconnectionoptions" class="tsd-anchor"></a>
 					<h3>URLConnection<wbr>Options</h3>
-					<div class="tsd-signature tsd-kind-icon">URLConnection<wbr>Options<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>url<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> &amp; </span><a href="../interfaces/_types_.otherconnectionoptions.html" class="tsd-signature-type">OtherConnectionOptions</a></div>
+					<div class="tsd-signature tsd-kind-icon">URLConnection<wbr>Options<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>url<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> &amp; </span><a href="../interfaces/types.otherconnectionoptions.html" class="tsd-signature-type" data-tsd-kind="Interface">OtherConnectionOptions</a></div>
 					<aside class="tsd-sources">
 						<ul>
 							<li>Defined in types.ts:367</li>
@@ -1350,258 +1343,246 @@
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 			<nav class="tsd-navigation primary">
 				<ul>
-					<li class="globals  ">
-						<a href="../globals.html"><em>Globals</em></a>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
 					</li>
-					<li class="label tsd-is-external">
-						<span>Internals</span>
+					<li class=" tsd-kind-module">
+						<a href="commands.html">commands</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_add_.html">&quot;commands/add&quot;</a>
+						<a href="commands_add.html">commands/add</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_del_.html">&quot;commands/del&quot;</a>
+						<a href="commands_del.html">commands/del</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_get_.html">&quot;commands/get&quot;</a>
+						<a href="commands_get.html">commands/get</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_index_.html">&quot;commands/index&quot;</a>
+						<a href="commands_instances.html">commands/instances</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_instances_.html">&quot;commands/instances&quot;</a>
+						<a href="commands_notify.html">commands/notify</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_notify_.html">&quot;commands/notify&quot;</a>
+						<a href="commands_operate.html">commands/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_operate_.html">&quot;commands/operate&quot;</a>
+						<a href="commands_proto.html">commands/proto</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_proto_.html">&quot;commands/proto&quot;</a>
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_operate_.html">&quot;commands/recipes/operate&quot;</a>
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_resolve_.html">&quot;commands/recipes/resolve&quot;</a>
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_recipes_subscribe_.html">&quot;commands/recipes/subscribe&quot;</a>
+						<a href="commands_set.html">commands/set</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_set_.html">&quot;commands/set&quot;</a>
+						<a href="commands_supported.html">commands/supported</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_supported_.html">&quot;commands/supported&quot;</a>
+						<a href="commands_util.html">commands/util</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_commands_util_.html">&quot;commands/util&quot;</a>
+						<a href="index.html">index</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_index_.html">&quot;index&quot;</a>
+						<a href="testy.html">testy</a>
 					</li>
 					<li class="current tsd-kind-module">
-						<a href="_types_.html">&quot;types&quot;</a>
+						<a href="types.html">types</a>
 					</li>
 					<li class=" tsd-kind-module">
-						<a href="_util_.html">&quot;util&quot;</a>
-					</li>
-					<li class="label tsd-is-external">
-						<span>Externals</span>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_msg_1_1_.html">&quot;specs/usp-<wbr>msg-<wbr>1-1&quot;</a>
-					</li>
-					<li class=" tsd-kind-module tsd-is-external">
-						<a href="_specs_usp_record_1_1_.html">&quot;specs/usp-<wbr>record-<wbr>1-1&quot;</a>
+						<a href="util.html">util</a>
 					</li>
 				</ul>
 			</nav>
 			<nav class="tsd-navigation secondary menu-sticky">
 				<ul class="before-current">
 					<li class=" tsd-kind-interface tsd-parent-kind-module">
-						<a href="../interfaces/_types_.connectionevents.html" class="tsd-kind-icon">Connection<wbr>Events</a>
+						<a href="../interfaces/types.connectionevents.html" class="tsd-kind-icon">Connection<wbr>Events</a>
 					</li>
 					<li class=" tsd-kind-interface tsd-parent-kind-module">
-						<a href="../interfaces/_types_.operateoptions.html" class="tsd-kind-icon">Operate<wbr>Options</a>
+						<a href="../interfaces/types.operateoptions.html" class="tsd-kind-icon">Operate<wbr>Options</a>
 					</li>
 					<li class=" tsd-kind-interface tsd-parent-kind-module">
-						<a href="../interfaces/_types_.otherconnectionoptions.html" class="tsd-kind-icon">Other<wbr>Connection<wbr>Options</a>
+						<a href="../interfaces/types.otherconnectionoptions.html" class="tsd-kind-icon">Other<wbr>Connection<wbr>Options</a>
 					</li>
 					<li class=" tsd-kind-interface tsd-parent-kind-module">
-						<a href="../interfaces/_types_.pbrequestbody.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Body</a>
+						<a href="../interfaces/types.pbrequestbody.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Body</a>
 					</li>
 					<li class=" tsd-kind-interface tsd-parent-kind-module">
-						<a href="../interfaces/_types_.pbrequestheader.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Header</a>
+						<a href="../interfaces/types.pbrequestheader.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Header</a>
 					</li>
 					<li class=" tsd-kind-interface tsd-parent-kind-module">
-						<a href="../interfaces/_types_.pbrequestmessage.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Message</a>
+						<a href="../interfaces/types.pbrequestmessage.html" class="tsd-kind-icon">Pb<wbr>Request<wbr>Message</a>
 					</li>
 					<li class=" tsd-kind-interface tsd-parent-kind-module">
-						<a href="../interfaces/_types_.recipeobject.html" class="tsd-kind-icon">Recipe<wbr>Object</a>
+						<a href="../interfaces/types.recipeobject.html" class="tsd-kind-icon">Recipe<wbr>Object</a>
 					</li>
 					<li class=" tsd-kind-interface tsd-parent-kind-module">
-						<a href="../interfaces/_types_.subscriptionoptions.html" class="tsd-kind-icon">Subscription<wbr>Options</a>
+						<a href="../interfaces/types.subscriptionoptions.html" class="tsd-kind-icon">Subscription<wbr>Options</a>
 					</li>
 					<li class=" tsd-kind-interface tsd-parent-kind-module">
-						<a href="../interfaces/_types_.suportedcommandopts.html" class="tsd-kind-icon">Suported<wbr>Command<wbr>Opts</a>
+						<a href="../interfaces/types.suportedcommandopts.html" class="tsd-kind-icon">Suported<wbr>Command<wbr>Opts</a>
 					</li>
 					<li class=" tsd-kind-interface tsd-parent-kind-module">
-						<a href="../interfaces/_types_.usp.html" class="tsd-kind-icon">USP</a>
+						<a href="../interfaces/types.usp.html" class="tsd-kind-icon">USP</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#addcommand" class="tsd-kind-icon">Add<wbr>Command</a>
+						<a href="types.html#addcommand" class="tsd-kind-icon">Add<wbr>Command</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#callargs" class="tsd-kind-icon">Call<wbr>Args</a>
+						<a href="types.html#callargs" class="tsd-kind-icon">Call<wbr>Args</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#callfn" class="tsd-kind-icon">Call<wbr>Fn</a>
+						<a href="types.html#callfn" class="tsd-kind-icon">Call<wbr>Fn</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#certtype" class="tsd-kind-icon">Cert<wbr>Type</a>
+						<a href="types.html#certtype" class="tsd-kind-icon">Cert<wbr>Type</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#clearfn" class="tsd-kind-icon">Clear<wbr>Fn</a>
+						<a href="types.html#clearfn" class="tsd-kind-icon">Clear<wbr>Fn</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#command" class="tsd-kind-icon">Command</a>
+						<a href="types.html#command" class="tsd-kind-icon">Command</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#commandobject" class="tsd-kind-icon">Command<wbr>Object</a>
+						<a href="types.html#commandobject" class="tsd-kind-icon">Command<wbr>Object</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#commandtrigger" class="tsd-kind-icon">Command<wbr>Trigger</a>
+						<a href="types.html#commandtrigger" class="tsd-kind-icon">Command<wbr>Trigger</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#commandtype" class="tsd-kind-icon">Command<wbr>Type</a>
+						<a href="types.html#commandtype" class="tsd-kind-icon">Command<wbr>Type</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#connect" class="tsd-kind-icon">Connect</a>
+						<a href="types.html#connect" class="tsd-kind-icon">Connect</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#connectionoptions" class="tsd-kind-icon">Connection<wbr>Options</a>
+						<a href="types.html#connectionoptions" class="tsd-kind-icon">Connection<wbr>Options</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#decodefn" class="tsd-kind-icon">Decode<wbr>Fn</a>
+						<a href="types.html#decodefn" class="tsd-kind-icon">Decode<wbr>Fn</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#decoderesponse" class="tsd-kind-icon">Decode<wbr>Response</a>
+						<a href="types.html#decoderesponse" class="tsd-kind-icon">Decode<wbr>Response</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#delcommand" class="tsd-kind-icon">Del<wbr>Command</a>
+						<a href="types.html#delcommand" class="tsd-kind-icon">Del<wbr>Command</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#encodeargs" class="tsd-kind-icon">Encode<wbr>Args</a>
+						<a href="types.html#encodeargs" class="tsd-kind-icon">Encode<wbr>Args</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#encodefn" class="tsd-kind-icon">Encode<wbr>Fn</a>
+						<a href="types.html#encodefn" class="tsd-kind-icon">Encode<wbr>Fn</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#getcommand" class="tsd-kind-icon">Get<wbr>Command</a>
+						<a href="types.html#getcommand" class="tsd-kind-icon">Get<wbr>Command</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#getreturn" class="tsd-kind-icon">Get<wbr>Return</a>
+						<a href="types.html#getreturn" class="tsd-kind-icon">Get<wbr>Return</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#hostconnectionoptions" class="tsd-kind-icon">Host<wbr>Connection<wbr>Options</a>
+						<a href="types.html#hostconnectionoptions" class="tsd-kind-icon">Host<wbr>Connection<wbr>Options</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#inputrecord" class="tsd-kind-icon">Input<wbr>Record</a>
+						<a href="types.html#inputrecord" class="tsd-kind-icon">Input<wbr>Record</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#instancescommand" class="tsd-kind-icon">Instances<wbr>Command</a>
+						<a href="types.html#instancescommand" class="tsd-kind-icon">Instances<wbr>Command</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#jsvalue" class="tsd-kind-icon">JSValue</a>
+						<a href="types.html#jsvalue" class="tsd-kind-icon">JSValue</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#makefn" class="tsd-kind-icon">Make<wbr>Fn</a>
+						<a href="types.html#makefn" class="tsd-kind-icon">Make<wbr>Fn</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#makerecipefn" class="tsd-kind-icon">Make<wbr>Recipe<wbr>Fn</a>
-					</li>
-					<li class=" tsd-kind-type-alias tsd-parent-kind-module tsd-is-not-exported">
-						<a href="_types_.html#notiftype" class="tsd-kind-icon">Notif<wbr>Type</a>
+						<a href="types.html#makerecipefn" class="tsd-kind-icon">Make<wbr>Recipe<wbr>Fn</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#onfn" class="tsd-kind-icon">On<wbr>Fn</a>
+						<a href="types.html#onfn" class="tsd-kind-icon">On<wbr>Fn</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#onident" class="tsd-kind-icon">On<wbr>Ident</a>
+						<a href="types.html#onident" class="tsd-kind-icon">On<wbr>Ident</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#operateclearfn" class="tsd-kind-icon">Operate<wbr>Clear<wbr>Fn</a>
+						<a href="types.html#operateclearfn" class="tsd-kind-icon">Operate<wbr>Clear<wbr>Fn</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#operatecommand" class="tsd-kind-icon">Operate<wbr>Command</a>
+						<a href="types.html#operatecommand" class="tsd-kind-icon">Operate<wbr>Command</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#operatefn" class="tsd-kind-icon">Operate<wbr>Fn</a>
+						<a href="types.html#operatefn" class="tsd-kind-icon">Operate<wbr>Fn</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#operaterecipe" class="tsd-kind-icon">Operate<wbr>Recipe</a>
+						<a href="types.html#operaterecipe" class="tsd-kind-icon">Operate<wbr>Recipe</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#pbrequestcommand" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command</a>
+						<a href="types.html#pbrequestcommand" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#pbrequestcommandadd" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Add</a>
+						<a href="types.html#pbrequestcommandadd" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Add</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#pbrequestcommanddel" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Del</a>
+						<a href="types.html#pbrequestcommanddel" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Del</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#pbrequestcommandget" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Get</a>
+						<a href="types.html#pbrequestcommandget" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Get</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#pbrequestcommandinstance" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Instance</a>
+						<a href="types.html#pbrequestcommandinstance" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Instance</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#pbrequestcommandoperate" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Operate</a>
+						<a href="types.html#pbrequestcommandoperate" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Operate</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#pbrequestcommandset" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Set</a>
+						<a href="types.html#pbrequestcommandset" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Set</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#pbrequestcommandsupport" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Support</a>
+						<a href="types.html#pbrequestcommandsupport" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Support</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#pbrequestcommandsupportproto" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Support<wbr>Proto</a>
+						<a href="types.html#pbrequestcommandsupportproto" class="tsd-kind-icon">Pb<wbr>Request<wbr>Command<wbr>Support<wbr>Proto</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#promiseclearfn" class="tsd-kind-icon">Promise<wbr>Clear<wbr>Fn</a>
+						<a href="types.html#promiseclearfn" class="tsd-kind-icon">Promise<wbr>Clear<wbr>Fn</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#recipe" class="tsd-kind-icon">Recipe</a>
+						<a href="types.html#recipe" class="tsd-kind-icon">Recipe</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#resolverecipe" class="tsd-kind-icon">Resolve<wbr>Recipe</a>
+						<a href="types.html#resolverecipe" class="tsd-kind-icon">Resolve<wbr>Recipe</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#response" class="tsd-kind-icon">Response</a>
+						<a href="types.html#response" class="tsd-kind-icon">Response</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#responseid" class="tsd-kind-icon">ResponseID</a>
+						<a href="types.html#responseid" class="tsd-kind-icon">ResponseID</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#setcommand" class="tsd-kind-icon">Set<wbr>Command</a>
+						<a href="types.html#setcommand" class="tsd-kind-icon">Set<wbr>Command</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#subscriberecipe" class="tsd-kind-icon">Subscribe<wbr>Recipe</a>
+						<a href="types.html#subscriberecipe" class="tsd-kind-icon">Subscribe<wbr>Recipe</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#subscriptioncallback" class="tsd-kind-icon">Subscription<wbr>Callback</a>
+						<a href="types.html#subscriptioncallback" class="tsd-kind-icon">Subscription<wbr>Callback</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#supporteddmcommand" class="tsd-kind-icon">SupportedDMCommand</a>
+						<a href="types.html#supporteddmcommand" class="tsd-kind-icon">SupportedDMCommand</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#supportedprotocommand" class="tsd-kind-icon">Supported<wbr>Proto<wbr>Command</a>
+						<a href="types.html#supportedprotocommand" class="tsd-kind-icon">Supported<wbr>Proto<wbr>Command</a>
 					</li>
 					<li class=" tsd-kind-type-alias tsd-parent-kind-module">
-						<a href="_types_.html#urlconnectionoptions" class="tsd-kind-icon">URLConnection<wbr>Options</a>
+						<a href="types.html#urlconnectionoptions" class="tsd-kind-icon">URLConnection<wbr>Options</a>
 					</li>
 				</ul>
 			</nav>
@@ -1613,7 +1594,6 @@
 		<h2>Legend</h2>
 		<div class="tsd-legend-group">
 			<ul class="tsd-legend">
-				<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
 				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
 				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
 				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
diff --git a/public/modules/util.html b/public/modules/util.html
new file mode 100644
index 0000000000000000000000000000000000000000..e9b3ccbd39e5c435d64636cfb3f8ef9994bcbd5d
--- /dev/null
+++ b/public/modules/util.html
@@ -0,0 +1,336 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>util | usp-js</title>
+	<meta name="description" content="Documentation for usp-js">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+	<script async src="../assets/js/search.js" id="search-script"></script>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">usp-js</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../modules.html">usp-js</a>
+				</li>
+				<li>
+					<a href="util.html">util</a>
+				</li>
+			</ul>
+			<h1>Module util</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Functions</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="util.html#makecallbackrouter" class="tsd-kind-icon">make<wbr>Callback<wbr>Router</a></li>
+								<li class="tsd-kind-function tsd-parent-kind-module"><a href="util.html#makerouter" class="tsd-kind-icon">make<wbr>Router</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Functions</h2>
+				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
+					<a name="makecallbackrouter" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagConst">Const</span> make<wbr>Callback<wbr>Router</h3>
+					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
+						<li class="tsd-signature tsd-kind-icon">make<wbr>Callback<wbr>Router<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>add<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>ident<span class="tsd-signature-symbol">: </span><a href="types.html#onident" class="tsd-signature-type" data-tsd-kind="Type alias">OnIdent</a>, callback<span class="tsd-signature-symbol">: </span><a href="types.html#subscriptioncallback" class="tsd-signature-type" data-tsd-kind="Type alias">SubscriptionCallback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">; </span>del<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><a href="types.html#onident" class="tsd-signature-type" data-tsd-kind="Type alias">OnIdent</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>get<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="types.html#subscriptioncallback" class="tsd-signature-type" data-tsd-kind="Type alias">SubscriptionCallback</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<ul>
+									<li>Defined in util.ts:24</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{ </span>add<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>ident<span class="tsd-signature-symbol">: </span><a href="types.html#onident" class="tsd-signature-type" data-tsd-kind="Type alias">OnIdent</a>, callback<span class="tsd-signature-symbol">: </span><a href="types.html#subscriptioncallback" class="tsd-signature-type" data-tsd-kind="Type alias">SubscriptionCallback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">; </span>del<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><a href="types.html#onident" class="tsd-signature-type" data-tsd-kind="Type alias">OnIdent</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>get<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="types.html#subscriptioncallback" class="tsd-signature-type" data-tsd-kind="Type alias">SubscriptionCallback</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> }</span></h4>
+							<ul class="tsd-parameters">
+								<li class="tsd-parameter">
+									<h5>add<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>ident<span class="tsd-signature-symbol">: </span><a href="types.html#onident" class="tsd-signature-type" data-tsd-kind="Type alias">OnIdent</a>, callback<span class="tsd-signature-symbol">: </span><a href="types.html#subscriptioncallback" class="tsd-signature-type" data-tsd-kind="Type alias">SubscriptionCallback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></h5>
+									<ul class="tsd-parameters">
+										<li class="tsd-parameter-signature">
+											<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-literal">
+												<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>ident<span class="tsd-signature-symbol">: </span><a href="types.html#onident" class="tsd-signature-type" data-tsd-kind="Type alias">OnIdent</a>, callback<span class="tsd-signature-symbol">: </span><a href="types.html#subscriptioncallback" class="tsd-signature-type" data-tsd-kind="Type alias">SubscriptionCallback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+											</ul>
+											<ul class="tsd-descriptions">
+												<li class="tsd-description">
+													<h4 class="tsd-parameters-title">Parameters</h4>
+													<ul class="tsd-parameters">
+														<li>
+															<h5>ident: <a href="types.html#onident" class="tsd-signature-type" data-tsd-kind="Type alias">OnIdent</a></h5>
+														</li>
+														<li>
+															<h5>callback: <a href="types.html#subscriptioncallback" class="tsd-signature-type" data-tsd-kind="Type alias">SubscriptionCallback</a></h5>
+														</li>
+													</ul>
+													<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
+												</li>
+											</ul>
+										</li>
+									</ul>
+								</li>
+								<li class="tsd-parameter">
+									<h5>del<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><a href="types.html#onident" class="tsd-signature-type" data-tsd-kind="Type alias">OnIdent</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">boolean</span></h5>
+									<ul class="tsd-parameters">
+										<li class="tsd-parameter-signature">
+											<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-literal">
+												<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><a href="types.html#onident" class="tsd-signature-type" data-tsd-kind="Type alias">OnIdent</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
+											</ul>
+											<ul class="tsd-descriptions">
+												<li class="tsd-description">
+													<h4 class="tsd-parameters-title">Parameters</h4>
+													<ul class="tsd-parameters">
+														<li>
+															<h5>id: <a href="types.html#onident" class="tsd-signature-type" data-tsd-kind="Type alias">OnIdent</a></h5>
+														</li>
+													</ul>
+													<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
+												</li>
+											</ul>
+										</li>
+									</ul>
+								</li>
+								<li class="tsd-parameter">
+									<h5>get<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="types.html#subscriptioncallback" class="tsd-signature-type" data-tsd-kind="Type alias">SubscriptionCallback</a><span class="tsd-signature-symbol">[]</span></h5>
+									<ul class="tsd-parameters">
+										<li class="tsd-parameter-signature">
+											<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-literal">
+												<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="types.html#subscriptioncallback" class="tsd-signature-type" data-tsd-kind="Type alias">SubscriptionCallback</a><span class="tsd-signature-symbol">[]</span></li>
+											</ul>
+											<ul class="tsd-descriptions">
+												<li class="tsd-description">
+													<h4 class="tsd-parameters-title">Parameters</h4>
+													<ul class="tsd-parameters">
+														<li>
+															<h5>id: <span class="tsd-signature-type">string</span></h5>
+														</li>
+													</ul>
+													<h4 class="tsd-returns-title">Returns <a href="types.html#subscriptioncallback" class="tsd-signature-type" data-tsd-kind="Type alias">SubscriptionCallback</a><span class="tsd-signature-symbol">[]</span></h4>
+												</li>
+											</ul>
+										</li>
+									</ul>
+								</li>
+							</ul>
+						</li>
+					</ul>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
+					<a name="makerouter" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagConst">Const</span> make<wbr>Router</h3>
+					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
+						<li class="tsd-signature tsd-kind-icon">make<wbr>Router<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>add<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, data<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">; </span>get<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<ul>
+									<li>Defined in util.ts:6</li>
+								</ul>
+							</aside>
+							<div class="tsd-comment tsd-typography">
+								<div class="lead">
+									<p>Makes a router for storing resolve/reject for a message</p>
+								</div>
+							</div>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{ </span>add<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, data<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">; </span>get<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span></h4>
+							<ul class="tsd-parameters">
+								<li class="tsd-parameter">
+									<h5>add<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, data<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></h5>
+									<ul class="tsd-parameters">
+										<li class="tsd-parameter-signature">
+											<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-literal">
+												<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, data<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+											</ul>
+											<ul class="tsd-descriptions">
+												<li class="tsd-description">
+													<h4 class="tsd-parameters-title">Parameters</h4>
+													<ul class="tsd-parameters">
+														<li>
+															<h5>id: <span class="tsd-signature-type">string</span></h5>
+														</li>
+														<li>
+															<h5>data: <span class="tsd-signature-type">any</span></h5>
+														</li>
+													</ul>
+													<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
+												</li>
+											</ul>
+										</li>
+									</ul>
+								</li>
+								<li class="tsd-parameter">
+									<h5>get<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">any</span></h5>
+									<ul class="tsd-parameters">
+										<li class="tsd-parameter-signature">
+											<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-literal">
+												<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li>
+											</ul>
+											<ul class="tsd-descriptions">
+												<li class="tsd-description">
+													<h4 class="tsd-parameters-title">Parameters</h4>
+													<ul class="tsd-parameters">
+														<li>
+															<h5>id: <span class="tsd-signature-type">string</span></h5>
+														</li>
+													</ul>
+													<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4>
+												</li>
+											</ul>
+										</li>
+									</ul>
+								</li>
+							</ul>
+						</li>
+					</ul>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class=" ">
+						<a href="../modules.html">Exports</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands.html">commands</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_add.html">commands/add</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_del.html">commands/del</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_get.html">commands/get</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_instances.html">commands/instances</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_notify.html">commands/notify</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_operate.html">commands/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_proto.html">commands/proto</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_operate.html">commands/recipes/operate</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_resolve.html">commands/recipes/resolve</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_recipes_subscribe.html">commands/recipes/subscribe</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_set.html">commands/set</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_supported.html">commands/supported</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="commands_util.html">commands/util</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="index.html">index</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="testy.html">testy</a>
+					</li>
+					<li class=" tsd-kind-module">
+						<a href="types.html">types</a>
+					</li>
+					<li class="current tsd-kind-module">
+						<a href="util.html">util</a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+					<li class=" tsd-kind-function tsd-parent-kind-module">
+						<a href="util.html#makecallbackrouter" class="tsd-kind-icon">make<wbr>Callback<wbr>Router</a>
+					</li>
+					<li class=" tsd-kind-function tsd-parent-kind-module">
+						<a href="util.html#makerouter" class="tsd-kind-icon">make<wbr>Router</a>
+					</li>
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
+				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
+				<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
index 2870b6a3018f7a3861464548366206ae9a4dfad0..d476505933960c2112547c3c49ccaf9ffc11568d 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,5 +1,13 @@
 {
-  "exclude": ["node_modules", "dist", "tests", "docs", "public", "webpack.config.js", "lib"],
+  "exclude": [
+    "node_modules",
+    "dist",
+    "tests",
+    "docs",
+    "public",
+    "webpack.config.js",
+    "lib"
+  ],
   "compilerOptions": {
     "target": "ES5",
     "module": "CommonJS",
@@ -20,16 +28,7 @@
   },
   "compileOnSave": true,
   "typedocOptions": {
-    "mode": "modules",
     "out": "public",
-    "inputFiles": ["./src"],
-    "includeDeclarations": true,
-    "exclude": [
-      "**/node_modules/**",
-      "**/testy.ts",
-      "**/lib/**",
-      "**/protobuf-spec/**",
-      "**/usp/**"
-    ]
+    "entryPoints": ["./src"],
   }
 }