j1-template 2021.1.21 → 2021.1.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/themes/j1/procedures/global/attributes_loader.proc +4 -0
- data/assets/data/banner.html +2 -2
- data/assets/data/panel.html +3 -3
- data/assets/error_pages/HTTP204.html +3 -1
- data/assets/error_pages/HTTP400.html +3 -1
- data/assets/error_pages/HTTP401.html +3 -1
- data/assets/error_pages/HTTP403.html +3 -1
- data/assets/error_pages/HTTP404.html +3 -1
- data/assets/error_pages/HTTP444.html +3 -1
- data/assets/error_pages/HTTP500.html +3 -1
- data/assets/error_pages/HTTP501.html +3 -1
- data/assets/error_pages/HTTP502.html +3 -1
- data/assets/error_pages/HTTP503.html +6 -2
- data/assets/themes/j1/adapter/js/j1.js +6 -0
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +48 -2
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
- data/assets/themes/j1/core/css/vendor.css +187 -0
- data/assets/themes/j1/core/css/vendor.min.css +1 -1
- data/assets/themes/j1/core/js/template.js +1 -1
- data/assets/themes/j1/core/js/template.js.map +1 -1
- data/assets/themes/j1/core/js/template.min.js +1 -1
- data/assets/themes/j1/core/js/template.min.js.map +1 -1
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +2 -2
- data/lib/starter_web/_data/blocks/banner.yml +1 -1
- data/lib/starter_web/_data/blocks/footer.yml +2 -2
- data/lib/starter_web/_data/blocks/panel.yml +25 -17
- data/lib/starter_web/_includes/attributes.asciidoc +10 -1
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +1 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/2020-01-01-about-cookies.adoc +1 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-01-site-generators.adoc +1 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-03-about-j1.adoc +1 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/_includes/attributes.asciidoc +7 -1
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +1 -1
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +1 -1
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +1 -1
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +1 -1
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +1 -0
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +2 -1
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +2 -1
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/_includes/attributes.asciidoc +7 -0
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/attributes.asciidoc +7 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/attributes.asciidoc +7 -1
- data/lib/starter_web/pages/public/blog/navigator/archive.html +0 -1
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc +9 -0
- data/lib/starter_web/pages/public/previewer/_includes/attributes.asciidoc +6 -0
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +2 -2
@@ -1 +1 @@
|
|
1
|
-
.note{padding:0!important;border-left:0!important;border-radius:2px!important}code{word-break:break-word;padding:.125em .275em!important;border-radius:2px;background-color:#e0e0e0!important}.h2,h2{font-size:200%!important}.h2,.h3,h2,h3{font-weight:500}.h3,h3{font-size:175%!important}.h4,.h5,h4,h5{font-size:150%!important;font-weight:400}div .paragraph p span.scaled img{width:auto;height:auto;max-height:100%;max-width:100%}#preamble div.sectionbody div.paragraph.turnoff{display:none}div.paragraph #preamble div.sectionbody div.paragraph.turnoff{display:block}b,optgroup,strong{font-weight:600}address,cite,dfn,em,var{font-style:italic;font-weight:400}table{border-collapse:collapse;border-spacing:0;font-size:85%;background:#fff;margin-bottom:1.25em;border:1px solid #9e9e9e;width:-webkit-fill-available}table tfoot,table thead{background:#eee;font-weight:700}table tfoot tr td,table tfoot tr th,table thead tr td,table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8)!important;text-align:left}table tr td,table tr th{padding:.5rem 1rem;font-size:inherit;color:rgba(0,0,0,.8)!important;border-right:1px solid #bdbdbd;border-bottom:1px solid #bdbdbd}table tr.alt,table tr.even,table tr:nth-of-type(2n){background:#f5f5f5}table tbody tr td,table tfoot tr td,table tfoot tr th,table thead tr th,table tr td{display:table-cell;line-height:1.6}table.full-width{width:100%}table.tableblock{max-width:100%;border-collapse:separate}table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock td>p:last-child,table.tableblock th>p:last-child{margin-bottom:0}table.spread{width:100%}table.grid-all td.tableblock,table.grid-all th.tableblock{border-width:0 1px 1px 0}table.grid-all tfoot>tr>td.tableblock,table.grid-all tfoot>tr>th.tableblock{border-width:1px 1px 0 0}table.grid-cols td.tableblock,table.grid-cols th.tableblock{border-width:0 1px 0 0}table.grid-rows td.tableblock,table.grid-rows th.tableblock{border-width:0 0 1px}table.grid-all tbody>td:last-child>th.tableblock{border-bottom-width:1px}table.grid-rows tfoot>tr>td.tableblock,table.grid-rows tfoot>tr>th.tableblock{border-width:1px 0 0}table.frame-all{border-width:1px}table.frame-sides{border-width:0 1px}table.frame-topbot{border-width:1px 0}td.halign-left,th.halign-left{text-align:left}td.halign-right,th.halign-right{text-align:right}td.halign-center,th.halign-center{text-align:center}td.valign-top,th.valign-top{vertical-align:top}td.valign-bottom,th.valign-bottom{vertical-align:bottom}td.valign-middle,th.valign-middle{vertical-align:middle}table tfoot th,table thead th{font-weight:700}tbody tr th{display:table-cell;line-height:1.6;background:#f5f5f5}tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}p.tableblock>code:only-child{background:none;padding:0}p.tableblock{font-size:1em;margin-top:1.5em}.quoteblock{margin-right:1em;margin-bottom:1.25em;margin-left:1.5em;display:table}.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.8);line-height:1.3;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.quoteblock blockquote{margin:0;padding:0;border:0}.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.1em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#0d47a1;text-shadow:0 1px 2px rgba(0,0,0,.1)}.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}.quoteblock .quoteblock blockquote:before{display:none}.imageblock img{max-width:100%;height:auto}span.icon>.fa{cursor:default}.audioblock>.title,.dlist>.title,.exampleblock>.title,.hdlist>.title,.literalblock>.title,.olist>.title,.openblock>.title,.paragraph>.title,.qlist>.title,.quoteblock>.title,.stemblock>.title,.ulist>.title,.verseblock>.title,.videoblock>.title{text-rendering:optimizeLegibility;text-align:left;color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500;margin-top:.5em;margin-bottom:.75em}.admonitionblock td.content>.title{margin-bottom:.5em}.admonitionblock td.content>.title,table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500}table.tableblock>.title{margin:0!important;border-top:1px solid #9e9e9e}.imageblock>.title,.listingblock>.title{color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500;margin-bottom:.5rem}.listingblock pre{display:block;line-height:1.25rem!important;word-break:break-all;word-wrap:break-word;padding:.75rem;margin:0 0 1.5rem;border:1px solid #bdbdbd}.admonitionblock>table td.icon{text-align:center;width:130px;border-right:0!important;border-bottom:0}.admonitionblock>table td.icon img{max-width:none}.admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.125em;border-right:1px;border-left:1px dotted #9e9e9e;font-size:inherit;color:rgba(0,0,0,.8);text-align:justify;border-bottom:0;min-width:20em}.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.icon-note{color:#2196f3}.icon-tip{color:#4caf50}.icon-important{color:#ff9800}.icon-warning{color:#fdd835}.icon-caution{color:#f44336}.admonitionblock td.icon [class^="fa icon-"]{font-size:5rem;cursor:default}.admonitionblock td.icon .icon-note:before{content:"\f05a"}.admonitionblock td.icon .icon-tip:before{content:"\f0eb"}.admonitionblock td.icon .icon-important:before{content:"\f06a"}.admonitionblock td.icon .icon-warning:before{content:"\f071"}.admonitionblock td.icon .icon-caution:before{content:"\f06d"}.admonitionblock td.icon .icon-question:before{content:"\f128";color:#ffc107}.admonitionblock td.icon .icon-answer:before{content:"\f0a4";color:#4caf50}.exampleblock{margin-bottom:1.25rem;border-radius:2px;color:rgba(0,0,0,.8);background:#fafafa}.exampleblock>.content>:first-child{margin-top:0}.exampleblock>.content>:last-child{margin-bottom:0;margin-bottom:1.25em}.exampleblock.result{display:none}a.view-result{float:right;font-weight:400;text-decoration:none;font-size:85%;line-height:.9}span.footnote,span.footnoteref{vertical-align:super;font-size:.875em}span.footnote a,span.footnoteref a{text-decoration:none}span.footnote a:active,span.footnoteref a:active{text-decoration:underline}#footnotes{padding:.75em 0;margin-top:-.625em}#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}#footnotes .footnote{line-height:1.3;font-size:.875em;margin-left:1.2em;text-indent:-1.2em;margin-bottom:.2em;padding:0 .375em}#footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none}#footnotes .footnote:last-of-type{margin-bottom:0}.gist .file-data>table{border:0;background:#000;width:100%;margin-bottom:0}.gist .file-data>table td.line-data{width:99%}.mono{font-family:Droid Sans Mono,DejaVu Sans Mono,"Monospace",monospace}.unbreakable{page-break-inside:avoid}.big{font-size:larger}.small{font-size:smaller}.bold{font-weight:700}.italic{font-style:italic}.underline{text-decoration:underline}.overline{text-decoration:overline}.line-through{text-decoration:line-through}.aqua{color:#00bfbf}.aqua-background{background-color:#00fafa}.black{color:#000}.black-background{background-color:#000}.blue{color:#0000bf}.blue-background{background-color:#0000fa}.fuchsia{color:#bf00bf}.fuchsia-background{background-color:#fa00fa}.gray{color:#606060}.gray-background{background-color:#7d7d7d}.grey{color:#606060}.grey-background{background-color:#7d7d7d}.green{color:#006000}.green-background{background-color:#007d00}.lime{color:#00bf00}.lime-background{background-color:#00fa00}.maroon{color:#600000}.maroon-background{background-color:#7d0000}.navy{color:#000060}.navy-background{background-color:#00007d}.olive{color:#606000}.olive-background{background-color:#7d7d00}.purple{color:#600060}.purple-background{background-color:#7d007d}.red{color:#bf0000}.red-background{background-color:#fa0000}.silver{color:#909090}.silver-background{background-color:#bcbcbc}.teal{color:#006060}.teal-background{background-color:#007d7d}.white{color:#bfbfbf}.white-background{background-color:#fafafa}.yellow{color:#bfbf00}.yellow-background{background-color:#fafa00}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;margin-right:.25rem}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}.colist>table,.hdlist>table{border-collapse:separate;border:0;background:none}.colist>table tr td,.colist>table tr th{border-right:0;border-bottom:0}.colist>table>tbody>tr,.hdlist>table>tbody>tr{background:none}td.hdlist1{padding-right:.75em;font-weight:700}td.hdlist1,td.hdlist2{vertical-align:top}.listingblock+.colist,.literalblock+.colist{margin-top:-.5em}.colist>table tr>td:first-of-type{padding:0 .5rem;line-height:1}.colist>table tr>td:last-of-type{padding:.25rem 0}.conum[data-value]{display:inline-block;background-color:#2196f3;-webkit-border-radius:100px;border-radius:100px;text-align:center;width:1.67em;height:1.67em;font-size:85%;line-height:1.67em;font-family:Roboto,sans-serif;font-style:normal;font-weight:600}.conum[data-value],.conum[data-value] *{color:#fafafa!important}.conum[data-value]+b{display:none}.conum[data-value]:after{content:attr(data-value)}pre .conum[data-value]{position:relative;top:-.125em}b.conum *{color:inherit!important}.conum:not([data-value]):empty{display:none}kbd{font-family:monospace,serif;font-size:1em}.keyseq{color:rgba(51,51,51,.8)}kbd:not(.keyseq){display:inline-block;color:rgba(0,0,0,.8);font-size:.75em;background-color:#e0e0e0;border:1px solid #bdbdbd;-webkit-border-radius:3px;border-radius:3px;margin:-.15em .15em 0;padding:.2em .6em .2em .5em;vertical-align:middle;white-space:nowrap}.keyseq kbd:first-child{margin-left:0}.keyseq kbd:last-child{margin-right:0}.qanda>ol>li>p>em:only-child{color:#455a64}.olist>ol>li>p,.ulist>ul>li>p{margin:0 0 .1em!important}ul.circle li ul,ul.disc li ul,ul.square li ul{list-style:inherit}ul.square{list-style-type:square}ul.circle{list-style-type:circle}ul.disc{list-style-type:disc}.fa.fa-square-o{font-weight:400!important}.fa-square-o:before{content:"\f0c8"}.fa.fa-check-square-o{font-weight:400!important}.fa-check-square-o:before{content:"\f14a"}.ulist.checklist>ul>li>p>input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0;position:relative;z-index:1;display:inline-block;width:1.125rem;height:1.125rem;overflow:hidden;border:.125rem solid rgba(0,0,0,.54);border-radius:.125rem}@media only screen and (max-width:576px){.admonitionblock>table td.content{border-left:0}}@media only screen and (max-width:768px) and (max-width:992px){.admonitionblock>table td.content{border-left:0}.admonitionblock table,.admonitionblock tbody,.admonitionblock td,.admonitionblock tr{display:block}.admonitionblock>table td.icon{width:unset}.admonitionblock td.icon{padding-left:unset!important}.admonitionblock td{border:none;border-top:1px dotted #bdbdbd;position:relative;white-space:normal}.admonitionblock td:before{position:absolute;top:6px;left:6px;width:45%;padding-right:10px;white-space:nowrap;text-align:left;font-weight:700}}.tooltip-inner{background-color:#607d8b;border-radius:.125rem}.tooltip.in{opacity:1}.tooltip.bs-tether-element-attached-bottom .tooltip-arrow,.tooltip.tooltip-top .tooltip-arrow{border-top-color:#263238}.btn-viewer{position:absolute;top:2.6rem;right:.5rem;z-index:3;display:block;padding:.25rem .75rem;font-size:.75rem;font-style:normal;font-weight:300;color:#212121;cursor:pointer;text-transform:uppercase;background-color:transparent;border-radius:.25rem}.btn-viewer:hover{color:#fff;background-color:#607d8b}.btn-viewer+.tooltip>.tooltip-inner{background-color:red}.j1-viewer{position:relative;display:block;float:right}.j1-tooltip+.tooltip>.tooltip-arrow,.j1-tooltip+.tooltip>.tooltip-inner{background-color:red}@media screen and (min-width:320px) and (max-width:767px){.j1-viewer{display:none}}@font-face{font-family:Roboto;src:local(Roboto Thin),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff) format("woff");font-weight:100}@font-face{font-family:Roboto;src:local(Roboto Light),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff) format("woff");font-weight:300}@font-face{font-family:Roboto;src:local(Roboto Regular),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff) format("woff");font-weight:400}@font-face{font-family:Roboto;src:local(Roboto Medium),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff) format("woff");font-weight:500}@font-face{font-family:Roboto;src:local(Roboto Bold),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff) format("woff");font-weight:700}
|
1
|
+
.note{padding:0!important;border-left:0!important;border-radius:2px!important}code{word-break:break-word;padding:.125em .275em!important;border-radius:2px;background-color:#e0e0e0!important}.h2,h2{font-size:200%!important}.h2,.h3,h2,h3{font-weight:500}.h3,h3{font-size:175%!important}.h4,.h5,h4,h5{font-size:150%!important;font-weight:400}div .paragraph p span.scaled img{width:auto;height:auto;max-height:100%;max-width:100%}#preamble div.sectionbody div.paragraph.turnoff{display:none}div.paragraph #preamble div.sectionbody div.paragraph.turnoff{display:block}b,optgroup,strong{font-weight:600}address,cite,dfn,em,var{font-style:italic;font-weight:400}table{border-collapse:collapse;border-spacing:0;font-size:85%;background:#fff;margin-bottom:1.25em;border:1px solid #9e9e9e;width:-webkit-fill-available}table tfoot,table thead{background:#eee;font-weight:700}table tfoot tr td,table tfoot tr th,table thead tr td,table thead tr th{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8)!important;text-align:left}table tr td,table tr th{padding:.5rem 1rem;font-size:inherit;color:rgba(0,0,0,.8)!important;border-right:1px solid #bdbdbd;border-bottom:1px solid #bdbdbd}table tr.alt,table tr.even,table tr:nth-of-type(2n){background:#f5f5f5}table tbody tr td,table tfoot tr td,table tfoot tr th,table thead tr th,table tr td{display:table-cell;line-height:1.6}table.full-width{width:100%}table.tableblock{max-width:100%;border-collapse:separate}table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock td>p:last-child,table.tableblock th>p:last-child{margin-bottom:0}table.spread{width:100%}table.grid-all td.tableblock,table.grid-all th.tableblock{border-width:0 1px 1px 0}table.grid-all tfoot>tr>td.tableblock,table.grid-all tfoot>tr>th.tableblock{border-width:1px 1px 0 0}table.grid-cols td.tableblock,table.grid-cols th.tableblock{border-width:0 1px 0 0}table.grid-rows td.tableblock,table.grid-rows th.tableblock{border-width:0 0 1px}table.grid-all tbody>td:last-child>th.tableblock{border-bottom-width:1px}table.grid-rows tfoot>tr>td.tableblock,table.grid-rows tfoot>tr>th.tableblock{border-width:1px 0 0}table.frame-all{border-width:1px}table.frame-sides{border-width:0 1px}table.frame-topbot{border-width:1px 0}td.halign-left,th.halign-left{text-align:left}td.halign-right,th.halign-right{text-align:right}td.halign-center,th.halign-center{text-align:center}td.valign-top,th.valign-top{vertical-align:top}td.valign-bottom,th.valign-bottom{vertical-align:bottom}td.valign-middle,th.valign-middle{vertical-align:middle}table tfoot th,table thead th{font-weight:700}tbody tr th{display:table-cell;line-height:1.6;background:#f5f5f5}tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:700}p.tableblock>code:only-child{background:none;padding:0}p.tableblock{font-size:1em;margin-top:1.5em}.quoteblock{margin-right:1em;margin-bottom:1.25em;margin-left:1.5em;display:table}.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.8);line-height:1.3;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}.quoteblock blockquote{margin:0;padding:0;border:0}.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.1em;font-weight:700;line-height:.6em;margin-left:-.6em;color:#0d47a1;text-shadow:0 1px 2px rgba(0,0,0,.1)}.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}.quoteblock .quoteblock blockquote:before{display:none}.imageblock img{max-width:100%;height:auto}span.icon>.fa{cursor:default}.audioblock>.title,.dlist>.title,.exampleblock>.title,.hdlist>.title,.literalblock>.title,.olist>.title,.openblock>.title,.paragraph>.title,.qlist>.title,.quoteblock>.title,.stemblock>.title,.ulist>.title,.verseblock>.title,.videoblock>.title{text-rendering:optimizeLegibility;text-align:left;color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500;margin-top:.5em;margin-bottom:.75em}.admonitionblock td.content>.title{margin-bottom:.5em}.admonitionblock td.content>.title,table.tableblock>.title{text-rendering:optimizeLegibility;text-align:left;color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500}table.tableblock>.title{margin:0!important;border-top:1px solid #9e9e9e}.imageblock>.title,.listingblock>.title{color:#424242;line-height:1.25;font-size:1.125rem;font-weight:500;margin-bottom:.5rem}.listingblock pre{display:block;line-height:1.25rem!important;word-break:break-all;word-wrap:break-word;padding:.75rem;margin:0 0 1.5rem;border:1px solid #bdbdbd}.admonitionblock>table td.icon{text-align:center;width:130px;border-right:0!important;border-bottom:0}.admonitionblock>table td.icon img{max-width:none}.admonitionblock>table td.icon .title{font-weight:700;font-family:Open Sans,DejaVu Sans,sans-serif;text-transform:uppercase}.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.125em;border-right:1px;border-left:1px dotted #9e9e9e;font-size:inherit;color:rgba(0,0,0,.8);text-align:justify;border-bottom:0;min-width:20em}.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}.icon-note{color:#2196f3}.icon-tip{color:#4caf50}.icon-important{color:#ff9800}.icon-warning{color:#fdd835}.icon-caution{color:#f44336}.admonitionblock td.icon [class^="fa icon-"]{font-size:5rem;cursor:default}.admonitionblock td.icon .icon-note:before{content:"\f05a"}.admonitionblock td.icon .icon-tip:before{content:"\f0eb"}.admonitionblock td.icon .icon-important:before{content:"\f06a"}.admonitionblock td.icon .icon-warning:before{content:"\f071"}.admonitionblock td.icon .icon-caution:before{content:"\f06d"}.admonitionblock td.icon .icon-question:before{content:"\f128";color:#ffc107}.admonitionblock td.icon .icon-answer:before{content:"\f0a4";color:#4caf50}.exampleblock{margin-bottom:1.25rem;border-radius:2px;color:rgba(0,0,0,.8);background:#fafafa}.exampleblock>.content>:first-child{margin-top:0}.exampleblock>.content>:last-child{margin-bottom:0;margin-bottom:1.25em}.exampleblock.result{display:none}a.view-result{float:right;font-weight:400;text-decoration:none;font-size:85%;line-height:.9}span.footnote,span.footnoteref{vertical-align:super;font-size:.875em}span.footnote a,span.footnoteref a{text-decoration:none}span.footnote a:active,span.footnoteref a:active{text-decoration:underline}#footnotes{padding:.75em 0;margin-top:-.625em}#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}#footnotes .footnote{line-height:1.3;font-size:.875em;margin-left:1.2em;text-indent:-1.2em;margin-bottom:.2em;padding:0 .375em}#footnotes .footnote a:first-of-type{font-weight:700;text-decoration:none}#footnotes .footnote:last-of-type{margin-bottom:0}.gist .file-data>table{border:0;background:#000;width:100%;margin-bottom:0}.gist .file-data>table td.line-data{width:99%}.mono{font-family:Droid Sans Mono,DejaVu Sans Mono,"Monospace",monospace}.unbreakable{page-break-inside:avoid}.big{font-size:larger}.small{font-size:smaller}.bold{font-weight:700}.italic{font-style:italic}.underline{text-decoration:underline}.overline{text-decoration:overline}.line-through{text-decoration:line-through}.aqua{color:#00bfbf}.aqua-background{background-color:#00fafa}.black{color:#000}.black-background{background-color:#000}.blue{color:#0000bf}.blue-background{background-color:#0000fa}.fuchsia{color:#bf00bf}.fuchsia-background{background-color:#fa00fa}.gray{color:#606060}.gray-background{background-color:#7d7d7d}.grey{color:#606060}.grey-background{background-color:#7d7d7d}.green{color:#006000}.green-background{background-color:#007d00}.lime{color:#00bf00}.lime-background{background-color:#00fa00}.maroon{color:#600000}.maroon-background{background-color:#7d0000}.navy{color:#000060}.navy-background{background-color:#00007d}.olive{color:#606000}.olive-background{background-color:#7d7d00}.purple{color:#600060}.purple-background{background-color:#7d007d}.red{color:#bf0000}.red-background{background-color:#fa0000}.silver{color:#909090}.silver-background{background-color:#bcbcbc}.teal{color:#006060}.teal-background{background-color:#007d7d}.white{color:#bfbfbf}.white-background{background-color:#fafafa}.yellow{color:#bfbf00}.yellow-background{background-color:#fafa00}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;margin-right:.25rem}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}.colist>table,.hdlist>table{border-collapse:separate;border:0;background:none}.colist>table tr td,.colist>table tr th{border-right:0;border-bottom:0}.colist>table>tbody>tr,.hdlist>table>tbody>tr{background:none}td.hdlist1{padding-right:.75em;font-weight:700}td.hdlist1,td.hdlist2{vertical-align:top}.listingblock+.colist,.literalblock+.colist{margin-top:-.5em}.colist>table tr>td:first-of-type{padding:0 .5rem;line-height:1}.colist>table tr>td:last-of-type{padding:.25rem 0}.conum[data-value]{display:inline-block;background-color:#2196f3;-webkit-border-radius:100px;border-radius:100px;text-align:center;width:1.67em;height:1.67em;font-size:85%;line-height:1.67em;font-family:Roboto,sans-serif;font-style:normal;font-weight:600}.conum[data-value],.conum[data-value] *{color:#fafafa!important}.conum[data-value]+b{display:none}.conum[data-value]:after{content:attr(data-value)}pre .conum[data-value]{position:relative;top:-.125em}b.conum *{color:inherit!important}.conum:not([data-value]):empty{display:none}kbd{font-family:monospace,serif;font-size:1em}.keyseq{color:rgba(51,51,51,.8)}kbd:not(.keyseq){display:inline-block;color:rgba(0,0,0,.8);font-size:.75em;background-color:#e0e0e0;border:1px solid #bdbdbd;-webkit-border-radius:3px;border-radius:3px;margin:-.15em .15em 0;padding:.2em .6em .2em .5em;vertical-align:middle;white-space:nowrap}.keyseq kbd:first-child{margin-left:0}.keyseq kbd:last-child{margin-right:0}.qanda>ol>li>p>em:only-child{color:#455a64}.olist>ol>li>p,.ulist>ul>li>p{margin:0 0 .1em!important}ul.circle li ul,ul.disc li ul,ul.square li ul{list-style:inherit}ul.square{list-style-type:square}ul.circle{list-style-type:circle}ul.disc{list-style-type:disc}.fa.fa-square-o{font-weight:400!important}.fa-square-o:before{content:"\f0c8"}.fa.fa-check-square-o{font-weight:400!important}.fa-check-square-o:before{content:"\f14a"}.ulist.checklist>ul>li>p>input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0;position:relative;z-index:1;display:inline-block;width:1.125rem;height:1.125rem;overflow:hidden;border:.125rem solid rgba(0,0,0,.54);border-radius:.125rem}@media only screen and (max-width:576px){.admonitionblock>table td.content{border-left:0}}@media only screen and (max-width:768px) and (max-width:992px){.admonitionblock>table td.content{border-left:0}.admonitionblock table,.admonitionblock tbody,.admonitionblock td,.admonitionblock tr{display:block}.admonitionblock>table td.icon{width:unset}.admonitionblock td.icon{padding-left:unset!important}.admonitionblock td{border:none;border-top:1px dotted #bdbdbd;position:relative;white-space:normal}.admonitionblock td:before{position:absolute;top:6px;left:6px;width:45%;padding-right:10px;white-space:nowrap;text-align:left;font-weight:700}}.tooltip-inner{background-color:#607d8b;border-radius:.125rem}.tooltip.in{opacity:1}.tooltip.bs-tether-element-attached-bottom .tooltip-arrow,.tooltip.tooltip-top .tooltip-arrow{border-top-color:#263238}.btn-viewer{position:absolute;top:2.6rem;right:.5rem;z-index:3;display:block;padding:.25rem .75rem;font-size:.75rem;font-style:normal;font-weight:300;color:#212121;cursor:pointer;text-transform:uppercase;background-color:transparent;border-radius:.25rem}.btn-viewer:hover{color:#fff;background-color:#607d8b}.btn-viewer+.tooltip>.tooltip-inner{background-color:red}.j1-viewer{position:relative;display:block;float:right}.j1-tooltip+.tooltip>.tooltip-arrow,.j1-tooltip+.tooltip>.tooltip-inner{background-color:red}@media screen and (min-width:320px) and (max-width:767px){.j1-viewer{display:none}}@font-face{font-family:Roboto;src:local(Roboto Thin),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff) format("woff");font-weight:100}@font-face{font-family:Roboto;src:local(Roboto Light),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff) format("woff");font-weight:300}@font-face{font-family:Roboto;src:local(Roboto Regular),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff) format("woff");font-weight:400}@font-face{font-family:Roboto;src:local(Roboto Medium),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff) format("woff");font-weight:500}@font-face{font-family:Roboto;src:local(Roboto Bold),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff2) format("woff2"),url(/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff) format("woff");font-weight:700}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:300;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufA5qW54A.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:300;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufJ5qW54A.woff2) format("woff2");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:300;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufB5qW54A.woff2) format("woff2");unicode-range:U+1f??}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:300;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufO5qW54A.woff2) format("woff2");unicode-range:U+0370-03ff}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:300;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufC5qW54A.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:300;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufD5qW54A.woff2) format("woff2");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:300;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufN5qU.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufA5qW54A.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufJ5qW54A.woff2) format("woff2");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufB5qW54A.woff2) format("woff2");unicode-range:U+1f??}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufO5qW54A.woff2) format("woff2");unicode-range:U+0370-03ff}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufC5qW54A.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufD5qW54A.woff2) format("woff2");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufN5qU.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufA5qW54A.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufJ5qW54A.woff2) format("woff2");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufB5qW54A.woff2) format("woff2");unicode-range:U+1f??}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufO5qW54A.woff2) format("woff2");unicode-range:U+0370-03ff}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufC5qW54A.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufD5qW54A.woff2) format("woff2");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/robotoslab/v13/BngMUXZYTXPIvIBgJJSb6ufN5qU.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}
|
@@ -28,7 +28,7 @@
|
|
28
28
|
* J1 Core
|
29
29
|
* Copyright (C) 2021 Juergen Adams
|
30
30
|
* Licensed under MIT License.
|
31
|
-
*/e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},void 0);return{_init_:function(e){},getState:function(){return"loaded"},isMobile:function(e){var t,n=!1;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(t.substr(0,4)))&&(n=!0),n},bsFormClearButton:function(){$(":input").on("keydown focus change mouseover",(function(){$(this).val().length>0&&$(this).nextAll(".form-clear").removeClass("d-none")})).on("keydown keyup blur",(function(){0===$(this).val().length&&$(this).nextAll(".form-clear").addClass("d-none")}))}}}()},function(e,t){e.exports=function(e){var t,n,r={};$.extend({foo:"bar",bar:"foo"},e);return{init:function(e,o){return t=log4javascript.getLogger("j1.core.navigator"),n="core is being initialized",t.info(n),this.manageDropdownMenu(e,o),this.navbarSticky(),this.eventHandler(),r.type="command",r.action="core_initialized",r.text="navigator core initialized",j1.sendMessage("j1.core.navigator","j1.adapter.navigator",r),!0},eventHandler:function(){var e=log4javascript.getLogger("j1.core.navigator.eventHandler"),t=$("nav.navbar.navigator");if($('a[href="#"]').click((function(t){t.preventDefault?t.preventDefault():t.returnValue=!1,e.info('bound click event to "#", suppress default action')})),t.hasClass("navbar-sticky")&&t.wrap("<div class='wrap-sticky'></div>"),t.hasClass("brand-center")){var n=new Array,r=$("nav.brand-center"),o=r.find("ul.navbar-nav");r.find("ul.navbar-nav > li").each((function(){n.push($(this).html())}));var a=n.splice(0,Math.round(n.length/2)),i=n,s="",l=function(e){s="";for(var t=0;t<e.length;t++)s+="<li>"+e[t]+"</li>"};l(a),o.html(s),r.find("ul.nav").first().addClass("navbar-left"),l(i),o.after('<ul class="nav navbar-nav"></ul>').next().html(s),r.find("ul.nav").last().addClass("navbar-right"),r.find("ul.nav.navbar-left").wrap("<div class='col_half left'></div>"),r.find("ul.nav.navbar-right").wrap("<div class='col_half right'></div>"),r.find("ul.navbar-nav > li").each((function(){var e=$("ul.dropdown-menu",this),t=$("ul.megamenu-content",this);e.closest("li").addClass("dropdown"),t.closest("li").addClass("megamenu-fw")}))}t.find("ul.nav").hasClass("navbar-center")&&t.addClass("menu-center"),t.hasClass("navbar-full")?($("nav.navbar.navigator").find("ul.nav").wrap("<div class='wrap-full-menu'></div>"),$(".wrap-full-menu").wrap("<div class='nav-full'></div>"),$("ul.nav.navbar-nav").prepend("<li class='close-full-menu'><a href='#'><i class='mdi mdi-close'></i></a></li>")):t.hasClass("navbar-mobile")?t.removeClass("no-full"):t.addClass("no-full"),t.hasClass("no-background")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?$(".navbar-fixed").removeClass("no-background"):$(".navbar-fixed").addClass("no-background")})),t.hasClass("navbar-transparent")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?($(".navbar-fixed").removeClass("navbar-transparent"),$(".navbar-fixed").addClass("navbar-scrolled")):($(".navbar-fixed").removeClass("navbar-scrolled"),$(".navbar-fixed").addClass("navbar-transparent"))})),$(".attr-nav").each((function(){e.debug("register OPEN event|s for QuickSearch"),$("li.search > a",this).on("click",(function(t){e.debug("manage search action OPEN"),$("html,body").animate({scrollTop:0},0),$(".top-search").slideToggle("slow","swing",(function(){$(".top-search").is(":visible")?($("body").addClass("stop-scrolling"),$("body").bind("touchmove",(function(e){e.preventDefault()}))):($("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"))}))}))})),e.debug("register CLOSE event|s for QuickSearch"),$(".input-group-addon.close-search").on("click",(function(t){t.preventDefault(),e.debug("manage search action CLOSE"),$(".top-search").slideUp("slow","swing"),$("html,body").animate({scrollTop:0},0),$("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"),t.stopPropagation()})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register SHOW|HIDE event|s for J1 Translator"),$("li.translator > a",this).on("click",(function(t){e.debug("toggle translator icon SHOW|HIDE"),$("#google_translate_element").toggle(),"none"!==$("#google_translate_element").css("display")&&$("html,body").animate({scrollTop:0},"slow")}))})),$("body").wrapInner("<div class='wrapper'></div>")},manageDropdownMenu:function(e,t){var n,r,o,a,i=e,s=t,l=$("nav.navbar.navigator"),c=(window.matchMedia("(orientation: landscape)").matches,$(window).width()),u=($("nav").width(),l.find("ul.nav").data("in")),d=l.find("ul.nav").data("out"),p="#"+s.xhr_container_id+".collapse",h=s.delay_menu_open;if(c<=(r="lg"===i.nav_bar.media_breakpoint?992:"md"===i.nav_bar.media_breakpoint?768:"sm"===i.nav_bar.media_breakpoint?576:992)?($(p).addClass("navbar-collapse"),$(p).removeClass("show"),$("#navigator_nav_quicklinks").addClass("show"),$("nav.navbar.navigator .attr-nav").each((function(){$(".dropdown-menu",this).removeClass("animated"),$("li.dropdown",this).off("mouseenter"),$("li.dropdown",this).off("mouseleave"),$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle(),$(".navbar-toggle").each((function(){$(".mdi",this).removeClass("mdi-close"),$(".mdi",this).addClass("mdi-menu"),$(".navbar-collapse").removeClass("in"),$(".navbar-collapse").removeClass("open")}))})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).stop().fadeOut(),$("li.dropdown",this).removeClass("open")}))})),$("#desktop_menu").hide()):c>r&&($("#navigator_nav_quicklinks").removeClass("show"),$("#desktop_menu").show(),$(".dropdown-menu > li").on("mouseenter",(function(){if($("body").hasClass("stop-scrolling"))return!1;$("body").addClass("stop-scrolling")})),$(".dropdown-menu > li").on("mouseleave",(function(){$("body").hasClass("stop-scrolling")&&$("body").removeClass("stop-scrolling")})),$(".dropdown-menu > li").hover((function(){var e=$(this).find("ul");1==e.length&&e.addClass("scrollable-menu")})),$(p).removeClass("navbar-collapse"),$(p).addClass("show"),$("nav.navbar.navigator ul.nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".megamenu-fw",this).each((function(){$(".title",this).off("click"),$("a.dropdown-toggle",this).off("click"),$(".content").removeClass("animated")})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){n=$(".dropdown-menu",this).eq(0),o=$(this),n.removeClass(d),n.removeClass("open"),o.addClass("open"),a=window.setTimeout((function(){o.hasClass("open")&&(n.stop().fadeIn().addClass(u),n.addClass("open"),o.addClass("open"))}),h)})),$("li.dropdown",this).on("mouseleave",(function(){window.clearTimeout(a),$(this).removeClass("open").removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)})),$(this).on("mouseleave",(function(){window.clearTimeout(a),$("li.dropdown",this).removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)}))}))),$("nav.navbar.navigator .attr-nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){$(".dropdown-menu",this).eq(0).removeClass(d),$(".dropdown-menu",this).eq(0).stop().fadeIn().addClass(u),$(this).addClass("open")})),$("li.dropdown",this).on("mouseleave",(function(){$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$(this).removeClass("open")})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$("li.dropdown",this).removeClass("open")}))})),l.hasClass("navbar-full")){var g=$(window).height(),m=$(window).width();$(".nav-full").css("height",g+"px"),$(".wrap-full-menu").css("height",g+"px"),$(".wrap-full-menu").css("width",m+"px"),$(".navbar-collapse").addClass("animated"),$(".navbar-toggle").each((function(){var e=$(this).data("target");$(this).off("click"),$(this).on("click",(function(t){t.preventDefault(),$(e).removeClass(d),$(e).addClass("in"),$(e).addClass(u)})),$("li.close-full-menu").on("click",(function(t){t.preventDefault(),$(e).addClass(d),setTimeout((function(){$(e).removeClass("in"),$(e).removeClass(u)}),500)}))}))}},navbarSticky:function(){var e=$("nav.navbar.navigator");if(e.hasClass("navbar-sticky")){var t=e.height();$(".wrap-sticky").height(t);var n=$(".wrap-sticky").offset().top;$(window).on("scroll",(function(){$(window).scrollTop()>n?e.addClass("sticked"):e.removeClass("sticked")}))}},updateSidebar:function(e){var t,r=log4javascript.getLogger("j1.core.navigator.updateSidebar");return t=JSON.stringify(e),n="user state data: "+t,r.debug(n),j1.resolveMacros(e),j1.updateMacros(e),!0}}}(jQuery)},function(e,t){
|
31
|
+
*/e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},void 0);return{_init_:function(e){},getState:function(){return"loaded"},isMobile:function(e){var t,n=!1;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(t.substr(0,4)))&&(n=!0),n},bsFormClearButton:function(){$(":input").on("keydown focus change mouseover",(function(){$(this).val().length>0&&$(this).nextAll(".form-clear").removeClass("d-none")})).on("keydown keyup blur",(function(){0===$(this).val().length&&$(this).nextAll(".form-clear").addClass("d-none")}))},createDropCap:function(){$(".paragraph.dropcap").children("p").addClass("dropcap"),$("p.dropcap").length&&$("p.dropcap").each((function(){var e=$(this),t=$.trim(e.text()),n=t[0],r='<span class="j1-dropcap">'+n+"</span>";e.html(t.replace(n,r))}))}}}()},function(e,t){e.exports=function(e){var t,n,r={};$.extend({foo:"bar",bar:"foo"},e);return{init:function(e,o){return t=log4javascript.getLogger("j1.core.navigator"),n="core is being initialized",t.info(n),this.manageDropdownMenu(e,o),this.navbarSticky(),this.eventHandler(),r.type="command",r.action="core_initialized",r.text="navigator core initialized",j1.sendMessage("j1.core.navigator","j1.adapter.navigator",r),!0},eventHandler:function(){var e=log4javascript.getLogger("j1.core.navigator.eventHandler"),t=$("nav.navbar.navigator");if($('a[href="#"]').click((function(t){t.preventDefault?t.preventDefault():t.returnValue=!1,e.info('bound click event to "#", suppress default action')})),t.hasClass("navbar-sticky")&&t.wrap("<div class='wrap-sticky'></div>"),t.hasClass("brand-center")){var n=new Array,r=$("nav.brand-center"),o=r.find("ul.navbar-nav");r.find("ul.navbar-nav > li").each((function(){n.push($(this).html())}));var a=n.splice(0,Math.round(n.length/2)),i=n,s="",l=function(e){s="";for(var t=0;t<e.length;t++)s+="<li>"+e[t]+"</li>"};l(a),o.html(s),r.find("ul.nav").first().addClass("navbar-left"),l(i),o.after('<ul class="nav navbar-nav"></ul>').next().html(s),r.find("ul.nav").last().addClass("navbar-right"),r.find("ul.nav.navbar-left").wrap("<div class='col_half left'></div>"),r.find("ul.nav.navbar-right").wrap("<div class='col_half right'></div>"),r.find("ul.navbar-nav > li").each((function(){var e=$("ul.dropdown-menu",this),t=$("ul.megamenu-content",this);e.closest("li").addClass("dropdown"),t.closest("li").addClass("megamenu-fw")}))}t.find("ul.nav").hasClass("navbar-center")&&t.addClass("menu-center"),t.hasClass("navbar-full")?($("nav.navbar.navigator").find("ul.nav").wrap("<div class='wrap-full-menu'></div>"),$(".wrap-full-menu").wrap("<div class='nav-full'></div>"),$("ul.nav.navbar-nav").prepend("<li class='close-full-menu'><a href='#'><i class='mdi mdi-close'></i></a></li>")):t.hasClass("navbar-mobile")?t.removeClass("no-full"):t.addClass("no-full"),t.hasClass("no-background")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?$(".navbar-fixed").removeClass("no-background"):$(".navbar-fixed").addClass("no-background")})),t.hasClass("navbar-transparent")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?($(".navbar-fixed").removeClass("navbar-transparent"),$(".navbar-fixed").addClass("navbar-scrolled")):($(".navbar-fixed").removeClass("navbar-scrolled"),$(".navbar-fixed").addClass("navbar-transparent"))})),$(".attr-nav").each((function(){e.debug("register OPEN event|s for QuickSearch"),$("li.search > a",this).on("click",(function(t){e.debug("manage search action OPEN"),$("html,body").animate({scrollTop:0},0),$(".top-search").slideToggle("slow","swing",(function(){$(".top-search").is(":visible")?($("body").addClass("stop-scrolling"),$("body").bind("touchmove",(function(e){e.preventDefault()}))):($("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"))}))}))})),e.debug("register CLOSE event|s for QuickSearch"),$(".input-group-addon.close-search").on("click",(function(t){t.preventDefault(),e.debug("manage search action CLOSE"),$(".top-search").slideUp("slow","swing"),$("html,body").animate({scrollTop:0},0),$("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"),t.stopPropagation()})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register SHOW|HIDE event|s for J1 Translator"),$("li.translator > a",this).on("click",(function(t){e.debug("toggle translator icon SHOW|HIDE"),$("#google_translate_element").toggle(),"none"!==$("#google_translate_element").css("display")&&$("html,body").animate({scrollTop:0},"slow")}))})),$("body").wrapInner("<div class='wrapper'></div>")},manageDropdownMenu:function(e,t){var n,r,o,a,i=e,s=t,l=$("nav.navbar.navigator"),c=(window.matchMedia("(orientation: landscape)").matches,$(window).width()),u=($("nav").width(),l.find("ul.nav").data("in")),d=l.find("ul.nav").data("out"),p="#"+s.xhr_container_id+".collapse",h=s.delay_menu_open;if(c<=(r="lg"===i.nav_bar.media_breakpoint?992:"md"===i.nav_bar.media_breakpoint?768:"sm"===i.nav_bar.media_breakpoint?576:992)?($(p).addClass("navbar-collapse"),$(p).removeClass("show"),$("#navigator_nav_quicklinks").addClass("show"),$("nav.navbar.navigator .attr-nav").each((function(){$(".dropdown-menu",this).removeClass("animated"),$("li.dropdown",this).off("mouseenter"),$("li.dropdown",this).off("mouseleave"),$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle(),$(".navbar-toggle").each((function(){$(".mdi",this).removeClass("mdi-close"),$(".mdi",this).addClass("mdi-menu"),$(".navbar-collapse").removeClass("in"),$(".navbar-collapse").removeClass("open")}))})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).stop().fadeOut(),$("li.dropdown",this).removeClass("open")}))})),$("#desktop_menu").hide()):c>r&&($("#navigator_nav_quicklinks").removeClass("show"),$("#desktop_menu").show(),$(".dropdown-menu > li").on("mouseenter",(function(){if($("body").hasClass("stop-scrolling"))return!1;$("body").addClass("stop-scrolling")})),$(".dropdown-menu > li").on("mouseleave",(function(){$("body").hasClass("stop-scrolling")&&$("body").removeClass("stop-scrolling")})),$(".dropdown-menu > li").hover((function(){var e=$(this).find("ul");1==e.length&&e.addClass("scrollable-menu")})),$(p).removeClass("navbar-collapse"),$(p).addClass("show"),$("nav.navbar.navigator ul.nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".megamenu-fw",this).each((function(){$(".title",this).off("click"),$("a.dropdown-toggle",this).off("click"),$(".content").removeClass("animated")})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){n=$(".dropdown-menu",this).eq(0),o=$(this),n.removeClass(d),n.removeClass("open"),o.addClass("open"),a=window.setTimeout((function(){o.hasClass("open")&&(n.stop().fadeIn().addClass(u),n.addClass("open"),o.addClass("open"))}),h)})),$("li.dropdown",this).on("mouseleave",(function(){window.clearTimeout(a),$(this).removeClass("open").removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)})),$(this).on("mouseleave",(function(){window.clearTimeout(a),$("li.dropdown",this).removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)}))}))),$("nav.navbar.navigator .attr-nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){$(".dropdown-menu",this).eq(0).removeClass(d),$(".dropdown-menu",this).eq(0).stop().fadeIn().addClass(u),$(this).addClass("open")})),$("li.dropdown",this).on("mouseleave",(function(){$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$(this).removeClass("open")})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$("li.dropdown",this).removeClass("open")}))})),l.hasClass("navbar-full")){var g=$(window).height(),m=$(window).width();$(".nav-full").css("height",g+"px"),$(".wrap-full-menu").css("height",g+"px"),$(".wrap-full-menu").css("width",m+"px"),$(".navbar-collapse").addClass("animated"),$(".navbar-toggle").each((function(){var e=$(this).data("target");$(this).off("click"),$(this).on("click",(function(t){t.preventDefault(),$(e).removeClass(d),$(e).addClass("in"),$(e).addClass(u)})),$("li.close-full-menu").on("click",(function(t){t.preventDefault(),$(e).addClass(d),setTimeout((function(){$(e).removeClass("in"),$(e).removeClass(u)}),500)}))}))}},navbarSticky:function(){var e=$("nav.navbar.navigator");if(e.hasClass("navbar-sticky")){var t=e.height();$(".wrap-sticky").height(t);var n=$(".wrap-sticky").offset().top;$(window).on("scroll",(function(){$(window).scrollTop()>n?e.addClass("sticked"):e.removeClass("sticked")}))}},updateSidebar:function(e){var t,r=log4javascript.getLogger("j1.core.navigator.updateSidebar");return t=JSON.stringify(e),n="user state data: "+t,r.debug(n),j1.resolveMacros(e),j1.updateMacros(e),!0}}}(jQuery)},function(e,t){
|
32
32
|
/*!
|
33
33
|
* J1 Asciidoctor
|
34
34
|
* Copyright (C) 2021 Juergen Adams
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///(webpack)/buildin/global.js","webpack:///./template.js","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./node_modules/log4javascript/log4javascript.js","webpack:///./node_modules/lite-url/dist/lite-url.min.js","webpack:///./node_modules/platform/platform.js","webpack:///(webpack)/buildin/module.js","webpack:///./js/adapter/adapter.js","webpack:///./js/core/core.js","webpack:///./js/navigator/navigator.js","webpack:///./js/asciidoctor/asciidoctor.js","webpack:///./js/scroll-smooth/scroll-smooth.js","webpack:///./js/anime/anime.js","webpack:///./js/tocbot/tocbot.js","webpack:///./js/tocbot/default-options.js","webpack:///./js/tocbot/build-html.js","webpack:///./js/tocbot/parse-content.js","webpack:///./js/tocbot/update-toc-scroll.js","webpack:///./js/tocbot/scroll-smooth/index.js","webpack:///./js/adoc_result_viewer/view_results.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","g","this","Function","e","window","Cookies","require","log4javascript","liteURL","platform","j1","adapter","core","navigator","asciidoctor","scrollSmooth","anime","factory","OldCookies","api","noConflict","extend","result","arguments","length","attributes","decode","replace","decodeURIComponent","init","converter","set","document","path","defaults","expires","Date","toUTCString","JSON","stringify","test","write","encodeURIComponent","String","escape","stringifiedAttributes","attributeName","split","cookie","json","jar","cookies","parts","slice","join","charAt","read","parse","getJSON","remove","withConverter","isUndefined","obj","EventSupport","Array","push","len","shift","firstItem","splice","startIndex","deleteCount","itemsAfterDeleted","itemsDeleted","argumentsArray","itemsToAppend","concat","eventTypes","eventListeners","setEventTypes","eventTypesParam","handleError","addEventListener","eventType","listener","array_contains","removeEventListener","array_remove","dispatchEvent","eventArgs","listeners","applicationStartDate","uniqueId","getTime","Math","floor","random","emptyFunction","newLine","pageLoaded","Log4JavaScript","toStr","toString","getExceptionMessage","ex","message","description","getUrlFileName","url","lastSlashIndex","max","lastIndexOf","substr","getExceptionStringRep","exStr","lineNumber","fileName","localEx","logLog","warn","showStackTraces","stack","bool","Boolean","trim","str","splitIntoLines","text","version","edition","urlEncode","arr","val","index","extractBooleanFromParam","param","defaultValue","extractStringFromParam","extractIntFromParam","parseInt","isNaN","extractFunctionFromParam","isError","err","Error","apply","args","methodName","argsStrings","script","returnValue","eval","quietMode","debugMessages","setQuietMode","numberOfErrors","alertAllErrors","setAlertAllErrors","debug","displayDebug","alert","exception","error","alertMessage","enabled","log4javascript_disabled","setEnabled","enable","isEnabled","useTimeStampsInMilliseconds","setTimeStampsInMilliseconds","timeStampsInMilliseconds","isTimeStampsInMilliseconds","evalInScope","expr","setShowStackTraces","show","Level","level","Timer","INFO","start","equals","isGreaterOrEqual","ALL","Number","MIN_VALUE","TRACE","DEBUG","WARN","ERROR","FATAL","OFF","MAX_VALUE","getElapsedTime","anonymousLoggerName","defaultLoggerName","nullLoggerName","rootLoggerName","Logger","parent","children","appenders","loggerLevel","isRoot","isNull","appenderCache","appenderCacheInvalidated","addChild","childLogger","invalidateAppenderCache","additive","getAdditivity","setAdditivity","additivity","valueChanged","addAppender","appender","Appender","setAddedToLogger","removeAppender","setRemovedFromLogger","removeAllAppenders","appenderCount","getEffectiveAppenders","parentEffectiveAppenders","log","params","getEffectiveLevel","finalParamIndex","lastParam","messages","loggingEvent","LoggingEvent","callAppenders","effectiveAppenders","doAppend","setLevel","getLevel","logger","group","initiallyExpanded","groupEnd","timers","time","timeEnd","timer","milliseconds","assert","trace","info","fatal","isEnabledFor","isTraceEnabled","isDebugEnabled","isInfoEnabled","isWarnEnabled","isErrorEnabled","isFatalEnabled","isEntryPoint","loggers","loggerNames","ROOT_LOGGER_DEFAULT_LEVEL","rootLogger","getRootLogger","getLogger","loggerName","parentLogger","lastDotIndex","parentLoggerName","substring","defaultLogger","getDefaultLogger","createDefaultLogger","nullLogger","getNullLogger","resetConfiguration","timeStamp","timeStampInMilliseconds","timeStampInSeconds","getMilliseconds","getThrowableStrRep","getCombinedMessages","Layout","loggerKey","timeStampKey","millisecondsKey","levelKey","messageKey","exceptionKey","urlKey","batchHeader","batchFooter","batchSeparator","returnsPostData","overrideTimeStampsSetting","format","ignoresThrowable","getContentType","allowBatching","getTimeStampValue","getDataValues","combineMessages","dataValues","location","href","hasCustomFields","customFields","setKeys","setCustomField","fieldUpdated","formatWithException","formatted","SimpleDateFormat","SimpleLayout","NullLayout","XmlLayout","escapeNewLines","JsonLayout","readable","colon","tab","lineBreak","HttpPostDataLayout","formatObjectExpansion","depth","indentation","objectsExpanded","doFormat","childDepth","childIndentation","childLines","expansion","childExpansion","formatString","lines","j","jLen","PatternLayout","pattern","DEFAULT_CONVERSION_PATTERN","AlertAppender","BrowserConsoleAppender","layout","threshold","append","setLayout","getLayout","setThreshold","getThreshold","isCombinedMessages","escapeCdata","formatMessage","isReadable","formatValue","prefix","expand","formattedValue","valType","childPrefix","queryBits","regex","monthNames","dayNames","types","G","y","M","w","W","D","F","E","a","H","k","K","h","S","Z","newDateAtMidnight","year","month","day","setMilliseconds","getDifference","date","isBefore","getUTCTime","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getTimeSince","getPreviousSunday","midday","previousSunday","getDay","getWeekInYear","minimalDaysInFirstWeek","startOfYear","weekInYear","getWeekInMonth","startOfMonth","weekInMonth","getDayInYear","setMinimalDaysInFirstWeek","days","getMinimalDaysInFirstWeek","padWithZeroes","formatText","data","numberOfLetters","minLength","formatNumber","formattedString","searchString","exec","quotedString","patternLetters","otherLetters","otherCharacters","patternLetter","rawData","getTimezoneOffset","absData","abs","hours","minutes","TTCC_CONVERSION_PATTERN","ISO8601_DATEFORMAT","DATETIME_DATEFORMAT","ABSOLUTETIME_DATEFORMAT","matchedString","padding","truncation","conversionCharacter","specifier","replacement","precision","loggerNameBits","dateFormat","fieldIndex","strLen","consoleMethodName","getFormattedMessage","concatenate","formattedMessage","console","opera","postError","xhrFactory","XMLHttpRequest","xmlHttpFactories","ActiveXObject","withCredentialsSupported","getXmlHttp","errorHandler","xmlHttp","ConsoleAppender","isHttpRequestSuccessful","status","AjaxAppender","withCredentials","isSupported","timed","waitForResponse","batchSize","timerInterval","requestSuccessCallback","failCallback","postVarName","sendAllOnUnload","contentType","sessionId","queuedLoggingEvents","queuedRequests","headers","sending","initialized","checkCanConfigure","configOptionName","sendAll","currentRequestBatch","sendRequest","preparePostData","scheduleSending","sendAllRemaining","sendingAnything","currentLoggingEvent","actualBatchSize","batchedLoggingEvents","formattedMessages","postData","setTimeout","xmlHttpErrorHandler","msg","successCallback","onreadystatechange","readyState","open","header","setRequestHeader","headerEx","send","errMsg","getSessionId","setSessionId","sessionIdParam","layoutParam","isTimed","setTimed","timedParam","getTimerInterval","setTimerInterval","timerIntervalParam","isWaitForResponse","setWaitForResponse","waitForResponseParam","getBatchSize","setBatchSize","batchSizeParam","isSendAllOnUnload","setSendAllOnUnload","sendAllOnUnloadParam","setRequestSuccessCallback","requestSuccessCallbackParam","setFailCallback","failCallbackParam","getPostVarName","setPostVarName","postVarNameParam","getHeaders","addHeader","toLowerCase","oldBeforeUnload","onbeforeunload","setCookie","setTime","toGMTString","getCookie","nameEquals","ca","indexOf","unescape","getBaseUrl","scripts","getElementsByTagName","src","lastSlash","isLoaded","win","loaded","padWithSpaces","spaces","numberOfSpaces","PopUpAppender","defaultCommandLineFunctions","consoleAppenderIdCounter","lazyInit","initiallyMinimized","useDocumentWrite","width","height","focusPopUp","InPageAppender","container","inPage","focusConsoleWindow","consoleWindowCreated","consoleWindowLoaded","consoleClosed","consoleAppenderId","newestMessageAtTop","scrollToLatestMessage","createWindow","safeToAppend","getConsoleWindow","maxMessages","showCommandLine","commandLineObjectExpansionDepth","showHideButton","showCloseButton","appenderName","consoleWindowExists","isNewestMessageAtTop","setNewestMessageAtTop","newestMessageAtTopParam","setNewestAtTop","isScrollToLatestMessage","setScrollToLatestMessage","scrollToLatestMessageParam","setScrollToLatest","getWidth","setWidth","widthParam","getHeight","setHeight","heightParam","getMaxMessages","setMaxMessages","maxMessagesParam","isShowCommandLine","setShowCommandLine","showCommandLineParam","isShowHideButton","setShowHideButton","showHideButtonParam","isShowCloseButton","setShowCloseButton","showCloseButtonParam","getCommandLineObjectExpansionDepth","setCommandLineObjectExpansionDepth","commandLineObjectExpansionDepthParam","minimized","QueuedLoggingEvent","levelName","QueuedGroup","QueuedGroupEnd","isInitiallyMinimized","setInitiallyMinimized","initiallyMinimizedParam","isUseDocumentWrite","setUseDocumentWrite","useDocumentWriteParam","checkAndAppend","reopenWhenClosed","appendQueuedLoggingEvents","focus","clear","clearLog","focusCommandLine","focusSearch","commandWindow","getCommandWindow","setCommandWindow","commandWindowParam","executeLastCommand","evalLastCommand","commandLayout","getCommandLayout","setCommandLayout","commandLayoutParam","evalCommandAndAppend","commandReturnValue","appendResult","commandOutput","execScript","commandLineFunctionsHash","commandLineFunctions","objectsToRestore","addObjectToRestore","addFunctionToWindow","evalExpr","mainLayout","addCommandLineFunction","functionName","commandLineFunction","storeCommandHistory","commandHistory","writeHtml","doc","writeln","close","consoleWindowLoadHandler","setAppender","setMainWindow","storedValue","currentCommandIndex","unload","caller","pollConsoleWindow","windowTest","interval","errorMessage","poll","setInterval","clearInterval","getConsoleUrl","documentDomainSet","domain","hostname","containerElement","cssProperties","addCssProperty","iframeContainerDiv","windowCreationStarted","iframeId","hide","$","blur","style","display","isVisible","fromButton","confirm","parentNode","removeChild","initErrorMessage","finalInit","writeToDocument","appendChild","createElement","border","iframeSrc","innerHTML","iframeDocumentExistsTest","pageLoadHandler","el","getElementById","nodeType","position","left","right","bottom","body","iframe","frames","popUp","useOldPopUp","complainAboutPopUpBlocking","isUseOldPopUp","setUseOldPopUp","useOldPopUpParam","isComplainAboutPopUpBlocking","setComplainAboutPopUpBlocking","complainAboutPopUpBlockingParam","isFocusPopUp","setFocusPopUp","focusPopUpParam","isReopenWhenClosed","setReopenWhenClosed","reopenWhenClosedParam","windowProperties","frameInfo","frameEl","frameElement","tagName","id","windowName","host","checkPopUpClosed","closed","popUpClosedCallback","setCloseIfOpenerCloses","mainPageReloaded","addGlobalCommandLineFunction","showLogEntryDeleteButtons","InlineAppender","dir","maxLen","propList","propVal","propNameStr","nodeTypes","preFormattedElements","emptyElements","getXhtml","rootNode","includeRootNode","startNewLine","preformatted","xhtml","node","getStyleAttributeValue","stylePairs","cssText","styleValue","nameValueBits","props","childNodes","outerHTML","RegExp","$1","hasPrefix","currentAttr","specified","nodeValue","nodeName","hasChildNodes","childStartNewLine","childPreformatted","endTag","lt","trimmedLines","keys","values","expansionDepth","setDocumentReady","attachEvent","oldOnload","onload","evt","hash","origin","pathname","protocol","search","password","username","port","changeQueryParser","objectTypes","root","freeExports","freeModule","freeGlobal","global","self","maxSafeInteger","pow","reOpera","objectProto","capitalize","string","toUpperCase","forOwn","callback","getClassOf","qualify","reduce","array","accumulator","each","ua","context","isCustomContext","nav","userAgent","isSpecialCasedOS","type","likeChrome","airRuntimeClass","enviroClass","javaClass","java","phantomClass","rhino","environment","alpha","beta","operamini","operaClass","arch","prerelease","useFeatures","guess","label","guesses","getName","product","getProduct","manufacturer","getManufacturer","os","cleanupOS","getOS","getVersion","patterns","unshift","parseFloat","runtime","flash","system","Capabilities","phantom","major","minor","patch","documentMode","toFixed","lang","System","getProperty","process","browser","versions","electron","nw","appMinorVersion","external","family","architecture","cpuClass","webpackPolyfill","deprecate","paths","_init_","options","foo","bar","getState","isMobile","ua_name","mobile","vendor","bsFormClearButton","on","nextAll","removeClass","addClass","logText","defaultOptions","menuOptions","manageDropdownMenu","navbarSticky","eventHandler","action","sendMessage","$getNav","click","preventDefault","hasClass","wrap","postsArr","$postsList","find","html","firstList","round","secondList","ListHTML","createHTML","list","first","after","next","last","dropDown","megaMenu","closest","prepend","navbarHeighth","outerHeight","scrollTop","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","$menu","breakPoint","$dropDown","timeoutHandle","navDefaultOptions","navMenuOptions","$getWindow","matchMedia","matches","$getIn","$getOut","menuSelector","xhr_container_id","delayMenuOpen","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hover","$list","eq","fadeIn","clearTimeout","windowHeight","windowWidth","getId","$getHeight","getOffset","offset","top","updateSidebar","user_data","json_message","resolveMacros","updateMacros","jQuery","moduleOptions","dummyOption","callouts","colgroupList","conums","dependencies_met_page_finished","scroll","target","duration","scrollTo","timeStart","timeElapsed","pageYOffset","opt","easing","b","tgt","querySelector","decodeURI","distance","getBoundingClientRect","documentElement","loop","requestAnimationFrame","defaultInstanceSettings","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","direction","autoplay","timelineOffset","defaultTweenSettings","delay","endDelay","validTransforms","cache","CSS","springs","minMax","min","stringContains","applyArguments","func","isArray","pth","svg","SVGElement","inp","HTMLInputElement","dom","fnc","und","hex","rgb","hsl","col","parseEasingParameters","match","map","spring","mass","stiffness","damping","velocity","w0","sqrt","zeta","wd","solver","progress","exp","cos","sin","cached","elapsed","rest","steps","ceil","eases","functionEasings","bezier","A","aA1","aA2","B","C","calcBezier","aT","getSlope","mX1","mY1","mX2","mY2","sampleValues","Float32Array","x","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","penner","linear","Sine","PI","Circ","Back","Bounce","pow2","Elastic","amplitude","period","asin","forEach","easeIn","parseEasings","ease","selectString","querySelectorAll","filterArray","thisArg","flattenArray","toArray","NodeList","HTMLCollection","arrayContains","some","cloneObject","clone","replaceObjectProps","o1","o2","mergeObjects","colorToRgb","rgbValue","hexValue","hexToRgba","hslValue","hue2rgb","q","hslToRgba","getUnit","getFunctionValue","animatable","total","getAttribute","prop","convertPxToUnit","unit","tempEl","parentEl","factor","offsetWidth","convertedUnit","getCSSValue","uppercasePropName","getComputedStyle","getPropertyValue","getAnimationType","getElementTransforms","transform","reg","transforms","Map","getTransformValue","propName","defaultVal","getTransformUnit","getOriginalTargetValue","getRelativeValue","to","from","operator","u","validateValue","originalUnit","unitLess","getDistance","p1","p2","getPolylineLength","previousPos","points","totalLength","numberOfItems","currentPos","getItem","getTotalLength","getCircleLength","getRectLength","getLineLength","getPolygonLength","getParentSvg","pathEl","svgData","parentSvgEl","getParentSvgEl","rect","viewBoxAttr","viewBox","getPathProgress","point","getPointAtLength","p0","atan2","decomposeValue","rgx","original","numbers","strings","parseTargets","targets","item","pos","getAnimatables","parsed","normalizePropertyTweens","tweenSettings","settings","propArray","v","getProperties","properties","keyframes","propertyNames","newKey","flattenKeyframes","tweens","normalizeTweens","previousTween","tween","normalizeTweenValues","tweenValue","toUnit","originalValue","previousValue","fromUnit","end","isPath","isColor","setProgressValue","attribute","setAttribute","manual","setTargetsValue","valueUnit","animType","getAnimations","animatables","lastTween","createAnimation","getInstanceTimings","animations","animLength","getTlOffset","anim","timings","instanceID","raf","activeInstances","pausedInstances","engine","play","step","activeInstancesLength","activeInstance","paused","instanceIndex","tick","cancelAnimationFrame","startTime","lastTime","now","childrenLength","resolve","makePromise","instance","promise","Promise","_resolve","finished","instanceSettings","createNewInstance","toggleInstanceDirection","reversed","child","adjustTime","resetTime","currentTime","speed","seekChild","seek","setAnimationsProgress","insTime","animationsLength","tweenLength","eased","toNumbersLength","toNumber","fromNumber","stringsLength","n$1","currentValue","setCallback","cb","passThrough","setInstanceProgress","engineTime","insDuration","insDelay","insEndDelay","reversePlayback","i$1","syncInstanceChildren","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","reverse","restart","removeTargetsFromAnimations","targetsArray","hidden","ins","running","childAnimations","convertPx","percent","setDashoffset","pathLength","stagger","grid","axis","fromIndex","fromFirst","fromCenter","fromLast","isRange","val1","val2","maxValue","fromX","fromY","distanceX","distanceY","timeline","tl","add","instanceParams","tlIndex","insParams","tlDuration","define","buildHtml","parseContent","headingsArray","tocbot","BuildHtml","ParseContent","updateTocScroll","supports","destroy","skipRendering","tocSelector","scrollContainer","_scrollListener","_clickListener","customOptions","source","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestedHeadings","nestHeadingsArray","nest","render","throttle","updateToc","disableTocScrollSync","isTop","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","timeout","event","disableTocAnimation","enableTocAnimation","refresh","fn","scope","deferTimer","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","currentlyHighlighting","createEl","link","onclick","cloneNode","textContent","createLink","createList","isCollapsed","listElement","classes","srcElement","className","selector","firstChild","posFixedEl","offsetTop","updateFixedSidebarClass","topHeader","headings","heading","getHeadingTopPos","offsetParent","tocLinks","tocLink","tocLis","tocLi","activeTocLink","li","tocLists","nextSibling","removeCollapsedFromParents","element","getLastItem","getHeadingLevel","getHeadingObject","HTMLElement","offsetHeight","headingLevel","prev","curr","currentHeading","lastItem","counter","undefined","addNode","selectors","toc","scrollHeight","clientHeight","activeItem","pageUrl","stripHash","jump","tabIndex","language","idx","view_result_link","result_block","title_div","toggleClass","toggle_result_block"],"mappings":"aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,4BAIjBlC,EAAoBA,EAAoBmC,EAAI,G,gBClFrD,IAAIC,EAGJA,EAAI,WACH,OAAOC,KADJ,GAIJ,IAECD,EAAIA,GAAK,IAAIE,SAAS,cAAb,GACR,MAAOC,GAEc,iBAAXC,SAAqBJ,EAAII,QAOrCrC,EAAOD,QAAUkC,G,gBCwBjBI,OAAOC,QAAmCC,EAAQ,GAClDF,OAAOG,eAAmCD,EAAQ,GAClDF,OAAOI,QAAmCF,EAAQ,GAClDF,OAAOK,SAAmCH,EAAQ,GAUlDF,OAAOM,GAAGC,QAAgCL,EAAQ,GAClDF,OAAOM,GAAGE,KAAgCN,EAAQ,GAClDF,OAAOM,GAAGE,KAAKC,UAA2BP,EAAQ,GAGlDF,OAAOM,GAAGE,KAAKE,YAA2BR,EAAQ,IAClDF,OAAOM,GAAGE,KAAKG,aAA2BT,EAAQ,IAClDF,OAAOM,GAAGM,MAAgCV,EAAQ,IAQNA,EAAQ,IAyCVA,EAAQ,K,gBChHlD;;;;;;;IAOE,SAAUW,GAUX,QAPe,0BAAd,KAAc,mCACa,EAG3BlD,EAAOD,QAAUmD,MACU,EAEG,CAC9B,IAAIC,EAAad,OAAOC,QACpBc,EAAMf,OAAOC,QAAUY,IAC3BE,EAAIC,WAAa,WAEhB,OADAhB,OAAOC,QAAUa,EACVC,IAfT,EAkBC,WACD,SAASE,IAGR,IAFA,IAAIrD,EAAI,EACJsD,EAAS,GACNtD,EAAIuD,UAAUC,OAAQxD,IAAK,CACjC,IAAIyD,EAAaF,UAAWvD,GAC5B,IAAK,IAAIuB,KAAOkC,EACfH,EAAO/B,GAAOkC,EAAWlC,GAG3B,OAAO+B,EAGR,SAASI,EAAQ3B,GAChB,OAAOA,EAAE4B,QAAQ,mBAAoBC,oBA0HtC,OAvHA,SAASC,EAAMC,GACd,SAASX,KAET,SAASY,EAAKxC,EAAKN,EAAOwC,GACzB,GAAwB,oBAAbO,SAAX,CAQkC,iBAJlCP,EAAaJ,EAAO,CACnBY,KAAM,KACJd,EAAIe,SAAUT,IAEKU,UACrBV,EAAWU,QAAU,IAAIC,KAAkB,EAAb,IAAIA,KAAkC,MAArBX,EAAWU,UAI3DV,EAAWU,QAAUV,EAAWU,QAAUV,EAAWU,QAAQE,cAAgB,GAE7E,IACC,IAAIf,EAASgB,KAAKC,UAAUtD,GACxB,UAAUuD,KAAKlB,KAClBrC,EAAQqC,GAER,MAAOnB,IAETlB,EAAQ6C,EAAUW,MACjBX,EAAUW,MAAMxD,EAAOM,GACvBmD,mBAAmBC,OAAO1D,IACxB0C,QAAQ,4DAA6DC,oBAExErC,EAAMmD,mBAAmBC,OAAOpD,IAC9BoC,QAAQ,2BAA4BC,oBACpCD,QAAQ,UAAWiB,QAErB,IAAIC,EAAwB,GAC5B,IAAK,IAAIC,KAAiBrB,EACpBA,EAAWqB,KAGhBD,GAAyB,KAAOC,GACE,IAA9BrB,EAAWqB,KAWfD,GAAyB,IAAMpB,EAAWqB,GAAeC,MAAM,KAAK,KAGrE,OAAQf,SAASgB,OAASzD,EAAM,IAAMN,EAAQ4D,GAG/C,SAAShE,EAAKU,EAAK0D,GAClB,GAAwB,oBAAbjB,SAAX,CAUA,IANA,IAAIkB,EAAM,GAGNC,EAAUnB,SAASgB,OAAShB,SAASgB,OAAOD,MAAM,MAAQ,GAC1D/E,EAAI,EAEDA,EAAImF,EAAQ3B,OAAQxD,IAAK,CAC/B,IAAIoF,EAAQD,EAAQnF,GAAG+E,MAAM,KACzBC,EAASI,EAAMC,MAAM,GAAGC,KAAK,KAE5BL,GAA6B,MAArBD,EAAOO,OAAO,KAC1BP,EAASA,EAAOK,MAAM,GAAI,IAG3B,IACC,IAAI9E,EAAOmD,EAAO0B,EAAM,IAIxB,GAHAJ,GAAUlB,EAAU0B,MAAQ1B,GAAWkB,EAAQzE,IAC9CmD,EAAOsB,GAEJC,EACH,IACCD,EAASV,KAAKmB,MAAMT,GACnB,MAAO7C,IAKV,GAFA+C,EAAI3E,GAAQyE,EAERzD,IAAQhB,EACX,MAEA,MAAO4B,KAGV,OAAOZ,EAAM2D,EAAI3D,GAAO2D,GAoBzB,OAjBA/B,EAAIY,IAAMA,EACVZ,EAAItC,IAAM,SAAUU,GACnB,OAAOV,EAAIU,GAAK,IAEjB4B,EAAIuC,QAAU,SAAUnE,GACvB,OAAOV,EAAIU,GAAK,IAEjB4B,EAAIwC,OAAS,SAAUpE,EAAKkC,GAC3BM,EAAIxC,EAAK,GAAI8B,EAAOI,EAAY,CAC/BU,SAAU,MAIZhB,EAAIe,SAAW,GAEff,EAAIyC,cAAgB/B,EAEbV,EAGDU,EAAK,mB,6CCjKb,iEAiBUZ,gBAAwM,WAOlN,SAAS4C,YAAYC,GAAK,YAAmB,IAALA,EACxC,SAASC,gBARwNC,MAAMpE,UAAUqE,OAAMD,MAAMpE,UAAUqE,KAAK,WAAW,IAAI,IAAIjG,EAAE,EAAEkG,EAAI3C,UAAUC,OAAOxD,EAAEkG,EAAIlG,IAAKiC,KAAKA,KAAKuB,QAAQD,UAAUvD,GAC/V,OAAOiC,KAAKuB,SACRwC,MAAMpE,UAAUuE,QAAOH,MAAMpE,UAAUuE,MAAM,WAAW,GAAGlE,KAAKuB,OAAO,EAAE,CAAuB,IAAtB,IAAI4C,EAAUnE,KAAK,GAAWjC,EAAE,EAAEkG,EAAIjE,KAAKuB,OAAO,EAAExD,EAAEkG,EAAIlG,IAAKiC,KAAKjC,GAAGiC,KAAKjC,EAAE,GAClI,OAA1BiC,KAAKuB,OAAOvB,KAAKuB,OAAO,EAAS4C,KAC7BJ,MAAMpE,UAAUyE,SAAQL,MAAMpE,UAAUyE,OAAO,SAASC,EAAWC,GAAa,IAAIC,EAAkBvE,KAAKoD,MAAMiB,EAAWC,GAAiBE,EAAaxE,KAAKoD,MAAMiB,EAAWA,EAAWC,GAAatE,KAAKuB,OAAO8C,EAAiC,IAAtB,IAAII,EAAe,GAAW1G,EAAE,EAAEkG,EAAI3C,UAAUC,OAAOxD,EAAEkG,EAAIlG,IAAK0G,EAAe1G,GAAGuD,UAAUvD,GACjU,IAAI2G,EAAeD,EAAelD,OAAO,EAAGgD,EAAkBE,EAAerB,MAAM,GAAGuB,OAAOJ,GAAmBA,EAAkB,IAAIxG,EAAE,EAAEkG,EAAIS,EAAcnD,OAAOxD,EAAEkG,EAAIlG,IAAKiC,KAAKgE,KAAKU,EAAc3G,IACtM,OAAOyG,IAGPV,aAAanE,UAAU,CAACiF,WAAW,GAAGC,eAAe,GAAGC,cAAc,SAASC,GAAiB,GAAGA,aAA2BhB,MAAM,CAAC/D,KAAK4E,WAAWG,EAAgB/E,KAAK6E,eAAe,GAAG,IAAI,IAAI9G,EAAE,EAAEkG,EAAIjE,KAAK4E,WAAWrD,OAAOxD,EAAEkG,EAAIlG,IAAKiC,KAAK6E,eAAe7E,KAAK4E,WAAW7G,IAAI,QAAUiH,YAAY,gCAAgChF,KAAK,4DAA8DiF,iBAAiB,SAASC,EAAUC,GAA8B,mBAAVA,GAA0BC,eAAepF,KAAK4E,WAAWM,IAAYF,YAAY,gCAAgChF,KAAK,yCAAyCkF,EAAU,KAChnBlF,KAAK6E,eAAeK,GAAWlB,KAAKmB,IAAgBH,YAAY,gCAAgChF,KAAK,qDAAuDqF,oBAAoB,SAASH,EAAUC,GAA8B,mBAAVA,GAA0BC,eAAepF,KAAK4E,WAAWM,IAAYF,YAAY,gCAAgChF,KAAK,4CAA4CkF,EAAU,KACnYI,aAAatF,KAAK6E,eAAeK,GAAWC,IAAgBH,YAAY,gCAAgChF,KAAK,wDAA0DuF,cAAc,SAASL,EAAUM,GAAW,GAAGJ,eAAepF,KAAK4E,WAAWM,GAAyD,IAA7C,IAAIO,EAAUzF,KAAK6E,eAAeK,GAAmBnH,EAAE,EAAEkG,EAAIwB,EAAUlE,OAAOxD,EAAEkG,EAAIlG,IAAK0H,EAAU1H,GAAGiC,KAAKkF,EAAUM,QAAkBR,YAAY,gCAAgChF,KAAK,sCAAsCkF,EAAU,OAAS,IAAIQ,qBAAqB,IAAIvD,KAAWwD,SAAS,kBAAkBD,qBAAqBE,UAAU,IACplBC,KAAKC,MAAoB,IAAdD,KAAKE,UAAwBC,cAAc,aAAiBC,QAAQ,OAAWC,YAAW,EAAM,SAASC,kBACpHA,eAAexG,UAAU,IAAImE,aAAe,IAAIxD,eAAe,IAAI6F,eAAyF,SAASC,MAAMvC,GAAK,OAAGA,GAAKA,EAAIwC,SAAiBxC,EAAIwC,WAAwB3D,OAAOmB,GAChP,SAASyC,oBAAoBC,GAAI,OAAGA,EAAGC,QAAgBD,EAAGC,QAAiBD,EAAGE,YAAoBF,EAAGE,YAAyBL,MAAMG,GACpI,SAASG,eAAeC,GAAK,IAAIC,EAAef,KAAKgB,IAAIF,EAAIG,YAAY,KAAKH,EAAIG,YAAY,OAAO,OAAOH,EAAII,OAAOH,EAAe,GACtI,SAASI,sBAAsBT,GAAI,GAAGA,EAAG,CAAC,IAAIU,EAAM,cAAcX,oBAAoBC,GAAI,IAAOA,EAAGW,aAAYD,GAAO,mBAAmBV,EAAGW,YAC1IX,EAAGY,WAAUF,GAAO,YAAYP,eAAeH,EAAGY,WAAY,MAAMC,GAASC,OAAOC,KAAK,wDAE5F,OADGC,iBAAiBhB,EAAGiB,QAAOP,GAAOhB,QAAQ,eAAeA,QAAQM,EAAGiB,OAChEP,EACP,OAAO,KACP,SAASQ,KAAK5D,GAAK,OAAO6D,QAAQ7D,GAClC,SAAS8D,KAAKC,GAAK,OAAOA,EAAIlG,QAAQ,OAAO,IAAIA,QAAQ,OAAO,IAChE,SAASmG,eAAeC,GAA+D,OAA/CA,EAAKpG,QAAQ,QAAQ,MAAMA,QAAQ,MAAM,MAAmBoB,MAAM,MAVtBxC,eAAeyH,QAAQ,SAASzH,eAAe0H,QAAQ,iBAW3I,IAAIC,eAA6C,IAA3B9H,OAAOsC,mBAAiC,SAASmF,GAAK,OAAOnF,mBAAmBmF,IAAO,SAASA,GAAK,OAAOjF,OAAOiF,GAAKlG,QAAQ,MAAM,OAAOA,QAAQ,KAAK,OAAOA,QAAQ,KAAK,OAAOA,QAAQ,MAAM,OAAOA,QAAQ,KAAK,QAAS,SAAS4D,aAAa4C,EAAIC,GAAkB,IAAb,IAAIC,GAAO,EAAUrK,EAAE,EAAEkG,EAAIiE,EAAI3G,OAAOxD,EAAEkG,EAAIlG,IAAK,GAAGmK,EAAInK,KAAKoK,EAAI,CAACC,EAAMrK,EAAE,MACjW,OAAGqK,GAAO,IAAGF,EAAI9D,OAAOgE,EAAM,IAAU,GACxC,SAAShD,eAAe8C,EAAIC,GAAK,IAAI,IAAIpK,EAAE,EAAEkG,EAAIiE,EAAI3G,OAAOxD,EAAEkG,EAAIlG,IAAK,GAAGmK,EAAInK,IAAIoK,EAAK,OAAO,EAC9F,OAAO,EACP,SAASE,wBAAwBC,EAAMC,GAAc,OAAG3E,YAAY0E,GAAeC,EAA0Bd,KAAKa,GAClH,SAASE,uBAAuBF,EAAMC,GAAc,OAAG3E,YAAY0E,GAAeC,EAA0B7F,OAAO4F,GACnH,SAASG,oBAAoBH,EAAMC,GAAc,GAAG3E,YAAY0E,GAAQ,OAAOC,EAAmB,IAAI,IAAIvJ,EAAM0J,SAASJ,EAAM,IAAI,OAAOK,MAAM3J,GAAOuJ,EAAavJ,EAAO,MAAMuH,GAA+C,OAA3Cc,OAAOC,KAAK,qBAAqBgB,EAAM/B,GAAWgC,GACvO,SAASK,yBAAyBN,EAAMC,GAAc,MAAiB,mBAAPD,EAA0BA,EAAmBC,EAC7G,SAASM,QAAQC,GAAK,OAAOA,aAAeC,MACxC9I,SAASN,UAAUqJ,QAAO/I,SAASN,UAAUqJ,MAAM,SAASnF,IAAIoF,MAAM,IAAIC,WAAW,iBAAuC,IAAjBrF,IAAIqF,cAA0BA,YAAYxG,OAAOmD,KAAKE,UAAUgB,OAAO,IACtLlD,IAAIqF,YAAYlJ,KAAwB,IAAnB,IAAImJ,YAAY,GAAWpL,EAAE,EAAEkG,IAAIgF,KAAK1H,OAAOxD,EAAEkG,IAAIlG,IAAKoL,YAAYpL,GAAG,QAAQA,EAAE,IACxG,IAAIqL,OAAO,OAAOF,WAAW,IAAIC,YAAY9F,KAAK,KAAK,IAAQgG,YAAYC,KAAKF,QAA+B,cAAhBvF,IAAIqF,YAAmBG,cAClHpJ,SAASN,UAAUzB,OAAM+B,SAASN,UAAUzB,KAAK,SAAS2F,GAAiB,IAAZ,IAAIoF,EAAK,GAAWlL,EAAE,EAAEkG,EAAI3C,UAAUC,OAAOxD,EAAEkG,EAAIlG,IAAKkL,EAAKlL,EAAE,GAAGuD,UAAUvD,GAC/I,OAAOiC,KAAKgJ,MAAMnF,EAAIoF,KACtB,IAAI5B,OAAO,CAACkC,WAAU,EAAMC,cAAc,GAAGC,aAAa,SAASF,GAAWvJ,KAAKuJ,UAAU9B,KAAK8B,IAAaG,eAAe,EAAEC,gBAAe,EAAMC,kBAAkB,SAASD,GAAgB3J,KAAK2J,eAAeA,GAAiBE,MAAM,SAASrD,GAASxG,KAAKwJ,cAAcxF,KAAKwC,IAAWsD,aAAa,WAAWC,MAAM/J,KAAKwJ,cAAcnG,KAAK4C,WAAYqB,KAAK,SAASd,EAAQwD,KAAaC,MAAM,SAASzD,EAAQwD,GAAW,IAA0B,KAArBhK,KAAK0J,gBAAmB1J,KAAK2J,kBAAoB3J,KAAKuJ,UAAU,CAAC,IAAIW,EAAa,yBAAyB1D,EAAWwD,IAAWE,GAAcjE,QAAQA,QAAQ,mBAAmBe,sBAAsBgD,IACpnBD,MAAMG,MAA+F,SAASlF,YAAYwB,EAAQwD,GAAW3C,OAAO4C,MAAMzD,EAAQwD,GAAW1J,eAAeiF,cAAc,QAAQ,CAAC,QAAUiB,EAAQ,UAAYwD,IAAxN1J,eAAe+G,OAAOA,OAAO/G,eAAewE,cAAc,CAAC,OAAO,UAC3FxE,eAAe0E,YAAYA,YAAY,IAAImF,UAA2C,oBAAzBC,yBAAuCA,yBAAyB9J,eAAe+J,WAAW,SAASC,GAAQH,QAAQ1C,KAAK6C,IAAUhK,eAAeiK,UAAU,WAAW,OAAOJ,SAAU,IAAIK,6BAA4B,EAAKlK,eAAemK,4BAA4B,SAASC,GAA0BF,4BAA4B/C,KAAKiD,IAA4BpK,eAAeqK,2BAA2B,WAAW,OAAOH,6BAA8BlK,eAAesK,YAAY,SAASC,MAAM,OAAOvB,KAAKuB,OAAQ,IAAItD,iBAAgB,EAAMjH,eAAewK,mBAAmB,SAASC,GAAMxD,gBAAgBE,KAAKsD,IAAQ,IAAIC,MAAM,SAASC,EAAM3M,GAAM0B,KAAKiL,MAAMA,EAAMjL,KAAK1B,KAAKA,GAAugB,SAAS4M,MAAM5M,EAAK2M,GAAOjL,KAAK1B,KAAKA,EAAK0B,KAAKiL,MAAMrH,YAAYqH,GAAOD,MAAMG,KAAKF,EAAMjL,KAAKoL,MAAM,IAAIjJ,KAAxmB6I,MAAMrL,UAAU,CAAC0G,SAAS,WAAW,OAAOrG,KAAK1B,MAAO+M,OAAO,SAASJ,GAAO,OAAOjL,KAAKiL,OAAOA,EAAMA,OAAQK,iBAAiB,SAASL,GAAO,OAAOjL,KAAKiL,OAAOA,EAAMA,QAASD,MAAMO,IAAI,IAAIP,MAAMQ,OAAOC,UAAU,OAAOT,MAAMU,MAAM,IAAIV,MAAM,IAAM,SAASA,MAAMW,MAAM,IAAIX,MAAM,IAAM,SAASA,MAAMG,KAAK,IAAIH,MAAM,IAAM,QAAQA,MAAMY,KAAK,IAAIZ,MAAM,IAAM,QAAQA,MAAMa,MAAM,IAAIb,MAAM,IAAM,SAASA,MAAMc,MAAM,IAAId,MAAM,IAAM,SAASA,MAAMe,IAAI,IAAIf,MAAMQ,OAAOQ,UAAU,OAAO1L,eAAe0K,MAAMA,MAC/tCE,MAAMvL,UAAUsM,eAAe,WAAW,OAAO,IAAI9J,MAAOyD,UAAU5F,KAAKoL,MAAMxF,WAAY,IAAIsG,oBAAoB,cAAkBC,kBAAkB,YAAgBC,eAAe,SAAaC,eAAe,OAAO,SAASC,OAAOhO,GAAM0B,KAAK1B,KAAKA,EAAK0B,KAAKuM,OAAO,KAAKvM,KAAKwM,SAAS,GAAG,IAAIC,EAAU,GAAOC,EAAY,KAASC,EAAQ3M,KAAK1B,OAAO+N,eAAoBO,EAAQ5M,KAAK1B,OAAO8N,eAAoBS,EAAc,KAASC,GAAyB,EAAM9M,KAAK+M,SAAS,SAASC,GAAahN,KAAKwM,SAASxI,KAAKgJ,GAAaA,EAAYT,OAAOvM,KAAKgN,EAAYC,2BAA4B,IAAIC,GAAS,EAAKlN,KAAKmN,cAAc,WAAW,OAAOD,GAAWlN,KAAKoN,cAAc,SAASC,GAAY,IAAIC,EAAcJ,GAAUG,EAAYH,EAASG,EAAcC,GAActN,KAAKiN,2BAA6BjN,KAAKuN,YAAY,SAASC,GAAaZ,EAAQ5H,YAAY,sEAA+EwI,aAAoBlN,eAAemN,SAAcrI,eAAeqH,EAAUe,KAAWf,EAAUzI,KAAKwJ,GAAUA,EAASE,iBAAiB1N,MAAMA,KAAKiN,2BAAiCjI,YAAY,2CACznCoB,MAAMoH,GAAU,qCAAwCxN,KAAK2N,eAAe,SAASH,GAAUlI,aAAamH,EAAUe,GAAUA,EAASI,qBAAqB5N,MAAMA,KAAKiN,2BAA4BjN,KAAK6N,mBAAmB,WAAW,IAAIC,EAAcrB,EAAUlL,OAAO,GAAGuM,EAAc,EAAE,CAAC,IAAI,IAAI/P,EAAE,EAAEA,EAAE+P,EAAc/P,IAAK0O,EAAU1O,GAAG6P,qBAAqB5N,MAClWyM,EAAUlL,OAAO,EAAEvB,KAAKiN,4BAA6BjN,KAAK+N,sBAAsB,WAAW,GAAmB,OAAhBlB,GAAsBC,EAAyB,CAAC,IAAIkB,EAA0BrB,IAAS3M,KAAKmN,gBAAiB,GAAGnN,KAAKuM,OAAOwB,wBAAwBlB,EAAcmB,EAAyBrJ,OAAO8H,GAAWK,GAAyB,EACpU,OAAOD,GAAgB7M,KAAKiN,wBAAwB,WAAWH,GAAyB,EAAK,IAAI,IAAI/O,EAAE,EAAEkG,EAAIjE,KAAKwM,SAASjL,OAAOxD,EAAEkG,EAAIlG,IAAKiC,KAAKwM,SAASzO,GAAGkP,2BAA6BjN,KAAKiO,IAAI,SAAShD,EAAMiD,GAAQ,GAAG/D,SAASc,EAAMK,iBAAiBtL,KAAKmO,qBAAqB,CAAC,IAAInE,EAAcoE,EAAgBF,EAAO3M,OAAO,EAAM8M,EAAUH,EAAOE,GAAoBF,EAAO3M,OAAO,GAAGsH,QAAQwF,KAAYrE,EAAUqE,EAAUD,KAC7Z,IAAhB,IAAIE,EAAS,GAAWvQ,EAAE,EAAEA,GAAGqQ,EAAgBrQ,IAAKuQ,EAASvQ,GAAGmQ,EAAOnQ,GACvE,IAAIwQ,EAAa,IAAIC,aAAaxO,KAAK,IAAImC,KAAO8I,EAAMqD,EAAStE,GAAWhK,KAAKyO,cAAcF,KAAiBvO,KAAKyO,cAAc,SAASF,GAAkE,IAApD,IAAIG,EAAmB1O,KAAK+N,wBAAgChQ,EAAE,EAAEkG,EAAIyK,EAAmBnN,OAAOxD,EAAEkG,EAAIlG,IAAK2Q,EAAmB3Q,GAAG4Q,SAASJ,IAAiBvO,KAAK4O,SAAS,SAAS3D,GAAU0B,GAAgB,OAAR1B,EAAcjG,YAAY,wEAAiFiG,aAAiBD,MAAO0B,EAAYzB,EAAYjG,YAAY,6CACngBhF,KAAK1B,KAAK,gDAAkD0B,KAAK6O,SAAS,WAAW,OAAOnC,GAAc1M,KAAKmO,kBAAkB,WAAW,IAAI,IAAIW,EAAO9O,KAAc,OAAT8O,EAAcA,EAAOA,EAAOvC,OAAO,CAAC,IAAItB,EAAM6D,EAAOD,WAAW,GAAW,OAAR5D,EAAc,OAAOA,IAAUjL,KAAK+O,MAAM,SAASzQ,EAAK0Q,GAAmB,GAAG7E,QAA6D,IAApD,IAAIuE,EAAmB1O,KAAK+N,wBAAgChQ,EAAE,EAAEkG,EAAIyK,EAAmBnN,OAAOxD,EAAEkG,EAAIlG,IAAK2Q,EAAmB3Q,GAAGgR,MAAMzQ,EAAK0Q,IAAuBhP,KAAKiP,SAAS,WAAW,GAAG9E,QAA6D,IAApD,IAAIuE,EAAmB1O,KAAK+N,wBAAgChQ,EAAE,EAAEkG,EAAIyK,EAAmBnN,OAAOxD,EAAEkG,EAAIlG,IAAK2Q,EAAmB3Q,GAAGkR,YAAe,IAAIC,EAAO,GAAGlP,KAAKmP,KAAK,SAAS7Q,EAAK2M,GAAUd,UAAYvG,YAAYtF,GAAO0G,YAAY,uDAA+DiG,GAASA,aAAiBD,MACxwBkE,EAAO5Q,GAAM,IAAI4M,MAAM5M,EAAK2M,GADovBjG,YAAY,wCACt1B1G,EAAK,iDAA4F0B,KAAKoP,QAAQ,SAAS9Q,GAAM,GAAG6L,QAAS,GAAGvG,YAAYtF,GAAO0G,YAAY,8DAA+D,GAAGkK,EAAO5Q,GAAM,CAAC,IAAI+Q,EAAMH,EAAO5Q,GAAUgR,EAAaD,EAAMpD,iBAAiBjM,KAAKiO,IAAIoB,EAAMpE,MAAM,CAAC,SAAS7E,MAAM9H,GAAM,iBAAiBgR,EAAa,cAAcJ,EAAO5Q,QAAY+I,OAAOC,KAAK,4CAA4ChJ,IAAU0B,KAAKuP,OAAO,SAAS1E,GAAM,GAAGV,UAAUU,EAAK,CAAa,IAAZ,IAAI5B,EAAK,GAAWlL,EAAE,EAAEkG,EAAI3C,UAAUC,OAAOxD,EAAEkG,EAAIlG,IAAKkL,EAAKjF,KAAK1C,UAAUvD,KAChmBkL,EAAMA,EAAK1H,OAAO,EAAG0H,EAAK,CAAC,sBAA0BjF,KAAKiC,SAASgD,EAAKjF,KAAK6G,GAAM7K,KAAKiO,IAAIjD,MAAMa,MAAM5C,KAASjJ,KAAKqG,SAAS,WAAW,MAAM,UAAUrG,KAAK1B,KAAK,KACpKgO,OAAO3M,UAAU,CAAC6P,MAAM,WAAWxP,KAAKiO,IAAIjD,MAAMU,MAAMpK,YAAauI,MAAM,WAAW7J,KAAKiO,IAAIjD,MAAMW,MAAMrK,YAAamO,KAAK,WAAWzP,KAAKiO,IAAIjD,MAAMG,KAAK7J,YAAagG,KAAK,WAAWtH,KAAKiO,IAAIjD,MAAMY,KAAKtK,YAAa2I,MAAM,WAAWjK,KAAKiO,IAAIjD,MAAMa,MAAMvK,YAAaoO,MAAM,WAAW1P,KAAKiO,IAAIjD,MAAMc,MAAMxK,YAAaqO,aAAa,SAAS1E,GAAO,OAAOA,EAAMK,iBAAiBtL,KAAKmO,sBAAuByB,eAAe,WAAW,OAAO5P,KAAK2P,aAAa3E,MAAMU,QAASmE,eAAe,WAAW,OAAO7P,KAAK2P,aAAa3E,MAAMW,QAASmE,cAAc,WAAW,OAAO9P,KAAK2P,aAAa3E,MAAMG,OAAQ4E,cAAc,WAAW,OAAO/P,KAAK2P,aAAa3E,MAAMY,OAAQoE,eAAe,WAAW,OAAOhQ,KAAK2P,aAAa3E,MAAMa,QAASoE,eAAe,WAAW,OAAOjQ,KAAK2P,aAAa3E,MAAMc,SAAUQ,OAAO3M,UAAU6P,MAAMU,cAAa,EAAK5D,OAAO3M,UAAUkK,MAAMqG,cAAa,EAAK5D,OAAO3M,UAAU8P,KAAKS,cAAa,EAAK5D,OAAO3M,UAAU2H,KAAK4I,cAAa,EAAK5D,OAAO3M,UAAUsK,MAAMiG,cAAa,EAAK5D,OAAO3M,UAAU+P,MAAMQ,cAAa,EAAK,IAAIC,QAAQ,GAAOC,YAAY,GAAOC,0BAA0BrF,MAAMW,MAAU2E,WAAW,IAAIhE,OAAOD,gBAAgBiE,WAAW1B,SAASyB,2BAA2B/P,eAAeiQ,cAAc,WAAW,OAAOD,YAAahQ,eAAekQ,UAAU,SAASC,GAGvxC,GAHyzC,iBAAZA,IAAsBA,EAAWvE,oBAAoB7E,OAAOC,KAAK,oDAC92ClB,MAAMqK,GAAY,0CACfA,GAAYpE,gBAAgBrH,YAAY,sEACvCmL,QAAQM,GAAY,CAAC,IAAI3B,EAAO,IAAIxC,OAAOmE,GAAYN,QAAQM,GAAY3B,EAAOsB,YAAYpM,KAAKyM,GAAY,IAAiDC,EAA7CC,EAAaF,EAAW3J,YAAY,KAAsB,GAAG6J,GAAc,EAAE,CAAC,IAAIC,EAAiBH,EAAWI,UAAU,EAAEF,GAAcD,EAAapQ,eAAekQ,UAAUI,QAAwBF,EAAaJ,WAC1UI,EAAa3D,SAAS+B,GACtB,OAAOqB,QAAQM,IAAc,IAAIK,cAAc,KAAKxQ,eAAeyQ,iBAAiB,WACpF,OADmGD,gBAAeA,cAAcE,uBACzHF,eAAgB,IAAIG,WAAW,KAAK3Q,eAAe4Q,cAAc,WACxE,OADuFD,aAAYA,WAAW,IAAI3E,OAAOF,iBAA2BwC,SAAS5D,MAAMe,KAC5JkF,YAAa3Q,eAAe6Q,mBAAmB,WAAWb,WAAW1B,SAASyB,2BAA2BF,QAAQ,IAAK,IAAI3B,aAAa,SAASM,EAAOsC,EAAUnG,EAAMqD,EAAStE,GAAWhK,KAAK8O,OAAOA,EAAO9O,KAAKoR,UAAUA,EAAUpR,KAAKqR,wBAAwBD,EAAUxL,UAAU5F,KAAKsR,mBAAmBzL,KAAKC,MAAM9F,KAAKqR,wBAAwB,KAAMrR,KAAKsP,aAAatP,KAAKoR,UAAUG,kBAAkBvR,KAAKiL,MAAMA,EAAMjL,KAAKsO,SAASA,EAAStO,KAAKgK,UAAUA,GAAYwE,aAAa7O,UAAU,CAAC6R,mBAAmB,WAAW,OAAOxR,KAAKgK,UAAUhD,sBAAsBhH,KAAKgK,WAAW,IAAKyH,oBAAoB,WAAW,OAA6B,GAAtBzR,KAAKsO,SAAS/M,OAAWvB,KAAKsO,SAAS,GAAGtO,KAAKsO,SAASjL,KAAK4C,UAAWI,SAAS,WAAW,MAAM,gBAAgBrG,KAAKiL,MAAM,MAAO3K,eAAekO,aAAaA,aAAa,IAAIkD,OAAO,aAAaA,OAAO/R,UAAU,CAACsC,SAAS,CAAC0P,UAAU,SAASC,aAAa,YAAYC,gBAAgB,eAAeC,SAAS,QAAQC,WAAW,UAAUC,aAAa,YAAYC,OAAO,OAAON,UAAU,SAASC,aAAa,YAAYC,gBAAgB,eAAeC,SAAS,QAAQC,WAAW,UAAUC,aAAa,YAAYC,OAAO,MAAMC,YAAY,GAAGC,YAAY,GAAGC,eAAe,GAAGC,iBAAgB,EAAMC,2BAA0B,EAAM9H,4BAA4B,KAAK+H,OAAO,WAAWvN,YAAY,0DAA2DwN,iBAAiB,WAAWxN,YAAY,8EAA+EyN,eAAe,WAAW,MAAM,cAAeC,cAAc,WAAW,OAAO,GAAOjI,4BAA4B,SAASC,GAA0B1K,KAAKsS,2BAA0B,EAAKtS,KAAKwK,4BAA4B/C,KAAKiD,IAA4BC,2BAA2B,WAAW,OAAO3K,KAAKsS,0BAA0BtS,KAAKwK,4BAA4BA,6BAA8BmI,kBAAkB,SAASpE,GAAc,OAAOvO,KAAK2K,6BAA6B4D,EAAa8C,wBAAwB9C,EAAa+C,oBAAqBsB,cAAc,SAASrE,EAAasE,GAAiB,IAAIC,EAAW,CAAC,CAAC9S,KAAK2R,UAAUpD,EAAaO,OAAOxQ,MAAM,CAAC0B,KAAK4R,aAAa5R,KAAK2S,kBAAkBpE,IAAe,CAACvO,KAAK8R,SAASvD,EAAatD,MAAM3M,MAAM,CAAC0B,KAAKiS,OAAO9R,OAAO4S,SAASC,MAAM,CAAChT,KAAK+R,WAAWc,EAAgBtE,EAAakD,sBAAsBlD,EAAaD,WAEl0E,GAFi1EtO,KAAK2K,8BAA8BmI,EAAW9O,KAAK,CAAChE,KAAK6R,gBAAgBtD,EAAae,eACp6Ef,EAAavE,WAAW8I,EAAW9O,KAAK,CAAChE,KAAKgS,aAAahL,sBAAsBuH,EAAavE,aAC9FhK,KAAKiT,kBAAmB,IAAI,IAAIlV,EAAE,EAAEkG,EAAIjE,KAAKkT,aAAa3R,OAAOxD,EAAEkG,EAAIlG,IAAI,CAAC,IAAIoK,EAAInI,KAAKkT,aAAanV,GAAGiB,MAAsB,mBAANmJ,IAAkBA,EAAIA,EAAInI,KAAKuO,IAC3JuE,EAAW9O,KAAK,CAAChE,KAAKkT,aAAanV,GAAGO,KAAK6J,IAC3C,OAAO2K,GAAaK,QAAQ,SAASxB,EAAUC,EAAaE,EAASC,EAAWC,EAAaC,EAAOJ,GAAiB7R,KAAK2R,UAAUnJ,uBAAuBmJ,EAAU3R,KAAKiC,SAAS0P,WAAW3R,KAAK4R,aAAapJ,uBAAuBoJ,EAAa5R,KAAKiC,SAAS2P,cAAc5R,KAAK8R,SAAStJ,uBAAuBsJ,EAAS9R,KAAKiC,SAAS6P,UAAU9R,KAAK+R,WAAWvJ,uBAAuBuJ,EAAW/R,KAAKiC,SAAS8P,YAAY/R,KAAKgS,aAAaxJ,uBAAuBwJ,EAAahS,KAAKiC,SAAS+P,cAAchS,KAAKiS,OAAOzJ,uBAAuByJ,EAAOjS,KAAKiC,SAASgQ,QAAQjS,KAAK6R,gBAAgBrJ,uBAAuBqJ,EAAgB7R,KAAKiC,SAAS4P,kBAAmBuB,eAAe,SAAS9U,EAAKU,GAA8B,IAAvB,IAAIqU,GAAa,EAActV,EAAE,EAAEkG,EAAIjE,KAAKkT,aAAa3R,OAAOxD,EAAEkG,EAAIlG,IAAQiC,KAAKkT,aAAanV,GAAGO,OAAOA,IAAM0B,KAAKkT,aAAanV,GAAGiB,MAAMA,EAAMqU,GAAa,GAC/0BA,GAAcrT,KAAKkT,aAAalP,KAAK,CAAC,KAAO1F,EAAK,MAAQU,KAAWiU,gBAAgB,WAAW,OAAOjT,KAAKkT,aAAa3R,OAAO,GAAK+R,oBAAoB,SAAS/E,GAAc,IAAIgF,EAAUvT,KAAKuS,OAAOhE,GAC9M,OAD+NA,EAAavE,WAAWhK,KAAKwS,qBAAoBe,GAAWhF,EAAaiD,sBACjS+B,GAAYlN,SAAS,WAAWrB,YAAY,4DAA6D1E,eAAeoR,OAAOA,OAAO,IAAIjE,SAAS,aAmCtJ+F,iBAjCogB,SAASC,eAAezT,KAAKkT,aAAa,GACnO,SAASQ,aAAa1T,KAAKkT,aAAa,GACuE,SAASS,UAAUd,GAAiB7S,KAAK6S,gBAAgBxK,wBAAwBwK,GAAgB,GAAM7S,KAAKkT,aAAa,GAW7V,SAASU,eAAehM,GAAK,OAAOA,EAAIlG,QAAQ,cAAc,UACxR,SAASmS,WAAWC,EAASjB,GAAiB7S,KAAK8T,SAASzL,wBAAwByL,GAAS,GAAO9T,KAAK6S,gBAAgBxK,wBAAwBwK,GAAgB,GAAM7S,KAAKkS,YAAYlS,KAAK8T,SAAS,IAAI7N,QAAQ,IAAIjG,KAAKmS,YAAYnS,KAAK8T,SAAS,IAAI7N,QAAQ,IAAIjG,KAAKoS,eAAepS,KAAK8T,SAAS,IAAI7N,QAAQ,IAAIjG,KAAKmT,UAAUnT,KAAK+T,MAAM/T,KAAK8T,SAAS,KAAK,IAAI9T,KAAKgU,IAAIhU,KAAK8T,SAAS,KAAK,GAAG9T,KAAKiU,UAAUjU,KAAK8T,SAAS7N,QAAQ,GAAGjG,KAAKkT,aAAa,GAO/K,SAASgB,qBAAqBlU,KAAKmT,UAAUnT,KAAKkT,aAAa,GAAGlT,KAAKqS,iBAAgB,EAErH,SAAS8B,sBAAsBtQ,EAAIuQ,EAAMC,GAAa,IAAIC,EAAgB,GAS9T,OATiU,SAASC,EAAS1Q,EAAIuQ,EAAMC,GAAa,IAAItW,EAAEkG,EAAIuQ,EAAWC,EAAiBC,EAAWC,EAAUC,EACra,SAASC,EAAa/M,GAAqC,IAA/B,IAAIgN,EAAMjN,eAAeC,GAAciN,EAAE,EAAEC,EAAKF,EAAMvT,OAAOwT,EAAEC,EAAKD,IAAKD,EAAMC,GAAGV,EAAYS,EAAMC,GAChI,OAAOD,EAAMzR,KAAK4C,SAClB,GAHwboO,IAAaA,EAAY,IAGxc,OAANxQ,EAAY,MAAM,OAAa,QAAe,IAALA,EAAkB,MAAM,YAAkB,GAAe,iBAALA,EAAe,OAAOgR,EAAahR,GAAW,GAAe,iBAALA,GAAeuB,eAAekP,EAAgBzQ,GAAK,CAAC,IAAI8Q,EAAUvO,MAAMvC,GAAM,MAAM0C,GAAIoO,EAAU,uCAAuC3N,sBAAsBT,GACvT,OAAOoO,EAAU,sBAA4B,GAAI9Q,aAAeE,OAAQqQ,EAAM,EAAE,CAAoH,IAAnHE,EAAgBtQ,KAAKH,GAAK8Q,EAAU,IAAI1O,QAAQuO,EAAWJ,EAAM,EAAEK,EAAiBJ,EAAY,KAAKK,EAAW,GAAO3W,EAAE,EAAEkG,EAAIJ,EAAItC,OAAOxD,EAAEkG,EAAIlG,IAAK,IAAI6W,EAAeL,EAAS1Q,EAAI9F,GAAGyW,EAAWC,GAAkBC,EAAW1Q,KAAKyQ,EAAiBG,GAAiB,MAAMrO,GAAImO,EAAW1Q,KAAKyQ,EAAiB,2CACnYzN,sBAAsBT,IAC0C,OAAhEoO,GAAWD,EAAWrR,KAAK,IAAI4C,SAASA,QAAQoO,EAAY,IAA2B,GAAwC,iBAArC5V,OAAOkB,UAAU0G,SAASnI,KAAK2F,GAAuB,OAAOA,EAAIwC,WAAiB,GAAe,iBAALxC,GAAeuQ,EAAM,EAAE,CAAoH,IAAIrW,KAAvHuW,EAAgBtQ,KAAKH,GAAK8Q,EAAU,IAAI1O,QAAQuO,EAAWJ,EAAM,EAAEK,EAAiBJ,EAAY,KAAKK,EAAW,GAAY7Q,EAAK,IAAI+Q,EAAeL,EAAS1Q,EAAI9F,GAAGyW,EAAWC,GAAkBC,EAAW1Q,KAAKyQ,EAAiB1W,EAAE,KAAK6W,GAAiB,MAAMrO,GAAImO,EAAW1Q,KAAKyQ,EAAiB1W,EAAE,yCACrfiJ,sBAAsBT,IAC0C,OAAhEoO,GAAWD,EAAWrR,KAAK,IAAI4C,SAASA,QAAQoO,EAAY,IAA2B,OAAOQ,EAAazO,MAAMvC,IAC1G0Q,CAAS1Q,EAAIuQ,EAAMC,GAWqD,SAASY,cAAcC,GAAqBlV,KAAKkV,QAAdA,GAAiDD,cAAcE,2BACjLnV,KAAKkT,aAAa,GAkBwL,SAASkC,iBACuG,SAASC,0BAjE5J5H,SAAS9N,UAAU,IAAImE,aAAe2J,SAAS9N,UAAU2V,OAAO,IAAIL,cAAgBxH,SAAS9N,UAAU4V,UAAUvK,MAAMO,IAAIkC,SAAS9N,UAAUwQ,QAAQ,GAAG1C,SAAS9N,UAAUgP,SAAS,SAASJ,GAAiBpE,SAASoE,EAAatD,MAAMA,OAAOjL,KAAKuV,UAAUtK,OAAOjL,KAAKwV,OAAOjH,IAAiBd,SAAS9N,UAAU6V,OAAO,SAASjH,KAAgBd,SAAS9N,UAAU8V,UAAU,SAASH,GAAWA,aAAkB5D,OAAQ1R,KAAKsV,OAAOA,EAAatQ,YAAY,0CAC/mBhF,KAAKqG,WAAW,iCAAmCoH,SAAS9N,UAAU+V,UAAU,WAAW,OAAO1V,KAAKsV,QAAS7H,SAAS9N,UAAUgW,aAAa,SAASJ,GAAcA,aAAqBvK,MAAOhL,KAAKuV,UAAUA,EAAgBvQ,YAAY,gDAC9OhF,KAAKqG,WAAW,gCAAkCoH,SAAS9N,UAAUiW,aAAa,WAAW,OAAO5V,KAAKuV,WAAY9H,SAAS9N,UAAU+N,iBAAiB,SAASoB,GAAQ9O,KAAKmQ,QAAQnM,KAAK8K,IAAUrB,SAAS9N,UAAUiO,qBAAqB,SAASkB,GAAQxJ,aAAatF,KAAKmQ,QAAQrB,IAAUrB,SAAS9N,UAAUoP,MAAM/I,cAAcyH,SAAS9N,UAAUsP,SAASjJ,cAAcyH,SAAS9N,UAAU0G,SAAS,WAAWrB,YAAY,+DAAgE1E,eAAemN,SAASA,SAC/fgG,aAAa9T,UAAU,IAAI+R,OAAS+B,aAAa9T,UAAU4S,OAAO,SAAShE,GAAc,OAAOA,EAAatD,MAAM3M,KAAK,MAAMiQ,EAAakD,uBAAwBgC,aAAa9T,UAAU6S,iBAAiB,WAAW,OAAO,GAAOiB,aAAa9T,UAAU0G,SAAS,WAAW,MAAM,gBAAiB/F,eAAemT,aAAaA,aAClUC,WAAW/T,UAAU,IAAI+R,OAASgC,WAAW/T,UAAU4S,OAAO,SAAShE,GAAc,OAAOA,EAAaD,UAAWoF,WAAW/T,UAAU6S,iBAAiB,WAAW,OAAO,GAAOkB,WAAW/T,UAAU2T,oBAAoB,SAAS/E,GAAc,IAAID,EAASC,EAAaD,SAAS/H,EAAGgI,EAAavE,UAAU,OAAOzD,EAAG+H,EAAS3J,OAAO,CAAC4B,IAAK+H,GAAWoF,WAAW/T,UAAU0G,SAAS,WAAW,MAAM,cAAe/F,eAAeoT,WAAWA,WACnbC,UAAUhU,UAAU,IAAI+R,OAASiC,UAAUhU,UAAUkW,mBAAmB,WAAW,OAAO7V,KAAK6S,iBAAkBc,UAAUhU,UAAU8S,eAAe,WAAW,MAAM,YAAakB,UAAUhU,UAAUmW,YAAY,SAASlO,GAAK,OAAOA,EAAIlG,QAAQ,QAAQ,uBAAwBiS,UAAUhU,UAAU4S,OAAO,SAAShE,GAAc,IAAoBxQ,EAAEkG,EAAlBqR,EAAOtV,KAAe,SAAS+V,EAAcvP,GAAoE,OAA3DA,EAA0B,iBAAVA,EAAoBA,EAAQJ,MAAMI,GAAe,oCAChc8O,EAAOQ,YAAYtP,GAAS,+BAC5B,IAAIoB,EAAI,iCAAkC2G,EAAaO,OAAOxQ,KAAK,gBAAkB0B,KAAK2S,kBAAkBpE,GAAc,IACnE,GAD4EvO,KAAK2K,+BAA8B/C,GAAK,kBAAmB2G,EAAae,aAAa,KACxN1H,GAAK,WAAY2G,EAAatD,MAAM3M,KAAK,KAAM2H,QAAWjG,KAAK6S,gBAAiBjL,GAAKmO,EAAcxH,EAAakD,2BAA4B,CAA0C,IAAzC7J,GAAK,4BAA4B3B,QAAYlI,EAAE,EAAEkG,EAAIsK,EAAaD,SAAS/M,OAAOxD,EAAEkG,EAAIlG,IAAK6J,GAAKmO,EAAcxH,EAAaD,SAASvQ,IAAIkI,QACvR2B,GAAK,6BAA6B3B,QAClC,GAAGjG,KAAKiT,kBAAmB,IAAIlV,EAAE,EAAEkG,EAAIjE,KAAKkT,aAAa3R,OAAOxD,EAAEkG,EAAIlG,IAAK6J,GAAK,qCAChF5H,KAAKkT,aAAanV,GAAGO,KAAK,cAC1B0B,KAAKkT,aAAanV,GAAGiB,MAAMqH,WAAW,mCAAmCJ,QAG1B,OAF5CsI,EAAavE,YAAWpC,GAAK,sCAChCZ,sBAAsBuH,EAAavE,WAAW,iCAAiC/D,SAC/E2B,GAAK,0BAA0B3B,QAAQA,SAAqB0N,UAAUhU,UAAU6S,iBAAiB,WAAW,OAAO,GAAQmB,UAAUhU,UAAU0G,SAAS,WAAW,MAAM,aAAc/F,eAAeqT,UAAUA,UAEhNE,WAAWlU,UAAU,IAAI+R,OAASmC,WAAWlU,UAAUqW,WAAW,WAAW,OAAOhW,KAAK8T,UAAWD,WAAWlU,UAAUkW,mBAAmB,WAAW,OAAO7V,KAAK6S,iBAAkBgB,WAAWlU,UAAU4S,OAAO,SAAShE,GAAc,IAAoHxQ,EAAEkG,EAAlHqR,EAAOtV,KAAS8S,EAAW9S,KAAK4S,cAAcrE,EAAavO,KAAK6S,iBAAqBjL,EAAI,IAAI5H,KAAKiU,UAAoB,SAASgC,EAAY9N,EAAI+N,EAAOC,GAAQ,IAAIC,EAAmBC,SAAelO,EAAI,GAAGA,aAAehG,KAAMiU,EAAe1T,OAAOyF,EAAIvC,gBAAiB,GAAGuQ,GAAShO,aAAepE,MAAO,CAACqS,EAAe,IAAId,EAAOrB,UAAU,IAAI,IAAIlW,EAAE,EAAEkG,EAAIkE,EAAI5G,OAAOxD,EAAEkG,EAAIlG,IAAI,CAAC,IAAIuY,EAAYJ,EAAOZ,EAAOtB,IAAIoC,GAAgBE,EAAYL,EAAY9N,EAAIpK,GAAGuY,GAAY,GAAUvY,EAAEoK,EAAI5G,OAAO,IAAG6U,GAAgB,KAC3uBA,GAAgBd,EAAOrB,UACvBmC,GAAgBF,EAAO,SAAsDE,EAA/B,WAAVC,GAA8B,YAAVA,EAAoC,IAAKzC,eAAexN,MAAM+B,GAAKzG,QAAQ,MAAM,QAAS,IAA0ByG,EAC5K,OAAOiO,EACP,IAAIrY,EAAE,EAAEkG,EAAI6O,EAAWvR,OAAO,EAAExD,GAAGkG,EAAIlG,IAAK6J,GAAK5H,KAAKgU,IAAI,IAAKlB,EAAW/U,GAAG,GAAG,IAAKiC,KAAK+T,MAAMkC,EAAYnD,EAAW/U,GAAG,GAAGiC,KAAKgU,KAAI,GAASjW,EAAEkG,IAAK2D,GAAK,KAC3JA,GAAK5H,KAAKiU,UACc,OAAxBrM,GAAK,IAAI5H,KAAKiU,WAAuBJ,WAAWlU,UAAU6S,iBAAiB,WAAW,OAAO,GAAQqB,WAAWlU,UAAU0G,SAAS,WAAW,MAAM,cAAewN,WAAWlU,UAAU8S,eAAe,WAAW,MAAM,oBAAqBnS,eAAeuT,WAAWA,WACvQK,mBAAmBvU,UAAU,IAAI+R,OAASwC,mBAAmBvU,UAAU+S,cAAc,WAAW,OAAO,GAAQwB,mBAAmBvU,UAAU4S,OAAO,SAAShE,GAA+E,IAAjE,IAAIuE,EAAW9S,KAAK4S,cAAcrE,GAAkBgI,EAAU,GAAWxY,EAAE,EAAEkG,EAAI6O,EAAWvR,OAAOxD,EAAEkG,EAAIlG,IAAI,CAAC,IAAIoK,EAAK2K,EAAW/U,GAAG,aAAaoE,KAAMO,OAAOoQ,EAAW/U,GAAG,GAAG6H,WAAWkN,EAAW/U,GAAG,GAAGwY,EAAUvS,KAAKiE,UAAU6K,EAAW/U,GAAG,IAAI,IAAIkK,UAAUE,IAC/a,OAAOoO,EAAUlT,KAAK,MAAO6Q,mBAAmBvU,UAAU6S,iBAAiB,SAASjE,GAAc,OAAO,GAAQ2F,mBAAmBvU,UAAU0G,SAAS,WAAW,MAAM,sBAAuB/F,eAAe4T,mBAAmBA,mBAU5M,WAAY,IAAIsC,EAAM,8FAAkGC,EAAW,CAAC,UAAU,WAAW,QAAQ,QAAQ,MAAM,OAAO,OAAO,SAAS,YAAY,UAAU,WAAW,YAAgBC,EAAS,CAAC,SAAS,SAAS,UAAU,YAAY,WAAW,SAAS,YAAuEC,EAAM,CAACC,EAAxD,EAAgEC,EAAxC,EAA+CC,EAAvC,EAA+CC,EAA9D,EAAuEC,EAAvE,EAAgFC,EAAhF,EAAyF5Y,EAAzF,EAAkG6Y,EAAlG,EAA2GC,EAApH,EAA4HC,EAApI,EAA4IC,EAA3H,EAAoIC,EAApI,EAA6IC,EAA7I,EAAsJC,EAAtJ,EAA+JrZ,EAA/J,EAAwK2B,EAAxK,EAAiL2X,EAAjL,EAA0LC,EAAhK,GAA0QC,EAAkB,SAASC,EAAKC,EAAMC,GAAK,IAAIzZ,EAAE,IAAI8D,KAAKyV,EAAKC,EAAMC,EAAI,EAAE,EAAE,GAAwB,OAArBzZ,EAAE0Z,gBAAgB,GAAU1Z,GAAI8D,KAAKxC,UAAUqY,cAAc,SAASC,GAAM,OAAOjY,KAAK4F,UAAUqS,EAAKrS,WAAYzD,KAAKxC,UAAUuY,SAAS,SAAS7Z,GAAG,OAAO2B,KAAK4F,UAAUvH,EAAEuH,WAAYzD,KAAKxC,UAAUwY,WAAW,WAAW,OAAOhW,KAAKiW,IAAIpY,KAAKqY,cAAcrY,KAAKsY,WAAWtY,KAAKuY,UAAUvY,KAAKwY,WAAWxY,KAAKyY,aAAazY,KAAK0Y,aAAa1Y,KAAKuR,oBAAqBpP,KAAKxC,UAAUgZ,aAAa,SAASta,GAAG,OAAO2B,KAAKmY,aAAa9Z,EAAE8Z,cAAehW,KAAKxC,UAAUiZ,kBAAkB,WAAW,IAAIC,EAAO,IAAI1W,KAAKnC,KAAKqY,cAAcrY,KAAKsY,WAAWtY,KAAKuY,UAAU,GAAG,EAAE,GAAOO,EAAe,IAAI3W,KAAK0W,EAAOjT,UAAjwB,MAA2wB5F,KAAK+Y,UAAkB,OAAOpB,EAAkBmB,EAAeT,cAAcS,EAAeR,WAAWQ,EAAeP,YAAapW,KAAKxC,UAAUqZ,cAAc,SAASC,GAA2BrV,YAAY5D,KAAKiZ,0BAAyBA,EAA76B,GACvpB,IAAIH,EAAe9Y,KAAK4Y,oBAAwBM,EAAYvB,EAAkB3X,KAAKqY,cAAc,EAAE,GAAqLc,EAA9JL,EAAeZ,SAASgB,GAAa,EAAE,EAAErT,KAAKC,MAAMgT,EAAeH,aAAaO,GAD4Z,QAEtmB,OAD6P,EAAEA,EAAYH,SAAmEE,GAAwBE,IAC/VA,GAAahX,KAAKxC,UAAUyZ,eAAe,SAASH,GAA2BrV,YAAY5D,KAAKiZ,0BAAyBA,EAFuhB,GAGvpB,IAAIH,EAAe9Y,KAAK4Y,oBAAwBS,EAAa1B,EAAkB3X,KAAKqY,cAAcrY,KAAKsY,WAAW,GAAwLgB,EAAjKR,EAAeZ,SAASmB,GAAc,EAAE,EAAExT,KAAKC,MAAMgT,EAAeH,aAAaU,GAH4Y,QAItmB,OAD8Q,EAAEA,EAAaN,UAAqEE,GAAwBK,IACnXA,GAAcnX,KAAKxC,UAAU4Z,aAAa,WAAW,IAAIL,EAAYvB,EAAkB3X,KAAKqY,cAAc,EAAE,GAAG,OAAO,EAAExS,KAAKC,MAAM9F,KAAK2Y,aAAaO,GAJ+a,SAIvZ1F,iBAAiB,SAASqB,GAAc7U,KAAK6U,aAAaA,IAAgClV,UAAU6Z,0BAA0B,SAASC,GAAMzZ,KAAKiZ,uBAAuBQ,GAAOjG,iBAAiB7T,UAAU+Z,0BAA0B,WAAW,OAAO9V,YAAY5D,KAAKiZ,wBAJ2N,EAIhKjZ,KAAKiZ,wBAAyB,IAAIU,EAAc,SAAS/R,EAAI3D,GAAK,KAAM2D,EAAIrG,OAAO0C,GAAK2D,EAAI,IAAIA,EACvlB,OAAOA,GAAUgS,EAAW,SAASC,EAAKC,EAAgBC,GAAW,OAAOD,GAAiB,EAAGD,EAAKA,EAAK9S,OAAO,EAAElB,KAAKgB,IAAIkT,EAAUD,KAAwBE,EAAa,SAASH,EAAKC,GAAwC,OAAOH,EAAf,GAAGE,EAAqCC,IAAmBtG,iBAAiB7T,UAAU4S,OAAO,SAAS0F,GAA2E,IAArE,IAA2B5W,EAAvB4Y,EAAgB,GAAkBC,EAAala,KAAK6U,aAAoBxT,EAAOmV,EAAM2D,KAAKD,IAAe,CAAC,IAAIE,EAAa/Y,EAAO,GAAOgZ,EAAehZ,EAAO,GAAOiZ,EAAajZ,EAAO,GAAOkZ,EAAgBlZ,EAAO,GAAG,GAAG+Y,EAAqCH,GAAN,MAAdG,EAAqC,IAA2BA,EAAavJ,UAAU,EAAEuJ,EAAa7Y,OAAO,QAAU,GAAG+Y,QAAoB,GAAGC,EAAiBN,GAAiBM,OAAsB,GAAGF,EAAe,CAAC,IAAIG,EAAcH,EAAe/W,OAAO,GAAOwW,EAAgBO,EAAe9Y,OAAWkZ,EAAQ,GAAG,OAAOD,GAAe,IAAI,IAAIC,EAAQ,KAAK,MAAM,IAAI,IAAIA,EAAQxC,EAAKI,cAAc,MAAM,IAAI,IAAIoC,EAAQxC,EAAKK,WAAW,MAAM,IAAI,IAAImC,EAAQxC,EAAKe,cAAchZ,KAAK0Z,6BAA6B,MAAM,IAAI,IAAIe,EAAQxC,EAAKmB,eAAepZ,KAAK0Z,6BAA6B,MAAM,IAAI,IAAIe,EAAQxC,EAAKsB,eAAe,MAAM,IAAI,IAAIkB,EAAQxC,EAAKM,UAAU,MAAM,IAAI,IAAIkC,EAAQ,EAAE5U,KAAKC,OAAOmS,EAAKM,UAAU,GAAG,GAAG,MAAM,IAAI,IAAIkC,EAAQ/D,EAASuB,EAAKc,UAAU,MAAM,IAAI,IAAI0B,EAASxC,EAAKO,YAAY,GAAI,KAAK,KAAK,MAAM,IAAI,IAAIiC,EAAQxC,EAAKO,WAAW,MAAM,IAAI,IAAIiC,EAAQxC,EAAKO,YAAY,GAAG,MAAM,IAAI,IAAIiC,EAAQxC,EAAKO,WAAW,GAAG,MAAM,IAAI,IAAIiC,EAASxC,EAAKO,WAAW,IAAK,GAAG,MAAM,IAAI,IAAIiC,EAAQxC,EAAKQ,aAAa,MAAM,IAAI,IAAIgC,EAAQxC,EAAKS,aAAa,MAAM,IAAI,IAAI+B,EAAQxC,EAAK1G,kBAAkB,MAAM,IAAI,IAAIkJ,EAAQxC,EAAKyC,oBACrrD,OAAO/D,EAAM6D,IAAgB,KAN2U,EAMhUP,GAAiBL,EAAWa,EAAQX,EAAgB,GAAG,MAAM,KAN2Q,EAMhQG,GAAiBL,EAAWa,EAAQX,EAAgB,GAAG,MAAM,KAN4M,EAMhMG,GAAiBD,EAAaS,EAAQX,GAAiB,MAAM,KAN0I,EAM/EG,GAA9CH,GAAiB,GAAkB,GAAGW,GAAoC1T,OAAO,EAAE,GAA0BiT,EAAaS,EAAQX,GACrY,MAAM,KAPkY,EAOhWG,GAApBH,GAAiB,EAAoBF,EAAWnD,EAAWgE,GAASX,EAAgBA,GAAwCE,EAAaS,EAAQ,EAAEX,GACvK,MAAM,KAR6Y,EAQ/X,IAA+B5D,EAAfuE,EAAQ,EAAyB,IAAI,IAAQE,EAAQ9U,KAAK+U,IAAIH,GAAaI,EAAM,GAAGhV,KAAKC,MAAM6U,EAAQ,IAAqCG,EAAQ,GAAIH,EAAQ,GAAqCV,GAAiB/D,GAA3G2E,EAAMlB,EAAckB,EAAM,KAA+BC,EAAQnB,EAAcmB,EAAQ,KACtOZ,EAAaA,EAAanT,OAAO1F,EAAO+G,MAAM/G,EAAO,GAAGE,QACxD,OAAO0Y,GAVc,GAUS3Z,eAAekT,iBAAiBA,iBAE9DyB,cAAc8F,wBAAwB,kBAAkB9F,cAAcE,2BAA2B,OAAOF,cAAc+F,mBAAmB,0BAA0B/F,cAAcgG,oBAAoB,2BAA2BhG,cAAciG,wBAAwB,eAAejG,cAActV,UAAU,IAAI+R,OAASuD,cAActV,UAAU4S,OAAO,SAAShE,GAAwJ,IAA1I,IAAqGlN,EAAjGmV,EAAM,gEAAoEyD,EAAgB,GAAkBC,EAAala,KAAKkV,QAAe7T,EAAOmV,EAAM2D,KAAKD,IAAe,CAAC,IAAIiB,EAAc9Z,EAAO,GAAO+Z,EAAQ/Z,EAAO,GAAOga,EAAWha,EAAO,GAAOia,EAAoBja,EAAO,GAAOka,EAAUla,EAAO,GAAOyG,EAAKzG,EAAO,GAAG,GAAGyG,EAAMmS,GAAiB,GAAGnS,MAAU,CAAC,IAa/tB9J,EAbmuBwd,EAAY,GAAG,OAAOF,GAAqB,IAAI,IAAI,IAAI,IAAI,IAAIlH,EAAM,EAAKmH,IAAWnH,EAAM1L,SAAS6S,EAAU,IAAO5S,MAAMyL,KAAQpP,YAAY,4CACt3BuW,EAAU,+BAA+BD,EAAoB,0BAA0BlH,EAAM,IACL,IAAxF,IAAI9F,EAAgC,MAAtBgN,EAA2B/M,EAAaD,SAAS,GAAGC,EAAaD,SAAiBvQ,EAAE,EAAEkG,EAAIqK,EAAS/M,OAAOxD,EAAEkG,EAAIlG,IAAQA,EAAE,GAA+C,MAA3Cyd,EAAYlY,OAAOkY,EAAYja,OAAO,KAAWia,GAAa,KAC5LA,GAAH,IAARpH,EAAwB9F,EAASvQ,GAAsBoW,sBAAsB7F,EAASvQ,GAAGqW,GAC5F,MAAM,IAAI,IAAI,IAAI3D,EAAWlC,EAAaO,OAAOxQ,KAAK,GAAGid,EAAU,CAAC,IAAIE,EAAU/S,SAAS6S,EAAU,IAAQG,EAAenN,EAAaO,OAAOxQ,KAAKwE,MAAM,KAA0C0Y,EAAlCC,GAAWC,EAAena,OAAoBkP,EAA6BiL,EAAetY,MAAMsY,EAAena,OAAOka,GAAWpY,KAAK,UAAYmY,EAAY/K,EACjU,MAAM,IAAI,IAAI,IAAIkL,EAAW1G,cAAc+F,mBAAsBO,IAA+C,YAApCI,EAAWJ,GAAoCI,EAAW1G,cAAc+F,mBAAwC,YAAZW,EAAwBA,EAAW1G,cAAciG,wBAA6C,QAAZS,IAAoBA,EAAW1G,cAAcgG,sBAC/SO,EAAY,IAAKhI,iBAAiBmI,GAAapJ,OAAOhE,EAAa6C,WAAW,MAAM,IAAI,IAAI,GAAGpR,KAAKiT,kBAAkB,CAAC,IAAI2I,EAAW,EAAKL,IAAWK,EAAWlT,SAAS6S,EAAU,IAAO5S,MAAMiT,GAAa5W,YAAY,4CAC1NuW,EAAU,uDAA6E,IAAbK,EAAgB5W,YAAY,4CACtGuW,EAAU,8DAAuEK,EAAW5b,KAAKkT,aAAa3R,OAAQyD,YAAY,4CAClIuW,EAAU,yEAA+EK,GAAsB,GAC/G,IAAIzT,EAAInI,KAAKkT,aAAa0I,GAAY5c,MAAqB,mBAALmJ,IAAiBA,EAAIA,EAAInI,KAAKuO,IACpFiN,EAAYrT,EACZ,MAAM,IAAI,IAAIqT,EAAYvV,QAAQ,MAAM,IAAI,IAAIuV,EAAYjN,EAAatD,MAAM3M,KAAK,MAAM,IAAI,IAAIkd,EAAY,GAAGjN,EAAa6C,UAAU4G,cAActS,sBAAsB,MAAM,IAAI,IAAI8V,EAAY,IAAI,MAAM,QAAQA,EAAYL,EAC9N,GAAGE,EAAW,CAACrd,EAAE0K,SAAS2S,EAAWtU,OAAO,GAAG,IAAI,IAAI8U,EAAOL,EAAYja,OAAUvD,EAAE6d,IAAQL,EAAYA,EAAY3K,UAAUgL,EAAO7d,EAAE6d,IAC/I,GAAGT,EAAS,GAAsB,KAAnBA,EAAQ9X,OAAO,GAA0C,IAAjCtF,EAAE0K,SAAS0S,EAAQrU,OAAO,GAAG,IAAUyU,EAAYja,OAAOvD,GAAGwd,GAAa,SAAkC,IAAvBxd,EAAE0K,SAAS0S,EAAQ,IAAUI,EAAYja,OAAOvD,GAAGwd,EAAY,IAAIA,EAC/LvB,GAAiBuB,EACjBtB,EAAaA,EAAanT,OAAO1F,EAAO+G,MAAM/G,EAAO,GAAGE,QACxD,OAAO0Y,GAAkBhF,cAActV,UAAU6S,iBAAiB,WAAW,OAAO,GAAOyC,cAActV,UAAU0G,SAAS,WAAW,MAAM,iBAAkB/F,eAAe2U,cAAcA,cAC5LG,cAAczV,UAAU,IAAI8N,SAAW2H,cAAczV,UAAU2V,OAAO,IAAI7B,aAAe2B,cAAczV,UAAU6V,OAAO,SAASjH,GAAcxE,MAAM/J,KAAK0V,YAAYpC,oBAAoB/E,KAAiB6G,cAAczV,UAAU0G,SAAS,WAAW,MAAM,iBAAkB/F,eAAe8U,cAAcA,cAC5SC,uBAAuB1V,UAAU,IAAIW,eAAemN,SAAW4H,uBAAuB1V,UAAU2V,OAAO,IAAI5B,WAAa2B,uBAAuB1V,UAAU4V,UAAUvK,MAAMW,MAAM0J,uBAAuB1V,UAAU6V,OAAO,SAASjH,GAAc,IAA4VuN,EAAxVtO,EAASxN,KAAS+b,EAAoB,SAASC,GAAa,IAAIC,EAAiBzO,EAASkI,YAAYpC,oBAAoB/E,GAAc,MAAgC,iBAAlB0N,EAA6BD,EAAYC,EAAiB,CAACA,GAAoBD,EAAYC,EAAiB5Y,KAAK,KAAK4Y,GAAwBC,EAAQ/b,OAAO+b,QAAWA,GAASA,EAAQjO,IACrhB,mBAAlCiO,EADspBJ,EAAjEI,EAAQrS,OAAOmB,MAAMW,MAAML,iBAAiBiD,EAAatD,OAA0B,QAAiBiR,EAAQzM,MAAMzE,MAAMG,KAAKE,OAAOkD,EAAatD,OAA0B,OAAgBiR,EAAQ5U,MAAM0D,MAAMY,KAAKP,OAAOkD,EAAatD,OAA0B,OAAgBiR,EAAQjS,OAAOsE,EAAatD,MAAMK,iBAAiBN,MAAMa,OAA0B,QAAgC,OAC/7B7C,MAAmBkT,EAAQJ,GAAmB9S,MAAMkT,EAAQH,GAAoB,IAAcG,EAAQJ,GAAmBC,GAAoB,IAAgC,oBAAPI,OAAqBA,MAAMC,WAAWD,MAAMC,UAAUL,GAAoB,KAAU1G,uBAAuB1V,UAAUoP,MAAM,SAASzQ,GAAS6B,OAAO+b,SAAS/b,OAAO+b,QAAQnN,OAAO5O,OAAO+b,QAAQnN,MAAMzQ,IAAS+W,uBAAuB1V,UAAUsP,SAAS,WAAc9O,OAAO+b,SAAS/b,OAAO+b,QAAQjN,UAAU9O,OAAO+b,QAAQjN,YAAcoG,uBAAuB1V,UAAU0G,SAAS,WAAW,MAAM,0BAA2B/F,eAAe+U,uBAAuBA,uBAAuB,IAAIgH,WAAW,WAAW,OAAO,IAAIC,gBAAuBC,iBAAiB,CAACF,WAAW,WAAW,OAAO,IAAIG,cAAc,mBAAoB,WAAW,OAAO,IAAIA,cAAc,uBAA4BC,0BAAyB,EAAUC,WAAW,SAASC,GAAuC,IAAzB,IAAiB3b,EAAb4b,EAAQ,KAAqB7e,EAAE,EAAEkG,EAAIsY,iBAAiBhb,OAAOxD,EAAEkG,EAAIlG,IAAI,CAACiD,EAAQub,iBAAiBxe,GAAG,IAAuH,OAAnH6e,EAAQ5b,IAAUyb,yBAA0Bzb,GAASqb,YAAa,oBAAoBO,EAAUF,WAAW1b,EAAe4b,EAAS,MAAM1c,KACrrCyc,EAAcA,IAAqB3X,YAAY,uDAyC9C6X,gBAzCuG,SAASC,wBAAwBF,GAAS,OAAOhZ,YAAYgZ,EAAQG,SAA0B,IAAjBH,EAAQG,QAAaH,EAAQG,QAAQ,KAAKH,EAAQG,OAAO,KAAsB,MAAhBH,EAAQG,OAChQ,SAASC,aAAarW,EAAIsW,GAAiB,IAAIzP,EAASxN,KAASkd,GAAY,EAASvW,IAAK3B,YAAY,sDAAsDkY,GAAY,GACzK,IAAIC,EAAMnd,KAAKiC,SAASkb,MAAUC,EAAgBpd,KAAKiC,SAASmb,gBAAoBC,EAAUrd,KAAKiC,SAASob,UAAcC,EAActd,KAAKiC,SAASqb,cAAkBC,EAAuBvd,KAAKiC,SAASsb,uBAA2BC,EAAaxd,KAAKiC,SAASub,aAAiBC,EAAYzd,KAAKiC,SAASwb,YAAgBC,EAAgB1d,KAAKiC,SAASyb,gBAAoBC,EAAY3d,KAAKiC,SAAS0b,YAAgBC,EAAU,KAASC,EAAoB,GAAOC,EAAe,GAAOC,EAAQ,GAAOC,GAAQ,EAAUC,GAAY,EAAM,SAASC,EAAkBC,GAAkB,OAAGF,IAAajZ,YAAY,uCAC1lBmZ,EAAiB,6DAAmE,GAEs3D,SAASC,IAAgD,IAAIC,EAA1C,GAAGnB,GAAa/S,QAA8C,GAArC6T,GAAQ,EAAgCZ,EAAoBU,EAAevc,OAAO,EAA8C+c,EAAYC,EAAvDF,EAAoBP,EAAe5Z,SAAyDka,IAAeJ,GAAQ,EAASb,GAAOqB,SAAyB,CAAC,KAAOH,EAAoBP,EAAe5Z,SAAUoa,EAAYC,EAAgBF,IACxzEL,GAAQ,EAASb,GAAOqB,KACH,SAASC,IAAmB,IAAIC,GAAgB,EAAM,GAAGxB,GAAa/S,QAAQ,CAA0H,IAAzH,IAAyEwU,EAArEC,EAAgBpR,EAASkI,YAAYhD,gBAAgB2K,EAAU,EAA8BwB,EAAqB,GAAUF,EAAoBd,EAAoB3Z,SAAU2a,EAAqB7a,KAAK2a,GAAwBd,EAAoBtc,QAAQqd,IAAiBd,EAAe9Z,KAAK6a,GAAsBA,EAAqB,IACjbA,EAAqBtd,OAAO,GAAGuc,EAAe9Z,KAAK6a,GACtDH,EAAiBZ,EAAevc,OAAO,EAAG6b,GAAgB,EAAMD,GAAM,EAAMiB,IAC5E,OAAOM,EACgC,SAASH,EAAgBM,GAAuF,IAAjE,IAA6BF,EAAzBG,EAAkB,GAA+BC,EAAS,GAAUJ,EAAoBE,EAAqB3a,SAAU4a,EAAkB9a,KAAKwJ,EAASkI,YAAYpC,oBAAoBqL,IAMjR,OALmCI,EAAH,GAA7BF,EAAqBtd,OAAoBud,EAAkBzb,KAAK,IAAmBmK,EAASkI,YAAYxD,YAC3G4M,EAAkBzb,KAAKmK,EAASkI,YAAYtD,gBAC5C5E,EAASkI,YAAYvD,YAClBwL,GAAanQ,EAASvL,SAAS0b,eAAaoB,EAASvR,EAASkI,YAAYrD,gBAAgB0M,EAAS9W,UAAUwV,GAAa,IAAIxV,UAAU8W,IAAsBxd,OAAO,IAAGwd,GAAU,KACrLA,GAAU,UAAU9W,UAAUuF,EAASkI,YAAYrP,aAC5C0Y,EACP,SAASP,IAAkBre,OAAO6e,WAAWZ,EAAQd,GACrD,SAAS2B,IAAsB,IAAIC,EAAI,8EAA8Ela,YAAYka,GAAKhC,GAAY,EAASM,GAAcA,EAAa0B,GACtL,SAASZ,EAAYS,EAASI,GAAiB,IAAI,IAAIvC,EAAQF,WAAWuC,GAAqB,GAAG/B,EAAY,CAACN,EAAQwC,mBAAmB,WAAW,GAAuB,GAApBxC,EAAQyC,WAAc,CAAC,GAAGvC,wBAAwBF,GAAaW,GAAwBA,EAAuBX,GACnQuC,GAAiBA,EAAgBvC,OAAe,CAAC,IAAIsC,EAAI,sDAC5DvY,EAAI,yBAAyBiW,EAAQG,OAAO/X,YAAYka,GAAQ1B,GAAcA,EAAa0B,GAC3FtC,EAAQwC,mBAAmBpZ,cAAc4W,EAAQ,OAAQA,EAAQ0C,KAAK,OAAO3Y,GAAI,GAASsW,GAAiBR,2BAA0BG,EAAQK,iBAAgB,GAC7J,IAAI,IAAI,IAAQsC,EAAJxhB,EAAE,EAASwhB,EAAOxB,EAAQhgB,MAAO6e,EAAQ4C,iBAAiBD,EAAOjhB,KAAKihB,EAAOvgB,OACzF4d,EAAQ4C,iBAAiB,eAAe7B,GAAc,MAAM8B,GAAU,IAAIP,EAAI,yJAC9E,OAD0Ola,YAAYka,GAAKhC,GAAY,OAASM,GAAcA,EAAa0B,IAE3StC,EAAQ8C,KAAKX,IAAY,MAAMxY,GAAI,IAAIoZ,EAAO,qDAAqDhZ,EAAI3B,YAAY2a,EAAOpZ,GAAI2W,GAAY,EAASM,GAAcA,EAAamC,EAAO,cAAc3Y,sBAAsBT,KAtBzNvG,KAAK4f,aAAa,WAAW,OAAOhC,GAAY5d,KAAK6f,aAAa,SAASC,GAAgBlC,EAAUpV,uBAAuBsX,EAAe,MAAM9f,KAAKsV,OAAOlC,eAAe,YAAYwK,IAAa5d,KAAKyV,UAAU,SAASsK,GAAgB7B,EAAkB,YAAWle,KAAKsV,OAAOyK,EAA2B,OAAZnC,GAAkB5d,KAAK6f,aAAajC,KAAe5d,KAAKggB,QAAQ,WAAW,OAAO7C,GAAQnd,KAAKigB,SAAS,SAASC,GAAehC,EAAkB,WAAUf,EAAM1V,KAAKyY,KAAelgB,KAAKmgB,iBAAiB,WAAW,OAAO7C,GAAgBtd,KAAKogB,iBAAiB,SAASC,GAAuBnC,EAAkB,mBAAkBZ,EAAc7U,oBAAoB4X,EAAmB/C,KAAkBtd,KAAKsgB,kBAAkB,WAAW,OAAOlD,GAAkBpd,KAAKugB,mBAAmB,SAASC,GAAyBtC,EAAkB,qBAAoBd,EAAgB3V,KAAK+Y,KAAyBxgB,KAAKygB,aAAa,WAAW,OAAOpD,GAAYrd,KAAK0gB,aAAa,SAASC,GAAmBzC,EAAkB,eAAcb,EAAU5U,oBAAoBkY,EAAetD,KAAcrd,KAAK4gB,kBAAkB,WAAW,OAAOlD,GAAkB1d,KAAK6gB,mBAAmB,SAASC,GAAyB5C,EAAkB,qBAAoBR,EAAgBrV,wBAAwByY,EAAqBpD,KAAoB1d,KAAK+gB,0BAA0B,SAASC,GAA6BzD,EAAuB3U,yBAAyBoY,EAA4BzD,IAA0Bvd,KAAKihB,gBAAgB,SAASC,GAAmB1D,EAAa5U,yBAAyBsY,EAAkB1D,IAAgBxd,KAAKmhB,eAAe,WAAW,OAAO1D,GAAczd,KAAKohB,eAAe,SAASC,GAAqBnD,EAAkB,iBAAgBT,EAAYjV,uBAAuB6Y,EAAiB5D,KAAgBzd,KAAKshB,WAAW,WAAW,OAAOvD,GAAU/d,KAAKuhB,UAAU,SAASjjB,EAAKU,GAA8B,gBAApBV,EAAKkjB,cAA+B7D,EAAY3e,EAAY+e,EAAQ/Z,KAAK,CAAC1F,KAAKA,EAAKU,MAAMA,KAE/7DgB,KAAKoe,QAAQA,EAIbpe,KAAKye,iBAAiBA,EAiBtBze,KAAKwV,OAAO,SAASjH,GAAc,GAAG2O,EAAY,CAAKe,GAE8D,WAAiC,GAAjBA,GAAY,EAAQP,EAAgB,CAAC,IAAI+D,EAAgBthB,OAAOuhB,eAAevhB,OAAOuhB,eAAe,WAAcD,GAAiBA,IACzQhD,KACGtB,GAAOqB,IAJ0D5c,GACpEic,EAAoB7Z,KAAKuK,GAAc,IAAIqQ,EAAgB5e,KAAK0V,YAAYhD,gBAAgB2K,EAAU,EAAE,GAAGQ,EAAoBtc,QAAQqd,EAAgB,CAAqD,IAApD,IAAID,EAAwBE,EAAqB,GAAUF,EAAoBd,EAAoB3Z,SAAU2a,EAAqB7a,KAAK2a,GAC/Rb,EAAe9Z,KAAK6a,GAA0B1B,GAASC,KAAkBA,GAAkBY,IAAWI,OAG4U,SAASuD,UAAUrjB,EAAKU,EAAMya,EAAKzX,GAAM,IAAIE,EAAoC,GAA5BF,EAAKA,EAAK,UAAUA,EAAK,GAAMyX,EAAK,CAAC,IAAIxB,EAAK,IAAI9V,KAAO8V,EAAK2J,QAAQ3J,EAAKrS,UAAgB,GAAL6T,EAAQ,GAAG,GAAG,KAAOvX,EAAQ,aAAa+V,EAAK4J,mBAAoB3f,EAAQ,GACxoBH,SAASgB,OAAOJ,OAAOrE,GAAM,IAAIqE,OAAO3D,GAAOkD,EAAQF,EACvD,SAAS8f,UAAUxjB,GAAwE,IAAlE,IAAIyjB,EAAWpf,OAAOrE,GAAM,IAAQ0jB,EAAGjgB,SAASgB,OAAOD,MAAM,KAAa/E,EAAE,EAAEkG,EAAI+d,EAAGzgB,OAAOxD,EAAEkG,EAAIlG,IAAI,CAAa,IAAZ,IAAIK,EAAE4jB,EAAGjkB,GAAuB,MAAdK,EAAEkF,OAAO,IAAUlF,EAAEA,EAAEyS,UAAU,EAAEzS,EAAEmD,QACvL,GAA2B,IAAxBnD,EAAE6jB,QAAQF,GAAiB,OAAOG,SAAS9jB,EAAEyS,UAAUkR,EAAWxgB,OAAOnD,EAAEmD,SAC9E,OAAO,KACP,SAAS4gB,aAAiE,IAApD,IAAIC,EAAQrgB,SAASsgB,qBAAqB,UAAkBtkB,EAAE,EAAEkG,EAAIme,EAAQ7gB,OAAOxD,EAAEkG,IAAMlG,EAAG,IAA8C,GAA3CqkB,EAAQrkB,GAAGukB,IAAIL,QAAQ,kBAAsB,CAAC,IAAIM,EAAUH,EAAQrkB,GAAGukB,IAAIxb,YAAY,KAAK,OAAmB,GAAZyb,EAAe,GAAGH,EAAQrkB,GAAGukB,IAAIvb,OAAO,EAAEwb,EAAU,GAC9Q,OAAO,KACP,SAASC,SAASC,GAAK,IAAI,OAAOhb,KAAKgb,EAAIC,QAAS,MAAMnc,GAAI,OAAO,GAwC0gB,SAASoc,cAAc/a,EAAI3D,GAAK,GAAG2D,EAAIrG,OAAO0C,EAAI,CAA6D,IAA5D,IAAI2e,EAAO,GAAOC,EAAehd,KAAKgB,IAAI,EAAE5C,EAAI2D,EAAIrG,QAAgBxD,EAAE,EAAEA,EAAE8kB,EAAe9kB,IAAK6kB,EAAO7kB,GAAG,IAC1uB6J,GAAKgb,EAAOvf,KAAK,IACjB,OAAOuE,EAgCK,SAASoJ,sBAAsB,IAAIlC,EAAOxO,eAAekQ,UAAUrE,mBAAuBiL,EAAE,IAAI9W,eAAewiB,cAAsC,OAAtBhU,EAAOvB,YAAY6J,GAAUtI,EACnE,GAlFrGkO,aAAard,UAAU,IAAI8N,SAAWuP,aAAard,UAAUsC,SAAS,CAACmb,iBAAgB,EAAMD,OAAM,EAAMG,cAAc,IAAKD,UAAU,EAAEK,iBAAgB,EAAMH,uBAAuB,KAAKC,aAAa,KAAKC,YAAY,OAAOE,YAAY,qCAAqCX,aAAard,UAAU2V,OAAO,IAAIpB,mBAAqB8I,aAAard,UAAU0G,SAAS,WAAW,MAAM,gBAAiB/F,eAAe0c,aAAaA,aAQjZ,WAAY,IAAsskD+F,EAA4B,GAAoCC,EAAyB,EAqCvnkD,SAASF,EAAcG,EAASC,EAAmBC,EAAiBC,EAAMC,GAAQrjB,KAAKX,QAAO,EAAM,KAAK4jB,EAASC,EAAmBC,EAAiBC,EAAMC,EAAOrjB,KAAKiC,SAASqhB,YACoN,SAASC,EAAeC,EAAUP,EAASC,EAAmBC,EAAiBC,EAAMC,GAAQrjB,KAAKX,QAAO,EAAKmkB,EAAUP,EAASC,EAAmBC,EAAiBC,EAAMC,GAAO,IAtCsgjDxG,gBAAgB,cAA4Dld,UAAU,IAAI8N,SAAWoP,gBAAgBld,UAAUN,OAAO,SAASokB,EAAOD,EAAUP,EAASC,EAAmBC,EAAiBC,EAAMC,EAAOK,GAAoB,IAAIlW,EAASxN,KAASie,GAAY,EAAU0F,GAAqB,EAAUC,GAAoB,EAAUC,GAAc,EAAUhG,EAAoB,GAAOX,GAAY,EAAS4G,EAAkBd,IAA2BE,EAAmB7a,wBAAwB6a,EAAmBljB,KAAKiC,SAASihB,oBAAoBD,EAAS5a,wBAAwB4a,EAASjjB,KAAKiC,SAASghB,UAAUE,EAAiB9a,wBAAwB8a,EAAiBnjB,KAAKiC,SAASkhB,kBAAkB,IAAIY,EAAmB/jB,KAAKiC,SAAS8hB,mBAAuBC,EAAsBhkB,KAAKiC,SAAS+hB,sBAAsBZ,EAAMA,GAAYpjB,KAAKiC,SAASmhB,MAAMC,EAAOA,GAAcrjB,KAAKiC,SAASohB,OAAO,IAAyTzhB,EAAKqiB,EAAaC,EAAaC,EAAiB7E,EAArW8E,EAAYpkB,KAAKiC,SAASmiB,YAAgBC,EAAgBrkB,KAAKiC,SAASoiB,gBAAoBC,EAAgCtkB,KAAKiC,SAASqiB,gCAAoCC,EAAevkB,KAAKiC,SAASsiB,eAAmBC,EAAgBxkB,KAAKiC,SAASuiB,gBAAgBxkB,KAAKyV,UAAUzV,KAAKiC,SAASqT,QAAiE,IAAImP,EAAahB,EAAO,iBAAiB,gBAAoBvF,EAAkB,SAASC,GAAkB,OAAGwF,IAAsB3e,YAAYyf,EAAa,2BAA2BtG,EAAiB,6DAAmE,IAC1vnDuG,EAAoB,WAAW,OAAOd,GAAqB1G,IAAc2G,GAAiB7jB,KAAK2kB,qBAAqB,WAAW,OAAOZ,GAAqB/jB,KAAK4kB,sBAAsB,SAASC,GAAyBd,EAAmBtc,KAAKod,GAA4BH,KAAuBP,IAAmBW,eAAef,IAAuB/jB,KAAK+kB,wBAAwB,WAAW,OAAOf,GAAwBhkB,KAAKglB,yBAAyB,SAASC,GAA4BjB,EAAsBvc,KAAKwd,GAA+BP,KAAuBP,IAAmBe,kBAAkBlB,IAA0BhkB,KAAKmlB,SAAS,WAAW,OAAO/B,GAAQpjB,KAAKolB,SAAS,SAASC,GAAenH,EAAkB,WAAUkF,EAAM5a,uBAAuB6c,EAAWjC,KAAUpjB,KAAKslB,UAAU,WAAW,OAAOjC,GAASrjB,KAAKulB,UAAU,SAASC,GAAgBtH,EAAkB,YAAWmF,EAAO7a,uBAAuBgd,EAAYnC,KAAWrjB,KAAKylB,eAAe,WAAW,OAAOrB,GAAcpkB,KAAK0lB,eAAe,SAASC,GAAkBvB,EAAY3b,oBAAoBkd,EAAiBvB,GAAgBM,KAAuBP,IAAmBuB,eAAetB,IAAgBpkB,KAAK4lB,kBAAkB,WAAW,OAAOvB,GAAkBrkB,KAAK6lB,mBAAmB,SAASC,GAAsBzB,EAAgB5c,KAAKqe,GAAyBpB,KAAuBP,IAAmB0B,mBAAmBxB,IAAoBrkB,KAAK+lB,iBAAiB,WAAW,OAAOxB,GAAiBvkB,KAAKgmB,kBAAkB,SAASC,GAAqB1B,EAAe9c,KAAKwe,GAAwBvB,KAAuBP,IAAmB6B,kBAAkBzB,IAAmBvkB,KAAKkmB,kBAAkB,WAAW,OAAO1B,GAAkBxkB,KAAKmmB,mBAAmB,SAASC,GAAsB5B,EAAgB/c,KAAK2e,GAAyB1B,KAAuBP,IAAmBgC,mBAAmB3B,IAAoBxkB,KAAKqmB,mCAAmC,WAAW,OAAO/B,GAAkCtkB,KAAKsmB,mCAAmC,SAASC,GAAsCjC,EAAgC7b,oBAAoB8d,EAAqCjC,IAAmC,IAAIkC,EAAUtD,EAA8d,SAASuD,EAAmBlY,EAAa0N,GAAkBjc,KAAKuO,aAAaA,EAAavO,KAAK0mB,UAAUnY,EAAatD,MAAM3M,KAAK0B,KAAKic,iBAAiBA,EACpsF,SAAS0K,EAAYroB,EAAK0Q,GAAmBhP,KAAK1B,KAAKA,EAAK0B,KAAKgP,kBAAkBA,EAC5F,SAAS4X,KAFkmE5mB,KAAK6mB,qBAAqB,WAAW,OAAO3D,GAAqBljB,KAAK8mB,sBAAsB,SAASC,GAA4B7I,EAAkB,wBAAuBgF,EAAmBzb,KAAKsf,GAAyBP,EAAUtD,IAAsBljB,KAAKgnB,mBAAmB,WAAW,OAAO7D,GAAmBnjB,KAAKinB,oBAAoB,SAASC,GAA0BhJ,EAAkB,sBAAqBiF,EAAiB1b,KAAKyf,KACjoFT,EAAmB9mB,UAAU6V,OAAO,WAAW2O,IAAmBlW,IAAIjO,KAAK0mB,UAAU1mB,KAAKic,mBAC1F0K,EAAYhnB,UAAU6V,OAAO,WAAW2O,IAAmBpV,MAAM/O,KAAK1B,KAAK0B,KAAKgP,oBAChF4X,EAAejnB,UAAU6V,OAAO,WAAW2O,IAAmBlV,YAAa,IAAIkY,EAAe,WAAWjD,IAAmBjG,EAA6B4F,GAAeuD,IAAkBnD,IAAjDriB,IACtIsiB,KAAgBmD,KAA+BrnB,KAAKwV,OAAO,SAASjH,GAAc,GAAG2O,EAAY,CAAC,IAAIjB,EAAiBzO,EAASkI,YAAYpC,oBAAoB/E,GAAcsP,EAAoB7Z,KAAK,IAAIyiB,EAAmBlY,EAAa0N,IAAmBkL,MAAoBnnB,KAAK+O,MAAM,SAASzQ,EAAK0Q,GAAsBkO,IAAaW,EAAoB7Z,KAAK,IAAI2iB,EAAYroB,EAAK0Q,IAAoBmY,MAAoBnnB,KAAKiP,SAAS,WAAciO,IAAaW,EAAoB7Z,KAAK,IAAI4iB,GAAkBO,MAAoB,IAAIE,EAA0B,WAAW,KAAMxJ,EAAoBtc,OAAO,GAAGsc,EAAoB3Z,QAAQsR,SACznBkO,GAAoBS,IAAmBmD,SAAWtnB,KAAK0N,iBAAiB,SAASoB,GAAQ9O,KAAKmQ,QAAQnM,KAAK8K,GAAW3E,UAAU8Y,GAAUrhB,KAAU5B,KAAKunB,MAAM,WAAc7C,KAAuBP,IAAmBqD,WAC1N3J,EAAoBtc,OAAO,GAAIvB,KAAKsnB,MAAM,WAAc5C,KAAuBP,IAAmBmD,SAAWtnB,KAAKynB,iBAAiB,WAAc/C,KAAuBP,IAAmBsD,oBAAsBznB,KAAK0nB,YAAY,WAAchD,KAAuBP,IAAmBuD,eAAiB,IAAIC,EAAcxnB,OAAOH,KAAK4nB,iBAAiB,WAAW,OAAOD,GAAgB3nB,KAAK6nB,iBAAiB,SAASC,GAAoBH,EAAcG,GAAqB9nB,KAAK+nB,mBAAmB,WAAcrD,KAAuBP,IAAmB6D,mBAAqB,IAAIC,EAAc,IAAIhT,cAAc,MAAMjV,KAAKkoB,iBAAiB,WAAW,OAAOD,GAAgBjoB,KAAKmoB,iBAAiB,SAASC,GAAoBH,EAAcG,GAAqBpoB,KAAKqoB,qBAAqB,SAASxd,GAAM,IAAIyd,EAAmB,CAACC,cAAa,EAAK1f,SAAQ,GAAW2f,EAAc,GAAG,IAAI,IAAInnB,EAAOtD,GAAM4pB,EAAcre,MAAMqe,EAAcc,YAAYd,EAAcc,WAAW,QACl8B,IAAIC,EAAyB,GAAG,IAAI3qB,EAAE,EAAEkG,IAAI0kB,EAAqBpnB,OAAOxD,EAAEkG,IAAIlG,IAAK2qB,EAAyBC,EAAqB5qB,GAAG,IAAI4qB,EAAqB5qB,GAAG,GAChK,IAAI6qB,EAAiB,GAAOC,EAAmB,SAASvqB,GAAMsqB,EAAiB5kB,KAAK,CAAC1F,EAAKqpB,EAAcrpB,MAAUuqB,EAAmB,YAAYlB,EAAcna,SAASA,EAASqb,EAAmB,sBAAsBlB,EAAcW,mBAAmBA,EAAmBO,EAAmB,4BAA4BlB,EAAce,yBAAyBA,EAAyB,IAAII,EAAoB,SAASxqB,GAAMuqB,EAAmBvqB,GAAMqpB,EAAcrpB,GAAM,WAAW,OAAO0B,KAAK0oB,yBAAyBpqB,GAAMkP,EAASlM,UAAUgnB,KAAwB,IAAIvqB,EAAE,EAAEkG,IAAI0kB,EAAqBpnB,OAAOxD,EAAEkG,IAAIlG,IAAK+qB,EAAoBH,EAAqB5qB,GAAG,IAE1iB,IADpG4pB,IAAgBxnB,QAAQwnB,EAAcc,YAAYI,EAAmB,YAAYA,EAAmB,UAAU1oB,OAAO4oB,SAASle,EAAK8c,EAAcc,WAAW,wCAAwCpnB,EAAOlB,OAAOkB,QAAaA,EAAOsmB,EAAcre,KAAKuB,GAC5P2d,EAAc5kB,YAAYvC,GAAQA,EAAO8S,sBAAsB9S,EAAOijB,GAAqCvmB,EAAE,EAAEkG,IAAI2kB,EAAiBrnB,OAAOxD,EAAEkG,IAAIlG,IAAK4pB,EAAciB,EAAiB7qB,GAAG,IAAI6qB,EAAiB7qB,GAAG,GAAK,MAAMwI,GAAIiiB,EAAc,6BAA6BxhB,sBAAsBT,GAAI+hB,EAAmBzf,SAAQ,EAC/T,GAAGyf,EAAmBC,aAAa,CAAC,IAAI/hB,EAAQ,OAAOqE,EAASjH,YAAY4kB,KAAgBhiB,GAASP,QAAQuiB,GAC7G,IAAIvd,EAAMqd,EAAmBzf,QAAQmC,MAAMa,MAAMb,MAAMG,KAASoD,EAAa,IAAIC,aAAa,KAAK,IAAIrM,KAAO8I,EAAM,CAACzE,GAAS,MAAUwiB,EAAWhpB,KAAK0V,YAAY1V,KAAKyV,UAAUwS,GAAejoB,KAAKwV,OAAOjH,GAAcvO,KAAKyV,UAAUuT,KAAe,IAAIL,EAAqB5F,EAA4Bpe,OAAO,IAAI3E,KAAKipB,uBAAuB,SAASC,EAAaC,GAAqBR,EAAqB3kB,KAAK,CAACklB,EAAaC,KAAoFnpB,KAAKopB,oBAAoB,SAASC,GAAgB1H,UAAjF,+BAAoH0H,EAAehmB,KAAK,OAAQ,IAAIimB,EAAU,SAASC,GAAK,IAAIzU,EAbrkB,CAAC,gHAAgH,sEAAsE,SAAS,gCAAgC,wEAAwE,4FAAsF,uDAAuD,+EAA8E,qFAA8E,8FAAuF,kCAAkC,cAAc,uVAAuV,uBAAuB,2NAA2N,oLAAoL,yGAAyG,0EAA0E,4jBAA4jB,qfAAqf,2OAA2O,0iBAA0iB,61CAA61C,oWAAoW,ogBAAogB,8hBAA8hB,iaAAia,qgBAAqgB,uhCAAuhC,mFAAmF,yNAAyN,uOAAuO,2qCAA2qC,yyBAAyyB,kkBAAkkB,gMAAgM,+pBAA+pB,uNAAuN,0HAA0H,yiBAAyiB,keAAke,0dAA0d,snBAAsnB,8EAA8E,s4CAAs4C,8GAA8G,2HAA2H,uKAAuK,kGAAkG,6DAA6D,iFAAiF,gHAAgH,4GAA4G,4DAA4D,uvBAAuvB,qLAAqL,2HAA2H,2CAA2C,0GAA0G,+IAA+I,iDAAiD,yHAAyH,+MAA+M,kIAAkI,wFAAwF,wOAAwO,iEAAiE,8DAA8D,gHAAgH,iBAAiB,sWAAsW,wCAAwC,2TAA2T,qGAAqG,+WAA+W,4HAA4H,2JAA2J,0CAA0C,kCAAkC,ySAAyS,uWAAuW,sGAAsG,iBAAiB,8VAA8V,qGAAqG,6FAA6F,uLAAuL,uGAAuG,sEAAsE,iPAAiP,0HAA0H,oHAAoH,iBAAiB,8HAA8H,gEAAgE,oEAAoE,gMAAgM,8BAA8B,qPAAqP,kJAAkJ,oCAAoC,iIAAiI,+IAA+I,0BAA0B,4FAA4F,yCAAyC,sMAAsM,mNAAmN,iWAAiW,kKAAkK,gFAAgF,yIAAyI,wGAAwG,+yCAAmzC,wHAAwH,4CAA4C,6CAA6C,oQAAoQ,0hBAA0hB,6NAA6N,4CAA4C,4CAA4C,mMAAmM,gRAAgR,6XAA6X,kRAAkR,8HAA8H,0MAA0M,6PAA6P,aAAa,oYAAoY,yUAAyU,iPAAiP,wDAAwD,sjDAAsjD,moBAAmoB,uLAAuL,sIAAsI,yIAAyI,0YAA0Y,iIAAiI,uNAAuN,0LAA0L,gqBAAgqB,+HAA+H,mNAAmN,4BAA4B,+KAA+K,0BAA0B,4LAA4L,8DAA8D,2UAA2U,uWAAuW,uHAAuH,wIAAwI,sIAAsI,iBAAiB,mQAAmQ,uCAAuC,2GAA2G,2NAA2N,mBAAmB,sDAAsD,mGAAmG,yBAAyB,iBAAiB,gHAAgH,uCAAuC,gBAAgB,0GAA0G,2PAA2P,aAAa,iQAAiQ,aAAa,mEAAmE,wHAAwH,kBAAkB,2KAA2K,qDAAqD,oIAAoI,gDAAgD,qNAAqN,yBAAyB,kJAAkJ,mKAAmK,kDAAkD,wUAAwU,8MAA8M,0BAA0B,sHAAsH,sEAAsE,+MAA+M,6CAA6C,iBAAiB,wGAAwG,iBAAiB,iHAAiH,gBAAgB,yPAAyP,kBAAkB,sJAAsJ,gDAAgD,wEAAwE,uOAAuO,4EAA4E,mGAAmG,+EAA+E,2RAA2R,2IAA2I,iIAAiI,QAAQ,aAAY,0BAA0B,qyGAAqyG,WAAW,UAAU,mBAAmB,+BAA+B,sBAAsB,oCAAoC,WAAW,oMAAoM,oMAAoM,+LAA+L,+LAA+L,oMAAoM,oMAAoM,2LAA2L,SAAS,oCAAoC,8KAA8K,6IAA6I,sKAAsK,0KAA0K,6KAA6K,uBAAuB,2JAA2J,2KAA2K,mLAAmL,kMAAkM,SAAS,SAAS,qCAAqC,WAAW,+LAA+L,6IAA6I,mNAAmN,mQAAmQ,6HAA6H,uHAAuH,gIAAgI,SAAS,SAAS,SAAS,iEAAiE,yCAAyC,kCAAkC,kHAAkH,uIAAuI,SAAS,SAAS,UAAU,UAAU,IAaljjDyU,EAAIjK,OAAO,IAAI,IAAIvhB,EAAE,EAAEkG,EAAI6Q,EAAMvT,OAAOxD,EAAEkG,EAAIlG,IAAKwrB,EAAIC,QAAQ1U,EAAM/W,IAC/uBwrB,EAAIE,SAAUzpB,KAAK8E,cAAc,CAAC,OAAO,WAAW,IAAI4kB,EAAyB,WAAW,IAAIjH,EAAI0B,IAAmB1B,EAAIkH,YAAYnc,GAAUiV,EAAIqC,eAAef,GAAoBtB,EAAIyC,kBAAkBlB,GAAuBvB,EAAIiD,eAAetB,GAAa3B,EAAIoD,mBAAmBxB,GAAiB5B,EAAIuD,kBAAkBzB,GAAgB9B,EAAI0D,mBAAmB3B,GAAiB/B,EAAImH,cAAczpB,QAAQ,IAAI0pB,EAAY/H,UADyD,gCAClB+H,IAAapH,EAAI4G,eAAeQ,EAAY/mB,MAAM,KAAK2f,EAAIqH,oBAAoBrH,EAAI4G,eAAe9nB,QAC9iBiM,EAASjI,cAAc,OAAO,CAAC,IAAMkd,KAAQziB,KAAK+pB,OAAO,WAAW1iB,OAAOwC,MAAM,UAAU7J,KAAK,aAAaA,KAAK+pB,OAAOC,QAAYnG,IAAexc,OAAOwC,MAAM,uBAAuB7J,MAAM6jB,GAAc,EAAKD,GAAoB,EAAMD,GAAqB,EAAMnW,EAASjI,cAAc,SAAS,MAAO,IAAI0kB,EAAkB,SAASC,EAAWC,EAAShL,EAAgBiL,GAEhX,IAAIC,EAAKC,aAFqX,WAAkB,IAAOzG,GAAe0G,cAAcF,GACjbH,EAAW/F,OAAqBoG,cAAcF,GAAMlL,KAAoB,MAAM5Y,GAAIgkB,cAAcF,GAAMnN,GAAY,EAAMlY,YAAYolB,EAAa7jB,MACxH4jB,IAAgBK,EAAc,WAAW,IAAIC,EAAmB1oB,SAAS2oB,QAAQ3X,SAAS4X,SAAU,OAAOxH,EAAiB,GAAGhB,aAAa,gBACvKsI,EAAkB,0BAA0B9nB,OAAOZ,SAAS2oB,QAAQ,KAAM,GAAGjH,EAAO,CAAC,IAAImH,EAAiB,KAASC,EAAc,GAAG7qB,KAAK8qB,eAAe,SAASxsB,EAAKU,GAAUkf,EAAkB,kBAAkB2M,EAAc7mB,KAAK,CAAC1F,EAAKU,KAAW,IAAoC+rB,EAAhCC,GAAsB,EAAiCC,EAAStlB,SAAS,mBAAmBme,EAAkB9jB,KAAKkrB,KAAK,WAAcjN,GAAa0F,IAAyBe,KAAuBP,IAAmBgH,EAAE,WAAWC,OACheL,EAAmBM,MAAMC,QAAQ,OAAO9E,GAAU,IAAQxmB,KAAK+K,KAAK,WAAckT,IAAgB0F,GAAsBoH,EAAmBM,MAAMC,QAAQ,QAAQtrB,KAAK6lB,mBAAmBxB,GAAiBmC,GAAU,GAAgBwE,GAAuB/G,GAAa,KAAUjkB,KAAKurB,UAAU,WAAW,OAAO/E,IAAY3C,GAAgB7jB,KAAKypB,MAAM,SAAS+B,GAAgB3H,GAAiB2H,IAAYC,QAAQ,uHAAuHV,EAAmBW,WAAWC,YAAYZ,GAAoB/qB,KAAK+pB,WAAYzK,EAAK,WAAW,IAAIsM,EAAiB,uDAAuD,SAASC,IAAY,IAAQ3I,GAAoB1V,EAASzC,OACpvB2e,IAA2B9F,GAAoB,EAAKyD,IAA6B,MAAM9gB,GAAI2W,GAAY,EAAMlY,YAAY4mB,EAAiBrlB,IAC1I,SAASulB,IAAkB,IAAI,IAAI5B,EAAW,SAASzH,GAAK,OAAOD,SAASC,IAAUU,GAAkBmG,EAAUnF,IAAmBpiB,UAClImoB,EAAW/F,KAAqB0H,IAAkB5B,EAAkBC,EAAW,IAAI2B,EAAUD,GAAoB,MAAMrlB,GAAI2W,GAAY,EAAMlY,YAAY4mB,EAAiBrlB,IAC7KigB,GAAU,GAAMuE,EAAmBH,EAAiBmB,YAAYhqB,SAASiqB,cAAc,SAA2BX,MAAMjI,MAAMA,EAAM2H,EAAmBM,MAAMhI,OAAOA,EAAO0H,EAAmBM,MAAMY,OAAO,iBAAiB,IAAI,IAAIluB,EAAE,EAAEkG,EAAI4mB,EAActpB,OAAOxD,EAAEkG,EAAIlG,IAAKgtB,EAAmBM,MAAMR,EAAc9sB,GAAG,IAAI8sB,EAAc9sB,GAAG,GAC3U,IAAImuB,EAAU/I,EAAiB,GAAG,SAASqH,IAAgB,IAAIO,EAAmBoB,UAAU,eAAelB,EAAS,WAAWA,EAAS,+CAA+CiB,EAAU,4BAA4BrI,GAAc,EAAM,IAAIuI,EAAyB,SAAS3J,GAAK,IAAI,OAAOhb,KAAKgb,IAAMhb,KAAKgb,EAAI1gB,UAAW,MAAMwE,GAAI,OAAO,IAAY6lB,EAAyBjI,KAAqB2H,IAAwB7B,EAAkBmC,EAAyB,IAAIN,EAAgBF,GACxejI,GAAqB,GAAOM,EAAa,SAASlZ,GAAM,GAAGA,IAAOmY,EAAmB,CAAC,IAAImJ,EAAgB,WAAW,GAAI7I,EAA2V,IAAI,IAAI8I,EAAGvqB,SAASwqB,eAAe/I,GAA2B,GAAb8I,EAAGE,WAAa5B,EAAiB0B,GACtiBhN,IAAQ,MAAM/Y,GAAIvB,YAAY,mDAAmDwe,EAAU,aAAajd,QAD4BqkB,EAAiB7oB,SAASiqB,cAAc,QAAwBX,MAAMoB,SAAS,QAAQ7B,EAAiBS,MAAMqB,KAAK,IAAI9B,EAAiBS,MAAMsB,MAAM,IAAI/B,EAAiBS,MAAMuB,OAAO,IAAI7qB,SAAS8qB,KAAKd,YAAYnB,GAAkBpd,EAASsd,eAAe,cAAc,aAAatd,EAASsd,eAAe,SAAS,KAASxL,KACpVpZ,YAAYsd,GAAWA,EAAUuI,aAAanB,EAAiBpH,EAAUlE,KAAgBpZ,WAAYmmB,IAAwB/rB,eAAe2E,iBAAiB,OAAOonB,GACvRrB,GAAsB,IAAQppB,EAAK,WAAWqiB,IAAehG,GAAY,GAAOkG,EAAiB,WAAW,IAAI2I,EAAO3sB,OAAO4sB,OAAO9B,GAAU,GAAG6B,EAAQ,OAAOA,GAAU5I,EAAa,WAAW,SAAGhH,GAAc2G,KAAkBF,IAAuBC,GAAqBO,KAAoB3B,SAAS2B,OAAqBP,GAAoB,GACjVA,QACa,CAAC,IAA2uCoJ,EAAvuCC,EAAYzf,EAASvL,SAASgrB,YAAgBC,EAA2B1f,EAASvL,SAASirB,2BAA+B9F,GAAiBpnB,KAAKiC,SAASmlB,iBAAiBpnB,KAAKmtB,cAAc,WAAW,OAAOF,GAAcjtB,KAAKotB,eAAe,SAASC,GAAqBnP,EAAkB,iBAAgB+O,EAAYxlB,KAAK4lB,KAAqBrtB,KAAKstB,6BAA6B,WAAW,OAAOJ,GAA6BltB,KAAKutB,8BAA8B,SAASC,GAAoCtP,EAAkB,gCAA+BgP,EAA2BzlB,KAAK+lB,KAAoCxtB,KAAKytB,aAAa,WAAW,OAAO/J,GAAqB1jB,KAAK0tB,cAAc,SAASC,GAAiBjK,EAAmBjc,KAAKkmB,IAAmB3tB,KAAK4tB,mBAAmB,WAAW,OAAOxG,IAAmBpnB,KAAK6tB,oBAAoB,SAASC,GAAuB1G,GAAiB3f,KAAKqmB,IAAyB9tB,KAAKypB,MAAM,WAAWpiB,OAAOwC,MAAM,SAAS7J,MAAM,IAAIgtB,EAAMvD,QAAQzpB,KAAK+pB,SAAU,MAAMxjB,MAAOvG,KAAKkrB,KAAK,WAAW7jB,OAAOwC,MAAM,QAAQ7J,MAAS0kB,KAAuB1kB,KAAKypB,SAAWzpB,KAAK+K,KAAK,WAAW1D,OAAOwC,MAAM,QAAQ7J,MAAU2jB,GAAsBrE,KAAUtf,KAAKurB,UAAU,WAAW,OAAOrH,KAA2B5E,EAAK,WAAW,IAAIyO,EAAiB,SAAS3K,EAAM,WAAWC,EAAO,oBAAwB2K,EAAU,GAAG,IAAI,IAAIC,EAAQ9tB,OAAO+tB,aAAgBD,IAASD,EAAU,IAAIC,EAAQE,QAAQ,KAAKF,EAAQ3vB,MAAM2vB,EAAQG,IAAI,KAAM,MAAMluB,GAAG8tB,EAAU,2BACv/C,IAAIK,EAAW,SAAStb,SAASub,KAAK5sB,QAAQ,cAAc,KAAK,IAAIoiB,EAAkBkK,EAAcf,GAAc9J,IAAkBkL,EAAWA,EAAW,IAAI1oB,UAC/J,IAAI4oB,EAAiB,SAAS9L,GAAK,GAAGoB,EAAe,OAAO,EAAW,IAAI,OAAOpc,KAAKgb,IAAMA,EAAI+L,OAAQ,MAAMjoB,IAC/G,OAAO,GAAYkoB,EAAoB,WAAe5K,GAAerW,EAASuc,UAAY,SAAS8B,IAAY1H,IAAmBuK,wBAAwBzB,IAAc9J,GAAkBuG,IAA2B9F,GAAoB,EAAKyD,IAA4B4C,EAAkBsE,EAAiB,IAAIE,EAAoB,gEACrU,IAAIzB,EAAM7sB,OAAOmf,KAAKkL,IAAgB6D,EAAWN,GAAkBlK,GAAc,EAAMF,GAAqB,EAAQqJ,GAAOA,EAAMjrB,SAAaohB,GAAkB8J,GAAazK,SAASwK,IAAQA,EAAM2B,mBAAmB9C,MAAqB1I,GAAkBmG,EAAU0D,EAAMjrB,UACvMygB,SAASwK,GAAQnB,IAAkB5B,GAAtF,SAASxH,GAAK,OAAOhb,KAAKgb,IAAMD,SAASC,KAA+E,IAAIoJ,EAAU,yDAA+D3O,GAAY,EAAM7V,OAAOC,KAAK,4EAA+E4lB,GAA4BloB,YAAY,oGAAsG,MAAMuB,GAAIvB,YAAY,4CAA4CuB,KAAO0d,EAAa,WAAef,GAAoB5D,KAAU1d,EAAK,WAAWqiB,IAAehG,GAAY,GAAOkG,EAAiB,WAAW,OAAO6I,GAAQ9I,EAAa,WAAW,GAAGhH,IAActZ,YAAYopB,KAASnJ,EAAc,CAAC,GAAGmJ,EAAMwB,QAAS5K,GAAqBhgB,YAAYopB,EAAMwB,QAAyE,OAA/DhhB,EAASuc,SAAS1iB,OAAOwC,MAAM,iCAAuC,GACt4B+Z,GAAqBpB,SAASwK,KAAQpJ,GAAoB,GAC9D,OAAO1G,GAAa0G,IAAsBC,GAC1C7jB,KAAKmkB,iBAAiBA,GAAmBtH,gBAAgB+R,6BAA6B,SAAS1F,EAAaC,GAAqBpG,EAA4B/e,KAAK,CAACklB,EAAaC,KAChLrG,EAAcnjB,UAAU,IAAIkd,gBAAkBiG,EAAcnjB,UAAUsC,SAAS,CAACqT,OAAO,IAAIL,cAAc,+BAA+BiO,oBAAmB,EAAMI,YAAW,EAAML,UAAS,EAAKgK,aAAY,EAAKC,4BAA2B,EAAKnJ,oBAAmB,EAAMC,uBAAsB,EAAKZ,MAAM,MAAMC,OAAO,MAAM+D,kBAAiB,EAAMhD,YAAY,KAAKC,iBAAgB,EAAKC,gCAAgC,EAAEC,gBAAe,EAAMC,iBAAgB,EAAKrB,kBAAiB,GAAML,EAAcnjB,UAAU0G,SAAS,WAAW,MAAM,iBAAkB/F,eAAewiB,cAAcA,EAC/jBS,EAAe5jB,UAAU,IAAIkd,gBAAkB0G,EAAe5jB,UAAUsC,SAAS,CAACqT,OAAO,IAAIL,cAAc,+BAA+BiO,oBAAmB,EAAMD,UAAS,EAAKc,oBAAmB,EAAMC,uBAAsB,EAAKZ,MAAM,OAAOC,OAAO,QAAQe,YAAY,KAAKC,iBAAgB,EAAKC,gCAAgC,EAAEC,gBAAe,EAAMC,iBAAgB,EAAMqK,2BAA0B,EAAK1L,kBAAiB,GAAMI,EAAe5jB,UAAU0G,SAAS,WAAW,MAAM,kBAAmB/F,eAAeijB,eAAeA,EAAejjB,eAAewuB,eAAevL,EAvCviB,GA0CpB,WAAY,SAASwL,EAAIlrB,GAAK,IAAImrB,EAAO,EAAE,IAAI,IAAInvB,KAAKgE,EAAKmrB,EAAOnpB,KAAKgB,IAAIT,MAAMvG,GAAG0B,OAAOytB,GAC7F,IAAIC,EAAS,GAAG,IAAIpvB,KAAKgE,EAAI,CAAC,IAA0DqrB,EAAtDC,EAAY,KAAKxM,cAAcvc,MAAMvG,GAAGmvB,EAAO,GAAe,IAAIE,EAAQrnB,eAAezB,MAAMvC,EAAIhE,KAAKwD,KAAKsf,cAAc1c,QAAQ+oB,EAAO,IAAK,MAAMzoB,GAAI2oB,EAAQ,uCAAuC5oB,oBAAoBC,GAAI,IAClQ0oB,EAASjrB,KAAKmrB,EAAYD,GAC1B,OAAOD,EAAS5rB,KAAK4C,SACrB,IAAImpB,EAAwB,EAAxBA,EAAqD,EAArDA,EAA0E,EAA1EA,EAA6K,EAA7KA,EAA4N,GAAyBC,EAAqB,CAAC,SAAS,OAAWC,EAAc,CAAC,KAAK,MAAM,KAAK,QAAQ,OAAO,OAAO,QAAQ,MAAM,OAAO,QAAiC,SAASC,EAASC,EAASC,EAAgBpb,EAAYqb,EAAaC,GAC1Z,IAAIC,EAOlC7xB,EAAEkG,EAP4D4rB,EAKlEvD,EAHtB,SAASwD,EAAuBxD,GAAiE,IAA7D,IAAIyD,EAAWzD,EAAGjB,MAAM2E,QAAQltB,MAAM,KAASmtB,EAAW,GAAWlb,EAAE,EAAE9Q,EAAI8rB,EAAWxuB,OAAOwT,EAAE9Q,EAAI8Q,IAAI,CAAC,IAAImb,EAAcH,EAAWhb,GAAGjS,MAAM,KAASqtB,EAAM,GAAO,QAAQ5tB,KAAK2tB,EAAc,KAAKC,EAAMnsB,KAAK2D,KAAKuoB,EAAc,IAAI1O,cAAc,IAAI7Z,KAAKuoB,EAAc,KACjTD,EAAWE,EAAM9sB,KAAK,KACtB,OAAO4sB,EAGyB,GARoiB,iBAAb5b,IAAuBA,EAAY,IAC1lBqb,IAAeA,EAAaC,IAAeA,IADqbF,OAAyC,IAAjBA,KAAqCA,IAQzeD,EAAShD,UAAU4C,EAUnC,CAAU,IAATQ,EAAM,GAAO7xB,EAAE,EAAEkG,EAAIurB,EAASY,WAAW7uB,OAAOxD,EAAEkG,EAAIlG,IAAK6xB,GAAOL,EAASC,EAASY,WAAWryB,IAAG,EAAKsW,EAlB6P,MAmBzY,OAAOub,EAXkG,OAAOJ,EAAShD,UAAU,KAAK4C,EAAuB,IAAIjB,EAAQqB,EAASrB,QAAQ3M,cAAcoO,EAAMF,EAAazpB,QAAQoO,EAAY,GAAGub,GAA7O,IAAuP,IAAI1Z,GAF5OoW,EAEgQkD,GAFtPtZ,OAAeoW,EAAGpW,OAAgBoW,EAAG+D,WAAqB,IAAIC,OAAO,YAAYhE,EAAG6B,QAAQ,SAAS,KAAc5rB,KAAK+pB,EAAG+D,WAAmBC,OAAOC,GAAG/O,cAClL,GAC8RgP,IAAYta,EACjS,IAD2Ssa,IAAWZ,GAAO1Z,EAAO,KACnV0Z,GAAOzB,EAAYpwB,EAAE,EAAEkG,EAAIurB,EAAShuB,WAAWD,OAAOxD,EAAEkG,EAAIlG,IAAI,CAAC,IAAI0yB,EAAYjB,EAAShuB,WAAWzD,GAAO0yB,EAAYC,WAAmC,OAAxBD,EAAYE,WAAuD,UAArCF,EAAYG,SAASpP,eAAwD,iBAAxBiP,EAAYE,WAA6D,IAAvCF,EAAYG,SAAS3O,QAAQ,UACrR2N,GAAO,IAAIa,EAAYG,SAASpP,cAAc,KAAMoO,GAAyBa,EAAYE,UARlCtqB,WAAW3E,QAAQ,KAAK,SAASA,QAAQ,KAAK,QAAQA,QAAQ,KAAK,UAQtBkuB,GAAO,KAE3G,GADGJ,EAASnE,MAAM2E,SAAyE,KAAjDF,EAAuBN,KAA8BI,GAAO,WAAYE,EAAuBN,GAAU,KAChJpqB,eAAekqB,EAAcnB,IAAWqC,IAAYhB,EAASqB,gBAAkBjB,GAAO,SAAY,CAACA,GAJpF,IAI8F,IAAIkB,IAAiD,IAA7BtB,EAASY,WAAW7uB,QAAYiuB,EAASY,WAAW,GAAG5D,WAAW4C,GAAyB2B,EAAkB3rB,eAAeiqB,EAAqBlB,GAAS,IAAIpwB,EAAE,EAAEkG,EAAIurB,EAASY,WAAW7uB,OAAOxD,EAAEkG,EAAIlG,IAAK6xB,GAAOL,EAASC,EAASY,WAAWryB,IAAG,EAAKsW,EAZS,KAYmByc,EAAkBC,GAC9a,IAAIC,EAAOC,KAAO9C,EALA,IAKWyB,GAAOkB,EAAkB7qB,QAAQoO,EAAY2c,EAAOA,EACjF,OAAOpB,EAAM,KAAKR,EAAoB,IAbkDS,EAalCL,GAbqDhD,UAAU4C,GAAsB,eAAe7sB,KAAKstB,EAAKc,WAanGf,EAAM,OAAQ,CAAC,GAAGD,EAAcC,EAAMJ,EAASmB,cAAe,CAAC,IAAI7b,EAAMjN,eAAeF,KAAK6nB,EAASmB,YAAgBO,EAAa,GAAG,IAAInzB,EAAE,EAAEkG,EAAI6Q,EAAMvT,OAAOxD,EAAEkG,EAAIlG,IAAKmzB,EAAanzB,GAAG4J,KAAKmN,EAAM/W,IACtQ6xB,EAAMsB,EAAa7tB,KAAK4C,QAAQoO,GAC7Bqb,IAAcE,EAAM3pB,QAAQoO,EAAYub,GAC3C,OAAOA,EAAM,KAAKR,EAA6B,MAAM,YAAeI,EAASmB,UAAxB,MAA2C1qB,QAAQ,KAAKmpB,EAAiC,IAATQ,EAAM,GAAO7xB,EAAE,EAAEkG,EAAIurB,EAASY,WAAW7uB,OAAOxD,EAAEkG,EAAIlG,IAAK6xB,GAAOL,EAASC,EAASY,WAAWryB,IAAG,EAAKsW,GAC5O,OAAOub,EAAM,QAAQ,MAAM,IAEW/S,gBAAgB+R,6BAA6B,KAAI,SAASphB,EAASvE,EAAKI,GAAa,OAAOtH,SAASwqB,eAAetjB,EAAK,OAAO4T,gBAAgB+R,6BAA6B,OAAM,SAASphB,EAASvE,EAAKI,GAA0B,IAAb,IAAIyL,EAAM,GAAW/W,EAAE,EAAEkG,EAAIgF,EAAK1H,OAAOxD,EAAEkG,EAAIlG,IAAK+W,EAAM/W,GAAGgxB,EAAI9lB,EAAKlL,IACnU,OAAO+W,EAAMzR,KAAK4C,QAAQA,YAAY4W,gBAAgB+R,6BAA6B,UAAS,SAASphB,EAASvE,EAAKI,GAA0B,IAAb,IAAIyL,EAAM,GAAW/W,EAAE,EAAEkG,EAAIgF,EAAK1H,OAAOxD,EAAEkG,EAAIlG,IAAK+W,EAAM/W,GAAGwxB,EAAStmB,EAAKlL,IAC3M,OAAO+W,EAAMzR,KAAK4C,QAAQA,YAAY4W,gBAAgB+R,6BAA6B,MAAK,SAASphB,EAASvE,EAAKI,GAAa,IAAIoZ,EAAIjc,EACrG,OAD8H,IAAdyC,EAAK1H,QAAsB,KAAV0H,EAAK,IAASwZ,EAAItiB,OAAOqG,EAAQ,0CAAkDyC,EAAK,GAAG9I,QAAQ8I,EAAK,IAAIwZ,EAAIxZ,EAAK,GAAGzC,EAAQ,qCAAqCyC,EAAK,GAAG3K,KAAK,MAAUmkB,EAAItiB,OAAO4sB,OAAO9jB,EAAK,KAAYzC,EAAQ,qCAAqCyC,EAAK,GAAG,KAAUI,EAAYR,SAAQ,EAAKrC,EAAQ,UAAUyC,EAAK,GAAG,mBAAmBwZ,EAAIjV,EAASoa,oBACjhBpa,EAASqa,iBAAiBpF,GAAYjc,KAAWqW,gBAAgB+R,6BAA6B,SAAQ,SAASphB,EAASvE,EAAKI,GAAaA,EAAYkf,cAAa,EAAM/a,EAAS+Z,WAAW1K,gBAAgB+R,6BAA6B,QAAO,SAASphB,EAASvE,EAAKI,GAAa,IAAI8nB,EAAK,GAAG,IAAI,IAAI7Z,KAAKrO,EAAK,GAAIkoB,EAAKntB,KAAKsT,GACjU,OAAO6Z,KAAQtU,gBAAgB+R,6BAA6B,UAAS,SAASphB,EAASvE,EAAKI,GAAa,IAAI+nB,EAAO,GAAG,IAAI,IAAI9Z,KAAKrO,EAAK,GAAI,IAAImoB,EAAOptB,KAAKiF,EAAK,GAAGqO,IAAK,MAAM/Q,GAAIc,OAAOC,KAAK,4CAA4CgQ,EAAE,cAAchR,oBAAoBC,IAChR,OAAO6qB,KAAUvU,gBAAgB+R,6BAA6B,kBAAiB,SAASphB,EAASvE,EAAKI,GAAa,IAAIgoB,EAAe3oB,SAASO,EAAK,GAAG,IAAI,OAAGN,MAAM0oB,IAAiBA,EAAe,GAAGhoB,EAAYR,SAAQ,EAAcI,EAAK,GAAG,oCAAwCuE,EAAS8Y,mCAAmC+K,GAAsB,iCAAiCA,MA7B5X,GAgCA/wB,eAAegxB,iBAAiB,WAAWprB,YAAW,EAAK5F,eAAeiF,cAAc,OAAO,KAASpF,OAAO8E,iBAAkB9E,OAAO8E,iBAAiB,OAAO3E,eAAegxB,kBAAiB,QAAa,GAAGnxB,OAAOoxB,YAAapxB,OAAOoxB,YAAY,SAASjxB,eAAegxB,sBAAuB,CAAC,IAAIE,UAAUrxB,OAAOsxB,OAAgC,mBAAftxB,OAAOsxB,OAAoBtxB,OAAOsxB,OAAOnxB,eAAegxB,iBAAuBnxB,OAAOsxB,OAAO,SAASC,GAAQF,WAAWA,UAAUE,GAChdpxB,eAAegxB,oBACf,OAAOhxB,qBAxPyE,sDAAd,wCAAc,iK;;;;;;;CCXhF,WAAY,aAAa,SAASzB,EAAEA,EAAEW,EAAEP,GAAG,IAAIiB,EAAErB,EAAEiE,MAAMtD,GAAe,OAAOP,EAAjBiB,EAAEgE,QAAmBhE,EAAEmD,KAAK7D,IAAI,SAASA,EAAEA,GAAG,IAAIP,EAAE,CAAC0yB,KAAK,GAAGrD,KAAK,GAAG3D,SAAS,GAAGiH,OAAO,GAAGC,SAAS,GAAGC,SAAS,GAAGC,OAAO,GAAGC,SAAS,GAAGC,SAAS,GAAGC,KAAK,IAAI,OAAOrzB,EAAEW,EAAE,KAAI,SAASA,EAAEU,GAAGA,IAAIjB,EAAE0yB,KAAKzxB,EAAE,IAAIA,EAAE,IAAIrB,EAAEW,EAAE,KAAI,SAASA,EAAEU,GAAGA,IAAIjB,EAAE8yB,OAAO,IAAI7xB,GAAGV,GAAGX,EAAEW,EAAE,MAAK,SAASA,EAAEU,GAAGjB,EAAE6yB,SAAStyB,EAAEX,EAAEqB,EAAE,KAAI,SAASV,EAAEU,GAAGjB,EAAE4yB,SAAS,KAAK3xB,GAAG,KAAKjB,EAAE6yB,UAAUtyB,KAAKP,EAAE2yB,OAAO3yB,EAAE6yB,SAAS,KAAKtyB,GAAGX,EAAEW,EAAE,KAAI,SAASA,EAAEU,GAAG,GAAGA,EAAE,CAAC,IAAI1B,EAAEgB,EAAEsD,MAAM,KAAK7D,EAAEgzB,SAASzzB,EAAE,GAAGS,EAAE+yB,SAASxzB,EAAE,QAAQ0B,EAAEV,EAAEP,EAAEqvB,KAAKpuB,EAAErB,EAAEqB,EAAE,KAAI,SAASrB,EAAEW,GAAGP,EAAE0rB,SAAS9rB,EAAEW,IAAIP,EAAEizB,KAAK1yB,qBAAeP,EAAE+T,KAAK/T,EAAE2yB,OAAO3yB,EAAE4yB,SAAS5yB,EAAE8yB,OAAO9yB,EAAE0yB,KAAK1yB,EAAE,SAASA,EAAEJ,GAAG,IAAIW,EAAE,GAAGP,EAAEJ,EAAEkzB,OAAO,GAAG9yB,EAAE,CAAmC,IAAIiB,GAAtCjB,EAAEA,EAAEyC,QAAQ,IAAI4uB,OAAO,OAAO,KAAYxtB,MAAM,KAAK,IAAI,IAAItE,KAAK0B,EAAE,GAAGA,EAAEN,eAAepB,IAAI0B,EAAE1B,GAAG,CAAC,IAAIT,EAAEmC,EAAE1B,GAAGsE,MAAM,KAAKtD,EAAEzB,EAAE,IAAIA,EAAE,IAAI,OAAOyB,EAAE,SAASU,EAAErB,GAAG,IAAIqB,EAAEnC,EAAEc,GAAG,YAAM,IAAoBqB,KAAKA,EAAEV,EAAEX,IAAKqP,OAAOjP,EAAEiB,GAAGnC,EAAEc,GAAGqB,GAA7BA,EAAkC,IAAWnC,EAAE,GAAG,OAAOmC,EAAEiyB,kBAAkB,SAAStzB,GAAGI,EAAEJ,GAA4Df,EAAOD,UAAUA,EAAQC,EAAOD,QAAQqC,GAAGrC,EAAQ0C,QAAQL,EAAeA,IAAIhC,KAAK8B,O,iBCN7lC;;;;;;IAME,WACA,aAGA,IAAIoyB,EAAc,CAChB,UAAY,EACZ,QAAU,GAIRC,EAAQD,SAAmBjyB,SAAWA,QAAWH,KAMjDsyB,EAAcF,SAAmBv0B,IAAYA,EAG7C00B,EAAaH,SAAmBt0B,IAAWA,IAAWA,EAAO0uB,UAAY1uB,EAGzE00B,EAAaF,GAAeC,GAA+B,iBAAVE,GAAsBA,GACvED,GAAeA,EAAWC,SAAWD,GAAcA,EAAWryB,SAAWqyB,GAAcA,EAAWE,OAASF,IAC7GH,EAAOG,GAQT,IAAIG,EAAiB9sB,KAAK+sB,IAAI,EAAG,IAAM,EAGnCC,EAAU,UAMVC,EAAcr0B,OAAOkB,UAGrBC,EAAiBkzB,EAAYlzB,eAG7ByG,EAAWysB,EAAYzsB,SAW3B,SAAS0sB,EAAWC,GAElB,OADAA,EAAStwB,OAAOswB,IACF1vB,OAAO,GAAG2vB,cAAgBD,EAAO5vB,MAAM,GAuFvD,SAASmP,EAAOygB,GAEd,OADAA,EAASrrB,EAAKqrB,GACP,uBAAuBzwB,KAAKywB,GAC/BA,EACAD,EAAWC,GAUjB,SAASE,EAAOzzB,EAAQ0zB,GACtB,IAAK,IAAI7zB,KAAOG,EACVG,EAAe1B,KAAKuB,EAAQH,IAC9B6zB,EAAS1zB,EAAOH,GAAMA,EAAKG,GAYjC,SAAS2zB,EAAWp0B,GAClB,OAAgB,MAATA,EACH+zB,EAAW/zB,GACXqH,EAASnI,KAAKc,GAAOoE,MAAM,GAAI,GA0BrC,SAASiwB,EAAQL,GACf,OAAOtwB,OAAOswB,GAAQtxB,QAAQ,eAAgB,OAWhD,SAAS4xB,EAAOC,EAAOJ,GACrB,IAAIK,EAAc,KAIlB,OA/FF,SAAc/zB,EAAQ0zB,GACpB,IAAI/qB,GAAS,EACT7G,EAAS9B,EAASA,EAAO8B,OAAS,EAEtC,GAAqB,iBAAVA,GAAsBA,GAAU,GAAKA,GAAUoxB,EACxD,OAASvqB,EAAQ7G,GACf4xB,EAAS1zB,EAAO2I,GAAQA,EAAO3I,QAGjCyzB,EAAOzzB,EAAQ0zB,GAmFjBM,CAAKF,GAAO,SAASv0B,EAAOoJ,GAC1BorB,EAAcL,EAASK,EAAax0B,EAAOoJ,EAAOmrB,MAE7CC,EAUT,SAAS7rB,EAAKqrB,GACZ,OAAOtwB,OAAOswB,GAAQtxB,QAAQ,WAAY,IAm+B5C,IAAIlB,EAt9BJ,SAASgD,EAAMkwB,GAGb,IAAIC,EAAUtB,EAGVuB,EAAkBF,GAAmB,iBAANA,GAAoC,UAAlBN,EAAWM,GAG5DE,IACFD,EAAUD,EACVA,EAAK,MAIP,IAAIG,EAAMF,EAAQ/yB,WAAa,GAG3BkzB,EAAYD,EAAIC,WAAa,GAEjCJ,IAAOA,EAAKI,GAGZ,IA4CIja,EAkBAka,EA3Ict0B,EAAQC,EACtBs0B,EA+EAC,EAAaL,IACXC,EAAII,WACN,aAAa1xB,KAAKmxB,KAAQ,eAAenxB,KAAK8D,EAASA,YAIvD6tB,EAAkBN,EADJ,SACoC,4BAClDO,EAAcP,EAFA,SAEgC,cAC9CQ,EAAaR,GAAmBD,EAAQU,KAAQ,cAAgBjB,EAAWO,EAAQU,MACnFC,EAAeV,EAJD,SAIiC,gBAG/CS,EAAO,SAAS9xB,KAAK6xB,IAAcT,EAAQU,KAG3CE,EAAQF,GAAQjB,EAAWO,EAAQa,cAAgBL,EAGnDM,EAAQJ,EAAO,IAAM,IAGrBK,EAAOL,EAAO,IAAM,IAGpB9K,EAAMoK,EAAQ5xB,UAAY,GAO1Boa,EAAQwX,EAAQgB,WAAahB,EAAQxX,MAGrCyY,EAAa/B,EAAQtwB,KAAKqyB,EAAchB,GAAmBzX,EAASA,EAAM,aAAeiX,EAAWjX,IACpGyY,EACCzY,EAAQ,KAQT0Y,EAAOnB,EAGPjtB,EAAc,GAGdquB,EAAa,KAGbC,EAAcrB,GAAMI,EAGpB/rB,EAAUgtB,GAAe5Y,GAAiC,mBAAjBA,EAAMpU,SAAyBoU,EAAMpU,UAM9EuN,EA2KKge,EA3Kc,CACrB,CAAE,MAAS,WAAY,QAAW,QAClC,UACA,CAAE,MAAS,SAAU,QAAW,eAChC,OACA,SACA,WACA,SACA,QACA,UAkKuB,SAASjyB,EAAQ2zB,GACtC,OAAO3zB,GAAUivB,OAAO,OACtB0E,EAAM9f,SAAWme,EAAQ2B,IACvB,MAAO,KAAK7a,KAAKuZ,KAAQsB,EAAMC,OAASD,MAjK5C12B,EA8LJ,SAAiB42B,GACf,OAAO5B,EAAO4B,GAAS,SAAS7zB,EAAQ2zB,GACtC,OAAO3zB,GAAUivB,OAAO,OACtB0E,EAAM9f,SAAWme,EAAQ2B,IACvB,MAAO,KAAK7a,KAAKuZ,KAAQsB,EAAMC,OAASD,MAlMrCG,CAAQ,CACjB,YACA,QACA,gBACA,SACA,SACA,WACA,WACA,SACA,QACA,SACA,eACA,OACA,YACA,WACA,YACA,YACA,UACA,CAAE,MAAS,iBAAkB,QAAW,4BACxC,SACA,eACA,WACA,YACA,QACA,SACA,WACA,CAAE,MAAS,mBAAoB,QAAW,kBAC1C,YACA,CAAE,MAAS,OAAQ,QAAW,+BAC9B,WACA,cACA,CAAE,MAAS,cAAe,QAAW,QACrC,UACA,WACA,UACA,WACA,cACA,CAAE,MAAS,iBAAkB,QAAW,aACxC,CAAE,MAAS,aAAc,QAAW,aACpC,aACA,CAAE,MAAS,aAAc,QAAW,SACpC,QACA,CAAE,MAAS,QAAS,QAAW,OAC/B,WACA,SACA,CAAE,MAAS,SAAU,QAAW,sBAChC,CAAE,MAAS,gBAAiB,QAAW,kBACvC,CAAE,MAAS,UAAW,QAAW,yBACjC,CAAE,MAAS,kBAAmB,QAAW,SACzC,CAAE,MAAS,KAAM,QAAW,YAC5B,CAAE,MAAS,KAAM,QAAW,QAC5B,WAIEC,EAAUC,EAAW,CACvB,CAAE,MAAS,aAAc,QAAW,QACpC,aACA,CAAE,MAAS,WAAY,QAAW,YAClC,CAAE,MAAS,YAAa,QAAW,YACnC,CAAE,MAAS,YAAa,QAAW,YACnC,CAAE,MAAS,YAAa,QAAW,YACnC,CAAE,MAAS,YAAa,QAAW,WACnC,CAAE,MAAS,YAAa,QAAW,WACnC,CAAE,MAAS,iBAAkB,QAAW,WACxC,CAAE,MAAS,YAAa,QAAW,WACnC,CAAE,MAAS,iBAAkB,QAAW,WACxC,YACA,QACA,OACA,OACA,SACA,SACA,CAAE,MAAS,cAAe,QAAW,+BACrC,QACA,OACA,WACA,mBACA,cACA,WACA,cACA,CAAE,MAAS,QAAS,QAAW,QAC/B,MACA,WACA,CAAE,MAAS,WAAY,QAAW,QAClC,SAIEC,EAmFJ,SAAyBJ,GACvB,OAAO5B,EAAO4B,GAAS,SAAS7zB,EAAQrC,EAAOM,GAE7C,OAAO+B,IACLrC,EAAMo2B,IACNp2B,EAAM,0BAA0Bmb,KAAKib,KACrC9E,OAAO,MAAQ+C,EAAQ/zB,GAAO,kBAAmB,KAAK6a,KAAKuZ,KACxDp0B,KA1FUi2B,CAAgB,CACjC,MAAS,CAAE,KAAQ,EAAG,OAAU,EAAG,KAAQ,GAC3C,QAAW,GACX,OAAU,GACV,OAAU,CAAE,OAAU,EAAG,cAAe,GACxC,KAAQ,CAAE,YAAe,GACzB,iBAAkB,CAAE,KAAQ,GAC5B,WAAc,CAAE,SAAY,GAC5B,OAAU,CAAE,YAAa,EAAG,MAAS,GACrC,GAAM,CAAE,SAAY,GACpB,IAAO,GACP,OAAU,GACV,OAAU,GACV,GAAM,GACN,UAAa,CAAE,KAAQ,EAAG,WAAY,GACtC,SAAY,CAAE,KAAQ,GACtB,SAAY,CAAE,QAAS,EAAI,IAAO,GAClC,MAAS,CAAE,MAAS,GACpB,KAAQ,GACR,QAAW,CAAE,WAAY,EAAG,YAAa,EAAG,YAAa,EAAG,YAAa,GACzE,KAAQ,CAAE,YAAe,EAAG,mBAAoB,GAChD,OAAU,CAAE,GAAM,EAAG,MAAS,KAI5BC,EA2FJ,SAAeN,GACb,OAAO5B,EAAO4B,GAAS,SAAS7zB,EAAQ2zB,GACtC,IAAI9f,EAAU8f,EAAM9f,SAAWme,EAAQ2B,GAMvC,OALK3zB,IAAWA,EACVivB,OAAO,MAAQpb,EAAU,wBAAyB,KAAKiF,KAAKuZ,MAEhEryB,EAveR,SAAmBm0B,EAAItgB,EAAS+f,GAI9B,IAAIpb,EAAO,CACT,OAAQ,KACR,IAAQ,uBACR,IAAQ,MACR,IAAQ,IACR,IAAQ,qBACR,MAAQ,sBACR,IAAQ,0BACR,IAAQ,KACR,KAAQ,WACR,MAAQ,OACR,MAAQ,KACR,OAAQ,MA8BV,OA3BI3E,GAAW+f,GAAS,QAAQ1yB,KAAKizB,KAAQ,mBAAmBjzB,KAAKizB,KAChE3b,EAAOA,EAAK,UAAUM,KAAKqb,OAC9BA,EAAK,WAAa3b,GAGpB2b,EAAK9yB,OAAO8yB,GAERtgB,GAAW+f,IACbO,EAAKA,EAAG9zB,QAAQ4uB,OAAOpb,EAAS,KAAM+f,IAGxCO,EAAKjjB,EACHijB,EAAG9zB,QAAQ,QAAS,OACjBA,QAAQ,SAAU,OAClBA,QAAQ,gBAAiB,UACzBA,QAAQ,cAAe,OACvBA,QAAQ,oBAAqB,MAC7BA,QAAQ,iBAAkB,MAC1BA,QAAQ,SAAU,OAClBA,QAAQ,KAAM,KACdA,QAAQ,6BAA8B,IACtCA,QAAQ,gBAAiB,UACzBA,QAAQ,yBAA0B,MAClCA,QAAQ,6BAA8B,MACtCoB,MAAM,QAAQ,IA4bJ2yB,CAAUp0B,EAAQ6T,EAAS8f,EAAMC,OAASD,IAE9C3zB,KAnGFq0B,CAAM,CACb,gBACA,QACA,UACA,SACA,CAAE,MAAS,YAAa,QAAW,QACnC,SACA,CAAE,MAAS,gBAAiB,QAAW,aACvC,SACA,UACA,SACA,QACA,UACA,aACA,UACA,UACA,OACA,SACA,UACA,SACA,aACA,QACA,SACA,QACA,YACA,QACA,QACA,WACA,YACA,MACA,cACA,aA+EF,SAASL,EAAWH,GAClB,OAAO5B,EAAO4B,GAAS,SAAS7zB,EAAQ2zB,GACtC,IAAI9f,EAAU8f,EAAM9f,SAAWme,EAAQ2B,GAiBvC,OAhBK3zB,IAAWA,EACVivB,OAAO,MAAQpb,EAAU,iBAAkB,KAAKiF,KAAKuZ,IACrDpD,OAAO,MAAQpb,EAAU,gBAAiB,KAAKiF,KAAKuZ,IACpDpD,OAAO,MAAQpb,EAAU,6CAA8C,KAAKiF,KAAKuZ,OAGhFryB,EAASqB,OAAQsyB,EAAMC,QAAU3E,OAAOpb,EAAS,KAAK3S,KAAKyyB,EAAMC,OAAUD,EAAMC,MAAQ5zB,GAAQyB,MAAM,MAAM,KAAO,SAASP,KAAKlB,EAAO,MAC5IA,EAAO,IAAM,IAAMA,EAAO,IAG5B2zB,EAAQA,EAAMC,OAASD,EACvB3zB,EAASkR,EAAOlR,EAAO,GACpBK,QAAQ4uB,OAAOpb,EAAS,KAAM8f,GAC9BtzB,QAAQ4uB,OAAO,SAAW0E,EAAQ,SAAU,KAAM,KAClDtzB,QAAQ4uB,OAAO,IAAM0E,EAAQ,eAAgB,KAAM,WAEjD3zB,KAWX,SAASs0B,EAAWC,GAClB,OAAOtC,EAAOsC,GAAU,SAASv0B,EAAQ6T,GACvC,OAAO7T,IAAWivB,OAAOpb,EACvB,2DAA4D,KAAKiF,KAAKuZ,IAAO,GAAG,IAAM,QA8J5F,GA5IApe,IAAWA,EAAS,CAACA,IAQjB,cAAc/S,KAAKizB,KAAQJ,IAC1Bvb,EAAO,kDAAkDM,KAAKuZ,MACjE0B,EAAUztB,EAAKkS,EAAK,IAEjBnY,QAAQ,0BAA2B,KACjC,MAGH4zB,IAAiBF,EACnBA,EAAUC,EAAW,CAACC,IACbA,GAAgBF,IACzBA,EAAUA,EACP1zB,QAAQ4uB,OAAO,KAAO+C,EAAQiC,GAAgB,YAAa,KAAMA,EAAe,KAChF5zB,QAAQ4uB,OAAO,KAAO+C,EAAQiC,GAAgB,eAAgB,KAAMA,EAAe,SAGnFzb,EAAO,gBAAgBM,KAAKib,MAC/BA,EAAUvb,EAAK,IAGb,iBAAiBtX,KAAKmxB,KACxB0B,GAAWA,EAAUA,EAAU,IAAM,IAAM,aAGjC,cAAR92B,GAAwB,YAAYiE,KAAKmxB,IAC3CjtB,EAAYzC,KAAK,sCAGP,MAAR1F,GAAgB,qBAAqBiE,KAAKmxB,IAE5C4B,GADAzb,EAAOrW,EAAMkwB,EAAGhyB,QAAQ,iBAAkB,MACtB4zB,aACpBF,EAAUvb,EAAKub,SAGR,MAAM7yB,KAAK6yB,IAClB92B,IAASA,EAAO,UAChBk3B,EAAK,QAAU3b,EAAO,gBAAgBM,KAAKuZ,IACvC,IAAM7Z,EAAK,GAAGnY,QAAQ,KAAM,KAC5B,KAGW,aAARpD,GAAuB,YAAYiE,KAAKizB,GAC/CA,EAAK,UAGGF,GAAgC,UAAhBA,IACpB,SAAS/yB,KAAKjE,KAAU,qBAAqBiE,KAAKmxB,IAAQ,WAAWnxB,KAAK6yB,KAC3E,cAAc7yB,KAAKizB,IAAO,UAAUjzB,KAAKjE,IAAS,eAAeiE,KAAKmxB,IACzEp1B,EAAO,kBACPk3B,EAAK,cAAcjzB,KAAKizB,GAAMA,EAAK,WAGpB,QAARl3B,GACF,UAAUiE,KAAKmxB,KAClB8B,EAAK,UACL/uB,EAAYovB,QAAQ,iBAElB,wBAAwBtzB,KAAKmxB,IAC/BjtB,EAAYovB,QAAQ,gBAIP,cAARv3B,GAAwB,YAAYiE,KAAKmxB,GAChDjtB,EAAYzC,KAAK,cAGF,YAAR1F,IAAuBub,EAAO,wBAAwBM,KAAKuZ,IAClEjtB,EAAYzC,KAAK,0BAA4B6V,EAAK,IAGnC,WAARvb,IAAsBub,EAAO,0BAA0BM,KAAKuZ,KACnE8B,IAAOA,EAAK,cACZJ,IAAYA,EAAUvb,EAAK,MAGnBvb,IAASub,GAAQ,iBAAiBtX,KAAKmxB,IAAO,yBAAyBvZ,KAAK7b,KAEhFA,IAAS82B,GAAW,kBAAkB7yB,KAAKmxB,EAAGtwB,MAAMswB,EAAGzR,QAAQpI,EAAO,KAAO,MAE/Evb,EAAO,OAGJub,EAAOub,GAAWE,GAAgBE,KAClCJ,GAAWE,GAAgB,6CAA6C/yB,KAAKizB,MAChFl3B,EAAO,mBAAmB6b,KAAK,cAAc5X,KAAKizB,GAAMA,EAAK3b,GAAQ,aAIxD,YAARvb,IAAuBub,GAAQ,uBAAuBM,KAAKuZ,IAAO,GAAG,KAC5EjtB,EAAYzC,KAAK,YAAc6V,GAG5B9R,IACHA,EAAU4tB,EAAW,CACnB,iKACA,UACAtC,EAAQ/0B,GACR,qCAICub,GACW,QAAVvE,GAAoBwgB,WAAW/tB,GAAW,EAAK,SAC/C,YAAYxF,KAAKjE,KAAU,UAAUiE,KAAKmxB,GAAM,QAAU,YAC1D,8BAA8BnxB,KAAKmxB,KAAQ,yBAAyBnxB,KAAK+S,IAAW,WACnFA,GAAU,YAAY/S,KAAKmxB,KAAc,UAAN8B,EAAiB,SAAW,YACtD,UAAVlgB,GAAsB,8BAA8B/S,KAAKjE,IAAS,cAEtEgX,EAAS,CAACuE,IAGA,MAARvb,IAAiBub,GAAQ,4BAA4BM,KAAKuZ,IAAO,GAAG,KACtEp1B,GAAQ,UACRk3B,EAAK,kBAAoB,MAAMjzB,KAAKsX,GAAQA,EAAOA,EAAO,MAC1DpT,EAAYovB,QAAQ,iBAGb,iBAAiBtzB,KAAKmxB,IAC7Bp1B,EAAO,YACPk3B,EAAK,oBACL/uB,EAAYovB,QAAQ,gBACpB9tB,IAAYA,GAAW,gBAAgBoS,KAAKuZ,IAAO,GAAG,KAGvC,MAARp1B,GAA0B,WAAVgX,IAAwBuE,EAAO,gBAAgBM,KAAKuZ,MACvEp1B,GACFmI,EAAYzC,KAAK,kBAAoB1F,GAAQyJ,EAAU,IAAMA,EAAU,KAEzEzJ,EAAO,KACPyJ,EAAU8R,EAAK,IAGbkb,EAAa,CAGf,GA7jBwBr1B,EA6jBA,SA5jBtBs0B,EAAiB,OADHv0B,EA6jBDk0B,UA5jBkBl0B,EAAOC,GAAY,SAC9C,wCAAwC6C,KAAKyxB,IAC1C,UAARA,IAAqBv0B,EAAOC,GAumBpB0zB,EAAYvZ,EAAO8Z,EAAQoC,UAAa7B,GAC/C51B,EAAO,YACPk3B,EAAK3b,EAAKmc,MAAMC,OAAOC,aAAaV,IAG7BpC,EAAYvZ,EAAO8Z,EAAQwC,UAAa7B,GAC/Ch2B,EAAO,YACPyJ,GAAW8R,EAAOA,EAAK9R,SAAW,OAAU8R,EAAKuc,MAAQ,IAAMvc,EAAKwc,MAAQ,IAAMxc,EAAKyc,OAGrD,iBAApB/M,EAAIgN,eAA6B1c,EAAO,oBAAoBM,KAAKuZ,KAG/E3rB,EAAU,CAACA,EAASwhB,EAAIgN,eACnB1c,GAAQA,EAAK,GAAK,IAAM9R,EAAQ,KACnCtB,EAAYzC,KAAK,MAAQ+D,EAAQ,GAAK,SACtCuN,IAAWA,EAAO,GAAK,IACvBvN,EAAQ,GAAK8R,GAEf9R,EAAkB,MAARzJ,EAAeoE,OAAOqF,EAAQ,GAAGyuB,QAAQ,IAAMzuB,EAAQ,IAG/B,iBAApBwhB,EAAIgN,cAA4B,wBAAwBh0B,KAAKjE,KAC3EmI,EAAYzC,KAAK,cAAgB1F,EAAO,IAAMyJ,GAC9CzJ,EAAO,KACPyJ,EAAU,OACVuN,EAAS,CAAC,WACVkgB,EAAK,gBAlEL,GALInB,IAEFQ,GADAhb,EAAOwa,EAAKoC,KAAKC,QACLC,YAAY,WACxBnB,EAAKA,GAAM3b,EAAK8c,YAAY,WAAa,IAAM9c,EAAK8c,YAAY,eAE9DpC,EAAO,CACT,IACExsB,EAAU4rB,EAAQtzB,QAAQ,gBAAgB0H,QAAQ1E,KAAK,KACvD/E,EAAO,UACP,MAAM4B,IACD2Z,EAAO8Z,EAAQsC,SAAWpc,EAAK4Y,OAAOwD,QAAUtC,EAAQsC,SAC3D33B,EAAO,UACPk3B,IAAOA,EAAK3b,EAAK,GAAG2b,IAAM,OAGzBl3B,IACHA,EAAO,aAIiB,iBAAnBq1B,EAAQiD,UAAwBjD,EAAQiD,QAAQC,UACtDhd,EAAO8Z,EAAQiD,WAEY,iBAAjB/c,EAAKid,WACuB,iBAA1Bjd,EAAKid,SAASC,UACvBtwB,EAAYzC,KAAK,QAAU6V,EAAKid,SAASjH,MACzCvxB,EAAO,WACPyJ,EAAU8R,EAAKid,SAASC,UACY,iBAApBld,EAAKid,SAASE,KAC9BvwB,EAAYzC,KAAK,YAAc+D,EAAS,QAAU8R,EAAKid,SAASjH,MAChEvxB,EAAO,QACPyJ,EAAU8R,EAAKid,SAASE,KAGvB14B,IACHA,EAAO,UACPu2B,EAAOhb,EAAKgb,KACZW,EAAK3b,EAAKrZ,SAEVuH,GADAA,EAAU,SAASoS,KAAKN,EAAK9R,UACTA,EAAQ,GAAK,OAkCvCytB,EAAKA,GAAMjjB,EAAOijB,GAapB,GAVIztB,IAAY8R,EACV,0CAA0CM,KAAKpS,IAC/C,2BAA2BoS,KAAKuZ,EAAK,KAAOqB,GAAelB,EAAIoD,mBAC/D,iBAAiB10B,KAAKmxB,IAAO,OAEjCoB,EAAa,KAAKvyB,KAAKsX,GAAQ,OAAS,QACxC9R,EAAUA,EAAQrG,QAAQ4uB,OAAOzW,EAAO,SAAU,KACjC,QAAdib,EAAuBJ,EAAOD,IAAU,SAASta,KAAKN,IAAS,KAGxD,UAARvb,GAA4B,WAARA,GAAqB,mCAAmCiE,KAAKizB,GACnFl3B,EAAO,sBAGJ,GAAY,WAARA,GAAqByJ,EAC5BA,EAAUA,EAAQrG,QAAQ,WAAY,WAGnC,GAAI,YAAYa,KAAK6yB,GACT,YAAXA,IACFI,EAAK,MAEQ,YAAXJ,GAAyB,eAAe7yB,KAAKmxB,IAC/CjtB,EAAYovB,QAAQ,oBAInB,IAAK,wBAAwBtzB,KAAKjE,MAASA,GAAS82B,GAAY,eAAe7yB,KAAKjE,KAC9E,cAANk3B,IAAsB,QAAQjzB,KAAKmxB,GAInC,GAAY,MAARp1B,GAAgBy2B,EACvB,IAC2B,OAArBpB,EAAQuD,UACVzwB,EAAYovB,QAAQ,oBAEtB,MAAM31B,GACNuG,EAAYovB,QAAQ,iBAKd,iBAAiBtzB,KAAK6yB,IAAY,WAAW7yB,KAAKmxB,MAAS7Z,GAC9DyW,OAAO8E,EAAQ1zB,QAAQ,MAAO,MAAQ,aAAc,KAAKyY,KAAKuZ,IAAO,GAAG,IACzE3rB,IAGJytB,IADA3b,EAAO,CAACA,EAAM,OAAOtX,KAAKmxB,KACf,IAAM0B,EAAU,KAAME,EAAe,cAAgB,mBAAqB,IAAMzb,EAAK,GAChG9R,EAAU,MAIH/H,MAAQkzB,GAAqB,OAAXkC,IACpBL,GAAe5Y,GACf,QAAQ5Z,KAAKjE,IAAS,wBAAwBiE,KAAKmxB,IAC3C,WAARp1B,GAAqB,uBAAuBiE,KAAKizB,IACzC,MAARl3B,IACEk3B,IAAO,OAAOjzB,KAAKizB,IAAOztB,EAAU,KACrC,iBAAiBxF,KAAKizB,IAAOztB,EAAU,GAC5B,GAAXA,IAAiB,cAAcxF,KAAKmxB,OAElCb,EAAQtwB,KAAMsX,EAAOrW,EAAMtF,KAAKg1B,EAAQQ,EAAGhyB,QAAQmxB,EAAS,IAAM,OAAUhZ,EAAKvb,OAEzFub,EAAO,UAAYA,EAAKvb,OAASub,EAAOA,EAAK9R,SAAW,IAAM8R,EAAO,IACjEgZ,EAAQtwB,KAAKjE,IACX,SAASiE,KAAKsX,IAAe,UAAN2b,IACzBA,EAAK,MAEP3b,EAAO,WAAaA,IAIpBA,EAAO,OAASA,EAEdvb,EADEs2B,EACKriB,EAAOqiB,EAAWlzB,QAAQ,kBAAmB,UAE7C,QAEL,SAASa,KAAKsX,KAChB2b,EAAK,MAEFT,IACHhtB,EAAU,OAGduN,EAAS,CAAC,UACV7O,EAAYzC,KAAK6V,SA1DjBvb,GAAQ,WA6DLub,GAAQ,8BAA8BM,KAAKuZ,IAAO,GAAG,MAGxD7Z,EAAO,CAACic,WAAWjc,EAAKnY,QAAQ,UAAW,SAAUmY,GAEzC,UAARvb,GAAyC,KAArBub,EAAK,GAAGzW,OAAO,IACrC9E,EAAO,iBACPw2B,EAAa,QACb/sB,EAAU8R,EAAK,GAAGzW,MAAM,GAAI,IAGrB2E,GAAW8R,EAAK,IACrB9R,IAAY8R,EAAK,IAAM,yBAAyBM,KAAKuZ,IAAO,GAAG,MACjE3rB,EAAU,MAGZ8R,EAAK,IAAM,mCAAmCM,KAAKuZ,IAAO,GAAG,GAE9C,QAAX7Z,EAAK,IAA2B,QAAXA,EAAK,IAAgBic,WAAWjc,EAAK,KAAO,IAAgB,UAAVvE,IACzEA,EAAS,CAAC,UAIPyf,IAAiBd,GAAepa,EAAK,KAIxCvE,IAAWA,EAAO,GAAK,eACvBuE,EAAOA,EAAK,MAAOA,EAAOA,EAAK,IAAW,IAAM,EAAIA,EAAO,IAAM,EAAIA,EAAO,OAAS,EAAIA,EAAO,IAAM,EAAIA,EAAO,OAAS,EAAIA,EAAO,OAAS,EAAIA,EAAO,MAAS,EAAIA,EAAO,OAAS,EAAIA,EAAO,OAAS,EAAIA,EAAO,OAAS,GAAKA,EAAO,MAAS,GAAKA,EAAO,OAAS,GAAKA,EAAO,OAAS,MAAQA,EAAO,OAAS,GAAKA,EAAO,OAAS,GAAKA,EAAO,OAAS,GAAKA,EAAO,OAAS,GAAKA,EAAO,MAAS,GAAKA,EAAO,OAAS,GAAKA,EAAO,OAAS,MAAQA,EAAO,OAAS,GAAKA,EAAO,OAAS,GAAKA,EAAO,OAAS,GAAKA,EAAO,OAAS,GAAe,SAAVvE,EAAoB,KAAO,QAJ1iBA,IAAWA,EAAO,GAAK,eACvBuE,GAAQA,EAAOA,EAAK,IAAW,IAAM,EAAIA,EAAO,IAAM,EAAIA,EAAO,IAAM,EAAIA,EAAO,IAAM,EAAIA,EAAO,IAAM,KAAOA,EAAO,IAAM,EAAIA,EAAO,IAAM,EAAIA,EAAO,IAAM,EAAIA,EAAO,IAAM,EAAIA,EAAO,IAAM,EAAIA,EAAO,IAAM,GAAKA,EAAO,IAAM,GAAKA,EAAO,IAAM,GAAK,MAM7PvE,IAAWA,EAAO,IAAM,KAAOuE,GAAuB,iBAARA,EAAmB,KAAO,OAAOtX,KAAKsX,GAAQ,GAAK,MAErF,UAARvb,KAAsByJ,GAAWW,SAASX,GAAW,IACvDA,EAAU8R,EACO,UAARvb,GAAoB,oBAAoBiE,KAAKmxB,IACtDjtB,EAAYovB,QAAQ,aAIZ,SAARv3B,IAAqBub,EAAO,eAAeM,KAAKqb,KAClDl3B,GAAQ,IACRmI,EAAYovB,QAAQ,gBACR,QAARhc,GACFvb,GAAQ,OACRyJ,EAAU,MAEVzJ,GAAQ,SAEVk3B,EAAKA,EAAG9zB,QAAQ4uB,OAAO,KAAOzW,EAAO,KAAM,KAG5B,UAARvb,GAAoB,aAAa6b,KAAK7E,GAAUA,EAAO,KAC9D7O,EAAYovB,QAAQ,gBACpBv3B,EAAO,gBACPyJ,EAAU,KAEN,WAAWxF,KAAKizB,IAClBF,EAAe,QACfE,EAAK,YAELA,EAAK,MAIA,kBAAkBjzB,KAAKjE,KAAUyJ,IACxCA,EAAU4tB,EAAW,WAGnB5tB,GAA2D,GAAhDA,EAAQka,QAASpI,EAAO,UAAUM,KAAKqb,KAClD9B,EAAGzR,QAAQ,IAAMpI,EAAO,MAAQ,IAClC2b,EAAK7tB,EAAK6tB,EAAG9zB,QAAQmY,EAAM,MAGzB2b,IAA2B,GAArBA,EAAGvT,QAAQ3jB,KAAgBgyB,OAAOhyB,EAAO,OAAOiE,KAAKizB,KAC7DA,EAAKA,EAAG9zB,QAAQ4uB,OAAO,KAAO+C,EAAQ/0B,GAAQ,MAAO,KAGnDgX,IAAW,qBAAqB/S,KAAKjE,KACrC,4BAA4BiE,KAAKjE,IACzB,UAARA,GAAoB,OAAOiE,KAAKizB,IAAO,aAAajzB,KAAK+S,EAAO,KAChE,6GAA6G/S,KAAKjE,IAASgX,EAAO,MAEnIuE,EAAOvE,EAAOA,EAAO/T,OAAS,KAAOkF,EAAYzC,KAAK6V,GAGrDpT,EAAYlF,SACdkF,EAAc,CAAC,IAAMA,EAAYpD,KAAK,MAAQ,MAG5CiyB,GAAgBF,GAAWA,EAAQnT,QAAQqT,GAAgB,GAC7D7uB,EAAYzC,KAAK,MAAQsxB,GAGvBF,GACF3uB,EAAYzC,MAAM,OAAOzB,KAAKkE,EAAYA,EAAYlF,OAAS,IAAM,GAAK,OAAS6zB,GAGjFI,IACF3b,EAAO,cAAcM,KAAKqb,GAC1BzB,EAAmBla,GAAqD,KAA7C2b,EAAGlyB,OAAOkyB,EAAGj0B,OAASsY,EAAK,GAAGtY,OAAS,GAClEi0B,EAAK,CACH,aAAgB,GAChB,OAAW3b,IAASka,EAAoByB,EAAG9zB,QAAQmY,EAAK,GAAI,IAAM2b,EAClE,QAAW3b,EAAOA,EAAK,GAAK,KAC5B,SAAY,WACV,IAAI9R,EAAU/H,KAAK+H,QACnB,OAAO/H,KAAKm3B,QAAWpvB,IAAYgsB,EAAoB,IAAMhsB,EAAU,KAA4B,IAArB/H,KAAKo3B,aAAqB,UAAY,QAKrHvd,EAAO,mCAAmCM,KAAK0a,MAAW,YAAYtyB,KAAKsyB,IAC1EW,IACFA,EAAG4B,aAAe,GAClB5B,EAAG2B,OAAS3B,EAAG2B,OAAOz1B,QAAQ4uB,OAAO,KAAOzW,GAAO,KAGjDvb,IAAS,aAAaiE,KAAKmxB,IAC1BqB,GAAe,eAAexyB,KAAKsxB,EAAIwD,UAAYxD,EAAIrzB,YAAc,kBAAkB+B,KAAKmxB,KAE/FjtB,EAAYovB,QAAQ,WAKpBL,GAAM,QAAQjzB,KAAKizB,EAAG2B,SACd,UAAR74B,GAAoBw3B,WAAW/tB,IAAY,KAE7CytB,EAAG4B,aAAe,IAGpB1D,IAAOA,EAAK,MAUZ,IAAIlzB,EAAW,GAoJf,OA5IAA,EAASiG,YAAcitB,EAWvBlzB,EAAS8U,OAASA,GAAUA,EAAO,GAanC9U,EAAS80B,aAAeA,EAgBxB90B,EAASlC,KAAOA,EAQhBkC,EAASs0B,WAAaA,EAatBt0B,EAAS40B,QAAUA,EAQnB50B,EAASkzB,GAAKA,EAQdlzB,EAASuH,QAAUzJ,GAAQyJ,EAQ3BvH,EAASg1B,GAAKA,GAAM,CAQlB,aAAgB,KAahB,OAAU,KAQV,QAAW,KAQX,SAAY,WAAa,MAAO,SAGlCh1B,EAASgD,MAAQA,EACjBhD,EAAS6F,SAjlBT,WACE,OAAOrG,KAAKyG,aAAe,IAklBzBjG,EAASuH,SACXtB,EAAYovB,QAAQ9tB,GAElBvH,EAASlC,MACXmI,EAAYovB,QAAQv3B,GAElBk3B,GAAMl3B,IAAUk3B,GAAM9yB,OAAO8yB,GAAI1yB,MAAM,KAAK,IAAO0yB,GAAMl3B,EAAKwE,MAAM,KAAK,KAAMsyB,IACjF3uB,EAAYzC,KAAKoxB,EAAU,IAAMI,EAAK,IAAM,MAAQA,GAElD/uB,EAAYlF,SACdf,EAASiG,YAAcA,EAAYpD,KAAK,MAEnC7C,EAMMgD,GAOb6uB,EAAK7xB,SAAWA,OAKf,KAFD,aACE,OAAOA,GACR,gCAaHtC,KAAK8B,Q,uCC3uCPlC,EAAOD,QAAU,SAASC,GAoBzB,OAnBKA,EAAOw5B,kBACXx5B,EAAOy5B,UAAY,aACnBz5B,EAAO05B,MAAQ,GAEV15B,EAAO0O,WAAU1O,EAAO0O,SAAW,IACxC/N,OAAOC,eAAeZ,EAAQ,SAAU,CACvCa,YAAY,EACZC,IAAK,WACJ,OAAOd,EAAOE,KAGhBS,OAAOC,eAAeZ,EAAQ,KAAM,CACnCa,YAAY,EACZC,IAAK,WACJ,OAAOd,EAAOC,KAGhBD,EAAOw5B,gBAAkB,GAEnBx5B,I;;;;;GCSRA,EAAOD,SAaH4C,GAAIN,OAZC,CAMLs3B,OAAQ,gB;;;;;GCLZ35B,EAAOD,QAAW,SAAU65B,GAaXvM,EAAE/pB,OAAO,CACtBu2B,IAAK,aACLC,IAAK,mBAfS,GAoBhB,MAAO,CAMLH,OAAQ,SAAUC,KAYlBG,SAAU,WACR,MArBQ,UA4BVC,SAAU,SAAUC,GAClB,IACU3gB,EADN4gB,GAAS,EAEb,OADU5gB,EAAi2DxW,UAAUkzB,WAAWlzB,UAAUq3B,QAAQ93B,OAAOgc,OAAz4D,2TAA2T5Z,KAAK6U,IAAI,i/CAAi/C7U,KAAK6U,EAAErQ,OAAO,EAAE,OAAKixB,GAAS,GAC51DA,GAMTE,kBAAmB,WAEjB/M,EAAE,UAAUgN,GAAG,kCAAkC,WAC3ChN,EAAEnrB,MAAMmI,MAAM5G,OAAS,GACzB4pB,EAAEnrB,MAAMo4B,QAAQ,eAAeC,YAAY,aAE5CF,GAAG,sBAAsB,WACG,IAAzBhN,EAAEnrB,MAAMmI,MAAM5G,QAChB4pB,EAAEnrB,MAAMo4B,QAAQ,eAAeE,SAAS,eA/DhC,I,cCSlBx6B,EAAOD,QAAU,SAAqB65B,GAKpC,IAEI5oB,EACAypB,EAHA/xB,EAAU,GAQC2kB,EAAE/pB,OAAQ,CACvBu2B,IAAK,MACLC,IAAK,OACJF,GAKH,MAAO,CAKL91B,KAAM,SAAU42B,EAAgBC,GAc9B,OAbA3pB,EAAUxO,eAAekQ,UAAU,qBACnC+nB,EAAU,4BAEVzpB,EAAOW,KAAK8oB,GACZv4B,KAAK04B,mBAAmBF,EAAgBC,GACxCz4B,KAAK24B,eACL34B,KAAK44B,eAELpyB,EAAQwtB,KAAU,UAClBxtB,EAAQqyB,OAAU,mBAClBryB,EAAQsB,KAAU,6BAClBrH,GAAGq4B,YAAa,oBAAqB,uBAAwBtyB,IAEtD,GAMToyB,aAAc,WACZ,IAAI9pB,EAAoBxO,eAAekQ,UAAU,kCAC7CuoB,EAAoB5N,EAAE,wBAwD1B,GAjBAA,EAAE,eAAe6N,OAAM,SAAS94B,GAC9BA,EAAE+4B,eAAiB/4B,EAAE+4B,iBAAmB/4B,EAAEmJ,aAAc,EACxDyF,EAAOW,KAAK,wDAMEspB,EAAQG,SAAS,kBAG/BH,EAAQI,KAAK,mCAMXJ,EAAQG,SAAS,gBAAiB,CACpC,IAAIE,EAAc,IAAIr1B,MAClBqE,EAAc+iB,EAAE,oBAChBkO,EAAcjxB,EAAMkxB,KAAK,iBAG7BlxB,EAAMkxB,KAAK,sBAAsB7F,MAAK,WACpC2F,EAASp1B,KAAKmnB,EAAEnrB,MAAMu5B,WAIxB,IAAIC,EAAcJ,EAASh1B,OAAO,EAAGyB,KAAK4zB,MAAML,EAAS73B,OAAS,IAC9Dm4B,EAAcN,EACdO,EAAc,GAEdC,EAAa,SAASC,GACxBF,EAAW,GACX,IAAK,IAAI57B,EAAI,EAAGA,EAAI87B,EAAKt4B,OAAQxD,IAC/B47B,GAAY,OAASE,EAAK97B,GAAK,SAKnC67B,EAAWJ,GACXH,EAAWE,KAAKI,GAChBvxB,EAAMkxB,KAAK,UAAUQ,QAAQxB,SAAS,eAGtCsB,EAAWF,GAEXL,EAAWU,MAAM,oCAAoCC,OAAOT,KAAKI,GACjEvxB,EAAMkxB,KAAK,UAAUW,OAAO3B,SAAS,gBAGrClwB,EAAMkxB,KAAK,sBAAsBH,KAAK,qCACtC/wB,EAAMkxB,KAAK,uBAAuBH,KAAK,sCAGvC/wB,EAAMkxB,KAAK,sBAAsB7F,MAAK,WACpC,IAAIyG,EAAW/O,EAAE,mBAAoBnrB,MACnCm6B,EAAWhP,EAAE,sBAAuBnrB,MACtCk6B,EAASE,QAAQ,MAAM9B,SAAS,YAChC6B,EAASC,QAAQ,MAAM9B,SAAS,kBAOhCS,EAAQO,KAAK,UAAUJ,SAAS,kBAClCH,EAAQT,SAAS,eAMfS,EAAQG,SAAS,gBAEnB/N,EAAE,wBAAwBmO,KAAK,UAAUH,KAAK,sCAC9ChO,EAAE,mBAAmBgO,KAAK,gCAC1BhO,EAAE,qBAAqBkP,QAAQ,mFACtBtB,EAAQG,SAAS,iBAC1BH,EAAQV,YAAY,WAEpBU,EAAQT,SAAS,WAMfS,EAAQG,SAAS,kBACnB/N,EAAEhrB,QAAQg4B,GAAG,UAAU,WACrB,IAAImC,EAAgBnP,EAAE,cAAcoP,cAChBpP,EAAEhrB,QAAQq6B,YAEdF,EACdnP,EAAE,iBAAiBkN,YAAY,iBAE/BlN,EAAE,iBAAiBmN,SAAS,oBAK9BS,EAAQG,SAAS,uBACnB/N,EAAEhrB,QAAQg4B,GAAG,UAAU,WACrB,IAAImC,EAAgBnP,EAAE,cAAcoP,cAChBpP,EAAEhrB,QAAQq6B,YAEdF,GACdnP,EAAE,iBAAiBkN,YAAY,sBAC/BlN,EAAE,iBAAiBmN,SAAS,qBAE5BnN,EAAE,iBAAiBkN,YAAY,mBAC/BlN,EAAE,iBAAiBmN,SAAS,0BAYlCnN,EAAE,aAAasI,MAAK,WAClB3kB,EAAOjF,MAAM,yCACbshB,EAAE,gBAAiBnrB,MAAMm4B,GAAG,SAAS,SAASj4B,GAE5C4O,EAAOjF,MAAM,6BACbshB,EAAE,aAAasP,QAAQ,CAACD,UAAW,GAAI,GACvCrP,EAAE,eAAeuP,YAAY,OAAQ,SAAS,WACvCvP,EAAE,eAAewP,GAAG,aAEvBxP,EAAE,QAAQmN,SAAS,kBAEnBnN,EAAE,QAAQ5rB,KAAK,aAAa,SAASW,GAAGA,EAAE+4B,sBAG1C9N,EAAE,QAAQkN,YAAY,kBAEtBlN,EAAE,QAAQyP,OAAO,uBAMzB9rB,EAAOjF,MAAM,0CACbshB,EAAE,mCAAmCgN,GAAG,SAAS,SAASj4B,GACxDA,EAAE+4B,iBACFnqB,EAAOjF,MAAM,8BACbshB,EAAE,eAAe0P,QAAQ,OAAQ,SACjC1P,EAAE,aAAasP,QAAQ,CAACD,UAAW,GAAI,GAEvCrP,EAAE,QAAQkN,YAAY,kBAEtBlN,EAAE,QAAQyP,OAAO,aACjB16B,EAAE46B,qBAMJ3P,EAAE,kCAAkCsI,MAAK,WACvC3kB,EAAOjF,MAAM,gDACbshB,EAAE,oBAAqBnrB,MAAMm4B,GAAG,SAAS,SAASj4B,GAGhD4O,EAAOjF,MAAM,oCAGbshB,EAAE,6BAA6B4P,SACuB,SAAlD5P,EAAE,6BAA6B6P,IAAI,YACrC7P,EAAE,aAAasP,QAAQ,CAACD,UAAW,GAAI,cAS7CrP,EAAE,QAAQ8P,UAAW,gCAOvBvC,mBAAqB,SAAUF,EAAgBC,GAE7C,IAaIyC,EACAC,EACAC,EACAC,EAhBAC,EAAsB9C,EACtB+C,EAAsB9C,EAEtBM,EAAsB5N,EAAE,wBAExBqQ,GADsBr7B,OAAOs7B,WAAW,4BAA4BC,QAC9CvQ,EAAEhrB,QAAQijB,SAEhCuY,GADsBxQ,EAAE,OAAO/H,QACT2V,EAAQO,KAAK,UAAUzf,KAAK,OAClD+hB,EAAsB7C,EAAQO,KAAK,UAAUzf,KAAK,OAElDgiB,EAAsB,IAAKN,EAAeO,iBAAkB,YAC5DC,EAAsBR,EAAeS,gBA2NzC,GA1KKR,IAjBHL,EADkD,OAA/CG,EAAkBW,QAAQC,iBArBP,IAuBmC,OAA/CZ,EAAkBW,QAAQC,iBAtBd,IAwBmC,OAA/CZ,EAAkBW,QAAQC,iBAvBd,IAFA,MA0CtB/Q,EAAE0Q,GAAcvD,SAAS,mBACzBnN,EAAE0Q,GAAcxD,YAAY,QAC5BlN,EAAE,6BAA6BmN,SAAS,QAGxCnN,EAAE,kCAAkCsI,MAAK,WACvCtI,EAAE,iBAAkBnrB,MAAMq4B,YAAY,YACtClN,EAAE,cAAenrB,MAAMm8B,IAAI,cAC3BhR,EAAE,cAAenrB,MAAMm8B,IAAI,cAC3BhR,EAAE,oBAAqBnrB,MAAMm8B,IAAI,SACjChR,EAAE,oBAAqBnrB,MAAMm4B,GAAG,SAAS,SAAUj4B,GAEjDirB,EAAEnrB,MAAMo6B,QAAQ,eAAed,KAAK,kBAAkBQ,QAAQsC,OAAOC,aACrElR,EAAE,kBAAkBsI,MAAK,WACvBtI,EAAE,OAAQnrB,MAAMq4B,YAAY,aAC5BlN,EAAE,OAAQnrB,MAAMs4B,SAAS,YACzBnN,EAAE,oBAAoBkN,YAAY,MAClClN,EAAE,oBAAoBkN,YAAY,cAItClN,EAAEnrB,MAAMm4B,GAAG,cAAc,WACvBhN,EAAE,iBAAkBnrB,MAAMo8B,OAAOE,UACjCnR,EAAE,cAAenrB,MAAMq4B,YAAY,cAKvClN,EAAE,iBAAiBD,QAOTsQ,EAAaL,IAIvBhQ,EAAE,6BAA6BkN,YAAY,QAC3ClN,EAAE,iBAAiBpgB,OAKnBogB,EAAE,uBAAuBgN,GAAG,cAAc,WACxC,GAAIhN,EAAE,QAAQ+N,SAAS,kBACrB,OAAO,EAEP/N,EAAE,QAAQmN,SAAS,qBAIvBnN,EAAE,uBAAuBgN,GAAG,cAAc,WAEpChN,EAAE,QAAQ+N,SAAS,mBACrB/N,EAAE,QAAQkN,YAAY,qBAK1BlN,EAAE,uBAAuBoR,OAAM,WAC7B,IACIC,EADcrR,EAAEnrB,MACSs5B,KAAK,MAIb,GAAhBkD,EAAMj7B,QACTi7B,EAAMlE,SAAS,sBAMnBnN,EAAE0Q,GAAcxD,YAAY,mBAC5BlN,EAAE0Q,GAAcvD,SAAS,QAOzBnN,EAAE,+BAA+BsI,MAAK,WACpCtI,EAAE,oBAAqBnrB,MAAMm8B,IAAI,SACjChR,EAAE,oBAAqBnrB,MAAMm4B,GAAG,SAAS,SAAUj4B,OAInDirB,EAAE,eAAgBnrB,MAAMyzB,MAAK,WAC3BtI,EAAE,SAAUnrB,MAAMm8B,IAAI,SACtBhR,EAAE,oBAAqBnrB,MAAMm8B,IAAI,SACjChR,EAAE,YAAYkN,YAAY,eAE5BlN,EAAE,iBAAkBnrB,MAAMs4B,SAAS,YAEnCnN,EAAE,cAAenrB,MAAMm4B,GAAG,cAAc,WACtC+C,EAAY/P,EAAE,iBAAkBnrB,MAAMy8B,GAAG,GACzCrB,EAAYjQ,EAAEnrB,MAEdk7B,EAAM7C,YAAYuD,GAClBV,EAAM7C,YAAY,QAClB+C,EAAU9C,SAAS,QAEnB+C,EAAgBl7B,OAAO6e,YAAW,WAC5Boc,EAAUlC,SAAS,UACrBgC,EAAMkB,OAAOM,SAASpE,SAASqD,GAC/BT,EAAM5C,SAAS,QACf8C,EAAU9C,SAAS,WAEpByD,MAGL5Q,EAAE,cAAenrB,MAAMm4B,GAAG,cAAc,WACtCh4B,OAAOw8B,aAAatB,GACpBlQ,EAAEnrB,MAAMq4B,YAAY,QAAQA,YAAY,QAExClN,EAAE,iBAAkBnrB,MAAMq4B,YAAY,QACtClN,EAAE,iBAAkBnrB,MAAMy8B,GAAG,GAAGpE,YAAYsD,GAC5CxQ,EAAE,iBAAkBnrB,MAAMy8B,GAAG,GAAGL,OAAOE,UAAUhE,SAASsD,MAG5DzQ,EAAEnrB,MAAMm4B,GAAG,cAAc,WACvBh4B,OAAOw8B,aAAatB,GACpBlQ,EAAE,cAAenrB,MAAMq4B,YAAY,QACnClN,EAAE,iBAAkBnrB,MAAMq4B,YAAY,QACtClN,EAAE,iBAAkBnrB,MAAMq4B,YAAYsD,GACtCxQ,EAAE,iBAAkBnrB,MAAMy8B,GAAG,GAAGL,OAAOE,UAAUhE,SAASsD,UAShEzQ,EAAE,kCAAkCsI,MAAK,WAEvCtI,EAAE,oBAAqBnrB,MAAMm8B,IAAI,SACjChR,EAAE,oBAAqBnrB,MAAMm4B,GAAG,SAAS,SAAUj4B,OAInDirB,EAAE,iBAAkBnrB,MAAMs4B,SAAS,YACnCnN,EAAE,cAAenrB,MAAMm4B,GAAG,cAAc,WACtChN,EAAE,iBAAkBnrB,MAAMy8B,GAAG,GAAGpE,YAAYuD,GAC5CzQ,EAAE,iBAAkBnrB,MAAMy8B,GAAG,GAAGL,OAAOM,SAASpE,SAASqD,GACzDxQ,EAAEnrB,MAAMs4B,SAAS,WAInBnN,EAAE,cAAenrB,MAAMm4B,GAAG,cAAc,WACtChN,EAAE,iBAAkBnrB,MAAMy8B,GAAG,GAAGpE,YAAYsD,GAC5CxQ,EAAE,iBAAkBnrB,MAAMy8B,GAAG,GAAGL,OAAOE,UAAUhE,SAASsD,GAC1DzQ,EAAEnrB,MAAMq4B,YAAY,WAGtBlN,EAAEnrB,MAAMm4B,GAAG,cAAc,WACvBhN,EAAE,iBAAkBnrB,MAAMq4B,YAAYsD,GACtCxQ,EAAE,iBAAkBnrB,MAAMy8B,GAAG,GAAGL,OAAOE,UAAUhE,SAASsD,GAC1DzQ,EAAE,cAAenrB,MAAMq4B,YAAY,cAQnCU,EAAQG,SAAS,eAAe,CAClC,IAAI0D,EAAezR,EAAEhrB,QAAQkjB,SAC3BwZ,EAAe1R,EAAEhrB,QAAQijB,QAE3B+H,EAAE,aAAa6P,IAAI,SAAU4B,EAAe,MAC5CzR,EAAE,mBAAmB6P,IAAI,SAAU4B,EAAe,MAClDzR,EAAE,mBAAmB6P,IAAI,QAAS6B,EAAc,MAEhD1R,EAAE,oBAAoBmN,SAAS,YAC/BnN,EAAE,kBAAkBsI,MAAK,WACvB,IAAIqJ,EAAQ3R,EAAEnrB,MAAM6Z,KAAK,UACzBsR,EAAEnrB,MAAMm8B,IAAI,SACZhR,EAAEnrB,MAAMm4B,GAAG,SAAS,SAASj4B,GAC3BA,EAAE+4B,iBACF9N,EAAE2R,GAAOzE,YAAYuD,GACrBzQ,EAAE2R,GAAOxE,SAAS,MAClBnN,EAAE2R,GAAOxE,SAASqD,MAKpBxQ,EAAE,sBAAsBgN,GAAG,SAAS,SAASj4B,GAC3CA,EAAE+4B,iBACF9N,EAAE2R,GAAOxE,SAASsD,GAClB5c,YAAW,WACTmM,EAAE2R,GAAOzE,YAAY,MACrBlN,EAAE2R,GAAOzE,YAAYsD,KACpB,aAWXhD,aAAe,WACb,IAAII,EAAU5N,EAAE,wBAGhB,GAFc4N,EAAQG,SAAS,iBAEhB,CAEb,IAAI6D,EAAahE,EAAQ1V,SACzB8H,EAAE,gBAAgB9H,OAAO0Z,GAGzB,IAAIC,EAAY7R,EAAE,gBAAgB8R,SAASC,IAC3C/R,EAAEhrB,QAAQg4B,GAAG,UAAU,WACLhN,EAAEhrB,QAAQq6B,YACXwC,EACbjE,EAAQT,SAAS,WAEjBS,EAAQV,YAAY,gBAU5B8E,cAAe,SAAUC,GACvB,IACIC,EADAvuB,EAASxO,eAAekQ,UAAU,mCAatC,OATA6sB,EAAeh7B,KAAKC,UAAU86B,GAC9B7E,EAAe,oBAAsB8E,EACrCvuB,EAAOjF,MAAM0uB,GAGb93B,GAAG68B,cAAcF,GAEjB38B,GAAG88B,aAAaH,IAET,IAvkBI,CA4kBdI,S;;;;;;ACjlBH1/B,EAAOD,SA6DJ2/B,OA3DM,CAKL57B,KAAM,SAAU81B,GAEd,IAAI+F,EAAsB/F,EACtB5oB,EAAsBxO,eAAekQ,UAAU,uBAK/CknB,EAAUvM,EAAE/pB,OAHK,CACnBs8B,aAAmB,GAEiBD,GAEtClF,QAAU,sCACVzpB,EAAOW,KAAK8oB,SAEZv4B,KAAK29B,YAQPA,SAAU,SAAUjG,GAClB,IAAIkG,EAAe,GAIyB,GAA1CzS,EAAE,8BAA8B5pB,SAChCq8B,GAAgB,0FAChBA,GAAgB,4EAClBzS,EAAE,mBAAmBkP,QAAQuD,KAQ/BC,OAAQ,SAAUnG,GAChB,IAAIoG,EAAiCxT,aAAY,WAC1B,YAAjB7pB,GAAGo3B,YAEuC,GAA1C1M,EAAE,8BAA8B5pB,SAKlC4pB,EAAE,mBAAmBkP,QAFnBuD,6EAGArT,cAAcuT,W,6BC5D1BhgC,EAAOD,QAAU,SAAwB65B,GAGxBvM,EAAE/pB,OAAO,CACtBu2B,IAAK,aACLC,IAAK,cACJF,GAaH,MAAO,CAILqG,OAAQ,SAAWC,EAAQtG,GAEzB,IAAI5oB,EACAypB,EAOJA,EAAU,2BALVzpB,EAASxO,eAAekQ,UAAU,yBAM3Bf,KAAK8oB,GAEZ,IAAI0F,EAAYvG,EAAQuG,SACpBhB,EAAYvF,EAAQuF,OAMxBj9B,KAAKk+B,SAASF,EAAQ,CACpBC,SAAUA,EACVhB,OAAQA,EACR9J,SAAU,OAGZoF,EAAU,wBACVzpB,EAAOW,KAAK8oB,IAMd2F,SAAU,SAAWF,EAAQtG,GAC3B,IAqBIyG,EACAC,EAtBAhzB,EAAQjL,OAAOk+B,YACfC,EAAM,CACRL,SAAUvG,EAAQuG,SAClBhB,OAAQvF,EAAQuF,QAAU,EAC1B9J,SAAUuE,EAAQvE,SAClBoL,OAAQ7G,EAAQ6G,QA+ClB,SAAwBt/B,EAAGu/B,EAAGpgC,EAAGC,GAE/B,OADAY,GAAKZ,EAAI,GACD,EAAUD,EAAI,EAAIa,EAAIA,EAAIu/B,GAClCv/B,KACQb,EAAI,GAAKa,GAAKA,EAAI,GAAK,GAAKu/B,KA7ClCC,EAAM18B,SAAS28B,cAAc,QAAUC,UAAUX,GAAQl7B,MAAM,KAAKO,KAAK,IAAM,MAC/Eu7B,EAA6B,iBAAXZ,EAClBM,EAAIrB,QACJe,EACKS,GAAOA,EAAII,wBAAwB3B,KAAQ,IAC1Cn7B,SAAS+8B,gBAAgBtE,WAAaz4B,SAAS8qB,KAAK2N,YAC1DwD,EACAC,EAAmC,mBAAjBK,EAAIL,SACtBK,EAAIL,SAASW,GACbN,EAAIL,SAKR,SAASc,EAAM5vB,GACbivB,EAAcjvB,EAAOgvB,EAErBh+B,OAAO+9B,SAAS,EAAGI,EAAIC,OAAOH,EAAahzB,EAAOwzB,EAAUX,IAExDG,EAAcH,EAAYe,sBAAsBD,IAIpD5+B,OAAO+9B,SAAS,EAAG9yB,EAAQwzB,GAW3BzT,EAAEhrB,QAAQq6B,UAAUrP,EAAEhrB,QAAQq6B,YAAY,GAC1CrP,EAAEhrB,QAAQq6B,UAAUrP,EAAEhrB,QAAQq6B,YAAY,GAEd,mBAAjB8D,EAAInL,UAA2BmL,EAAInL,YAxBhD6L,uBAAsB,SAAU7vB,GAAQgvB,EAAYhvB,EAAM4vB,EAAK5vB,QAjFpD,CAsHdquB,S,6BCxIH,IAAIyB,EAA0B,CAC5BC,OAAQ,KACRC,MAAO,KACPC,UAAW,KACXC,YAAa,KACbC,OAAQ,KACRC,eAAgB,KAChBC,aAAc,KACdC,SAAU,KACVV,KAAM,EACNW,UAAW,SACXC,UAAU,EACVC,eAAgB,GAGdC,EAAuB,CACzB5B,SAAU,IACV6B,MAAO,EACPC,SAAU,EACVxB,OAAQ,wBACR9E,MAAO,GAGLuG,EAAkB,CAAC,aAAc,aAAc,aAAc,SAAU,UAAW,UAAW,UAAW,QAAS,SAAU,SAAU,SAAU,OAAQ,QAAS,QAAS,cAAe,SAAU,YAIlMC,EAAQ,CACVC,IAAK,GACLC,QAAS,IAKX,SAASC,EAAOj4B,EAAKk4B,EAAKx5B,GACxB,OAAOhB,KAAKw6B,IAAIx6B,KAAKgB,IAAIsB,EAAKk4B,GAAMx5B,GAGtC,SAASy5B,EAAe14B,EAAKE,GAC3B,OAAOF,EAAIqa,QAAQna,IAAS,EAG9B,SAASy4B,EAAeC,EAAMv3B,GAC5B,OAAOu3B,EAAKx3B,MAAM,KAAMC,GAG1B,IAAI0xB,EAAK,CACPzyB,IAAK,SAAUkP,GAAK,OAAOrT,MAAM08B,QAAQrpB,IACzCvT,IAAK,SAAUuT,GAAK,OAAOkpB,EAAe7hC,OAAOkB,UAAU0G,SAASnI,KAAKkZ,GAAI,WAC7EspB,IAAK,SAAUtpB,GAAK,OAAOujB,EAAG92B,IAAIuT,IAAMA,EAAExX,eAAe,gBACzD+gC,IAAK,SAAUvpB,GAAK,OAAOA,aAAawpB,YACxCC,IAAK,SAAUzpB,GAAK,OAAOA,aAAa0pB,kBACxCC,IAAK,SAAU3pB,GAAK,OAAOA,EAAEoV,UAAYmO,EAAGgG,IAAIvpB,IAChDxP,IAAK,SAAUwP,GAAK,MAAoB,iBAANA,GAClC4pB,IAAK,SAAU5pB,GAAK,MAAoB,mBAANA,GAClC6pB,IAAK,SAAU7pB,GAAK,YAAoB,IAANA,GAClC8pB,IAAK,SAAU9pB,GAAK,MAAO,qCAAqC7U,KAAK6U,IACrE+pB,IAAK,SAAU/pB,GAAK,MAAO,OAAO7U,KAAK6U,IACvCgqB,IAAK,SAAUhqB,GAAK,MAAO,OAAO7U,KAAK6U,IACvCiqB,IAAK,SAAUjqB,GAAK,OAAQujB,EAAGuG,IAAI9pB,IAAMujB,EAAGwG,IAAI/pB,IAAMujB,EAAGyG,IAAIhqB,IAC7D9X,IAAK,SAAU8X,GAAK,OAAQ6nB,EAAwBr/B,eAAewX,KAAOyoB,EAAqBjgC,eAAewX,IAAY,YAANA,GAAyB,cAANA,IAKzI,SAASkqB,EAAsBtO,GAC7B,IAAIuO,EAAQ,cAAcpnB,KAAK6Y,GAC/B,OAAOuO,EAAQA,EAAM,GAAGz+B,MAAM,KAAK0+B,KAAI,SAAU3hC,GAAK,OAAOi2B,WAAWj2B,MAAS,GAKnF,SAAS4hC,EAAOzO,EAAQiL,GAEtB,IAAI/vB,EAASozB,EAAsBtO,GAC/B0O,EAAOtB,EAAOzF,EAAGsG,IAAI/yB,EAAO,IAAM,EAAIA,EAAO,GAAI,GAAI,KACrDyzB,EAAYvB,EAAOzF,EAAGsG,IAAI/yB,EAAO,IAAM,IAAMA,EAAO,GAAI,GAAI,KAC5D0zB,EAAUxB,EAAOzF,EAAGsG,IAAI/yB,EAAO,IAAM,GAAKA,EAAO,GAAI,GAAI,KACzD2zB,EAAYzB,EAAOzF,EAAGsG,IAAI/yB,EAAO,IAAM,EAAIA,EAAO,GAAI,GAAI,KAC1D4zB,EAAKj8B,KAAKk8B,KAAKJ,EAAYD,GAC3BM,EAAOJ,GAAW,EAAI/7B,KAAKk8B,KAAKJ,EAAYD,IAC5CO,EAAKD,EAAO,EAAIF,EAAKj8B,KAAKk8B,KAAK,EAAIC,EAAOA,GAAQ,EAElDxD,EAAIwD,EAAO,GAAKA,EAAOF,EAAMD,GAAYI,GAAMJ,EAAWC,EAE9D,SAASI,EAAOjjC,GACd,IAAIkjC,EAAWlE,EAAYA,EAAWh/B,EAAK,IAAOA,EAMlD,OAJEkjC,EADEH,EAAO,EACEn8B,KAAKu8B,KAAKD,EAAWH,EAAOF,IANnC,EAM8Cj8B,KAAKw8B,IAAIJ,EAAKE,GAAY3D,EAAI34B,KAAKy8B,IAAIL,EAAKE,KAN1F,EAQY3D,EAAI2D,GAAYt8B,KAAKu8B,KAAKD,EAAWL,GAE7C,IAAN7iC,GAAiB,IAANA,EAAkBA,EAC1B,EAAIkjC,EAuBb,OAAOlE,EAAWiE,EApBlB,WACE,IAAIK,EAAStC,EAAME,QAAQnN,GAC3B,GAAIuP,EAAU,OAAOA,EAIrB,IAHA,IACIC,EAAU,EACVC,EAAO,IAGT,GAAwB,IAApBP,EADJM,GAJU,EAAE,IAOV,KADAC,GACY,GAAM,WAElBA,EAAO,EAGX,IAAIxE,EAAWuE,GAZH,EAAE,GAYmB,IAEjC,OADAvC,EAAME,QAAQnN,GAAUiL,EACjBA,GASX,SAASyE,EAAMA,GAGb,YAFe,IAAVA,IAAmBA,EAAQ,IAEzB,SAAUzjC,GAAK,OAAO4G,KAAK88B,KAAMvC,EAAOnhC,EAAG,KAAU,GAAMyjC,IAAU,EAAIA,IAKlF,IAqFME,EAEAC,EAvFFC,EAAU,WAKZ,SAASC,EAAEC,EAAKC,GAAO,OAAO,EAAM,EAAMA,EAAM,EAAMD,EACtD,SAASE,EAAEF,EAAKC,GAAO,OAAO,EAAMA,EAAM,EAAMD,EAChD,SAASG,EAAEH,GAAY,OAAO,EAAMA,EAEpC,SAASI,EAAWC,EAAIL,EAAKC,GAAO,QAASF,EAAEC,EAAKC,GAAOI,EAAKH,EAAEF,EAAKC,IAAQI,EAAKF,EAAEH,IAAQK,EAC9F,SAASC,EAASD,EAAIL,EAAKC,GAAO,OAAO,EAAMF,EAAEC,EAAKC,GAAOI,EAAKA,EAAK,EAAMH,EAAEF,EAAKC,GAAOI,EAAKF,EAAEH,GAmElG,OA7CA,SAAgBO,EAAKC,EAAKC,EAAKC,GAE7B,GAAM,GAAKH,GAAOA,GAAO,GAAK,GAAKE,GAAOA,GAAO,EAAjD,CACA,IAAIE,EAAe,IAAIC,aAjCF,IAmCrB,GAAIL,IAAQC,GAAOC,IAAQC,EACzB,IAAK,IAAI3lC,EAAI,EAAGA,EApCG,KAoCqBA,EACtC4lC,EAAa5lC,GAAKqlC,EApCF,GAoCarlC,EAAqBwlC,EAAKE,GA8B3D,OAAO,SAAUI,GACf,OAAIN,IAAQC,GAAOC,IAAQC,GACjB,IAANG,GAAiB,IAANA,EAD0BA,EAElCT,EAAWU,EAASD,GAAIL,EAAKE,IA7BtC,SAASI,EAASC,GAMhB,IAJA,IAAIC,EAAgB,EAChBC,EAAgB,EACHC,KAEVD,GAAgCN,EAAaM,IAAkBF,IAAME,EAC1ED,GA/CgB,KAkDhBC,EAEF,IACIE,EAAYH,EArDE,KAoDND,EAAKJ,EAAaM,KAAmBN,EAAaM,EAAgB,GAAKN,EAAaM,KAE5FG,EAAed,EAASa,EAAWZ,EAAKE,GAE5C,OAAIW,GAAgB,KArCxB,SAA8BL,EAAIM,EAASd,EAAKE,GAC9C,IAAK,IAAI1lC,EAAI,EAAGA,EAAI,IAAKA,EAAG,CAC1B,IAAIumC,EAAehB,EAASe,EAASd,EAAKE,GAC1C,GAAqB,IAAjBa,EAAwB,OAAOD,EAEnCA,IADejB,EAAWiB,EAASd,EAAKE,GAAOM,GACzBO,EAExB,OAAOD,EA+BIE,CAAqBR,EAAII,EAAWZ,EAAKE,GACtB,IAAjBW,EACFD,EAlDb,SAAyBJ,EAAIS,EAAIC,EAAIlB,EAAKE,GACxC,IAAIiB,EAAUC,EAAU5mC,EAAI,EAC5B,IAEE2mC,EAAWtB,EADXuB,EAAWH,GAAMC,EAAKD,GAAM,EACIjB,EAAKE,GAAOM,GAC7B,EAAOU,EAAKE,EAAmBH,EAAKG,QAC5C9+B,KAAK+U,IAAI8pB,GAAY,QAAe3mC,EAAI,IACjD,OAAO4mC,EA6CIC,CAAgBb,EAAIC,EAAeA,EA7D1B,GA6D2DT,EAAKE,KAhE1E,GAiFVoB,GAIEjC,EAAQ,CAAEkC,OAAQ,WAAc,OAAO,SAAU7lC,GAAK,OAAOA,KAE7D4jC,EAAkB,CACpBkC,KAAM,WAAc,OAAO,SAAU9lC,GAAK,OAAO,EAAI4G,KAAKw8B,IAAIpjC,EAAI4G,KAAKm/B,GAAK,KAC5EC,KAAM,WAAc,OAAO,SAAUhmC,GAAK,OAAO,EAAI4G,KAAKk8B,KAAK,EAAI9iC,EAAIA,KACvEimC,KAAM,WAAc,OAAO,SAAUjmC,GAAK,OAAOA,EAAIA,GAAK,EAAIA,EAAI,KAClEkmC,OAAQ,WAAc,OAAO,SAAUlmC,GAErC,IADA,IAAImmC,EAAM5G,EAAI,EACPv/B,IAAOmmC,EAAOv/B,KAAK+sB,IAAI,IAAK4L,IAAM,GAAK,KAC9C,OAAO,EAAI34B,KAAK+sB,IAAI,EAAG,EAAI4L,GAAK,OAAS34B,KAAK+sB,KAAa,EAAPwS,EAAW,GAAM,GAAKnmC,EAAG,KAE/EomC,QAAS,SAAUC,EAAWC,QACT,IAAdD,IAAuBA,EAAY,QACxB,IAAXC,IAAoBA,EAAS,IAElC,IAAInuB,EAAIgpB,EAAOkF,EAAW,EAAG,IACzBzlC,EAAIugC,EAAOmF,EAAQ,GAAI,GAC3B,OAAO,SAAUtmC,GACf,OAAc,IAANA,GAAiB,IAANA,EAAWA,GAC3BmY,EAAIvR,KAAK+sB,IAAI,EAAG,IAAM3zB,EAAI,IAAM4G,KAAKy8B,KAAOrjC,EAAI,EAAMY,GAAe,EAAVgG,KAAKm/B,IAAUn/B,KAAK2/B,KAAK,EAAIpuB,KAAkB,EAAVvR,KAAKm/B,IAAWnlC,MAKvG,CAAC,OAAQ,QAAS,QAAS,QAAS,QAE1C4lC,SAAQ,SAAUnnC,EAAMP,GAClC8kC,EAAgBvkC,GAAQ,WAAc,OAAO,SAAUW,GAAK,OAAO4G,KAAK+sB,IAAI3zB,EAAGlB,EAAI,QAGrFU,OAAO0yB,KAAK0R,GAAiB4C,SAAQ,SAAUnnC,GAC7C,IAAIonC,EAAS7C,EAAgBvkC,GAC7BskC,EAAM,SAAWtkC,GAAQonC,EACzB9C,EAAM,UAAYtkC,GAAQ,SAAU8Y,EAAGonB,GAAK,OAAO,SAAUv/B,GAAK,OAAO,EAAIymC,EAAOtuB,EAAGonB,EAAVkH,CAAa,EAAIzmC,KAC9F2jC,EAAM,YAActkC,GAAQ,SAAU8Y,EAAGonB,GAAK,OAAO,SAAUv/B,GAAK,OAAOA,EAAI,GAAMymC,EAAOtuB,EAAGonB,EAAVkH,CAAiB,EAAJzmC,GAAS,EACzG,EAAIymC,EAAOtuB,EAAGonB,EAAVkH,EAAkB,EAALzmC,EAAS,GAAK,OAG5B2jC,GAIT,SAAS+C,EAAapH,EAAQN,GAC5B,GAAItD,EAAGqG,IAAIzC,GAAW,OAAOA,EAC7B,IAAIjgC,EAAOigC,EAAOz7B,MAAM,KAAK,GACzB8iC,EAAOf,EAAOvmC,GACd2K,EAAOq4B,EAAsB/C,GACjC,OAAQjgC,GACN,IAAK,SAAW,OAAOmjC,EAAOlD,EAAQN,GACtC,IAAK,cAAgB,OAAOsC,EAAeuC,EAAQ75B,GACnD,IAAK,QAAU,OAAOs3B,EAAemC,EAAOz5B,GAC5C,QAAU,OAAOs3B,EAAeqF,EAAM38B,IAM1C,SAAS48B,EAAaj+B,GACpB,IAEE,OADY7F,SAAS+jC,iBAAiBl+B,GAEtC,MAAM1H,GACN,QAMJ,SAAS6lC,EAAY79B,EAAKirB,GAIxB,IAHA,IAAIlvB,EAAMiE,EAAI3G,OACVykC,EAAU1kC,UAAUC,QAAU,EAAID,UAAU,QAAK,EACjDD,EAAS,GACJtD,EAAI,EAAGA,EAAIkG,EAAKlG,IACvB,GAAIA,KAAKmK,EAAK,CACZ,IAAIC,EAAMD,EAAInK,GACVo1B,EAASj1B,KAAK8nC,EAAS79B,EAAKpK,EAAGmK,IACjC7G,EAAO2C,KAAKmE,GAIlB,OAAO9G,EAGT,SAAS4kC,EAAa/9B,GACpB,OAAOA,EAAIorB,QAAO,SAAUlc,EAAGonB,GAAK,OAAOpnB,EAAEzS,OAAOg2B,EAAGzyB,IAAIs2B,GAAKyH,EAAazH,GAAKA,KAAO,IAG3F,SAAS0H,EAAQ1nC,GACf,OAAIm8B,EAAGzyB,IAAI1J,GAAaA,GACpBm8B,EAAG/yB,IAAIpJ,KAAMA,EAAIqnC,EAAarnC,IAAMA,GACpCA,aAAa2nC,UAAY3nC,aAAa4nC,eAAyB,GAAGhjC,MAAMlF,KAAKM,GAC1E,CAACA,IAGV,SAAS6nC,EAAcn+B,EAAKC,GAC1B,OAAOD,EAAIo+B,MAAK,SAAUlvB,GAAK,OAAOA,IAAMjP,KAK9C,SAASo+B,EAAY/nC,GACnB,IAAIgoC,EAAQ,GACZ,IAAK,IAAI3mC,KAAKrB,EAAKgoC,EAAM3mC,GAAKrB,EAAEqB,GAChC,OAAO2mC,EAGT,SAASC,EAAmBC,EAAIC,GAC9B,IAAInoC,EAAI+nC,EAAYG,GACpB,IAAK,IAAI7mC,KAAK6mC,EAAMloC,EAAEqB,GAAK8mC,EAAG/mC,eAAeC,GAAK8mC,EAAG9mC,GAAK6mC,EAAG7mC,GAC7D,OAAOrB,EAGT,SAASooC,EAAaF,EAAIC,GACxB,IAAInoC,EAAI+nC,EAAYG,GACpB,IAAK,IAAI7mC,KAAK8mC,EAAMnoC,EAAEqB,GAAK86B,EAAGsG,IAAIyF,EAAG7mC,IAAM8mC,EAAG9mC,GAAK6mC,EAAG7mC,GACtD,OAAOrB,EA+CT,SAASqoC,EAAW1+B,GAClB,OAAIwyB,EAAGwG,IAAIh5B,IA1CPg5B,EAAM,kCAAkChnB,KAD3B2sB,EA2CmB3+B,IAzCtB,QAAWg5B,EAAI,GAAM,MAAS2F,EA0CxCnM,EAAGuG,IAAI/4B,GAvCb,SAAmB4+B,GACjB,IACI7F,EAAM6F,EAASrlC,QADT,oCACsB,SAAUvD,EAAGU,EAAGkB,EAAGy+B,GAAK,OAAO3/B,EAAIA,EAAIkB,EAAIA,EAAIy+B,EAAIA,KAC/E2C,EAAM,4CAA4ChnB,KAAK+mB,GAI3D,MAAQ,QAHAx4B,SAASy4B,EAAI,GAAI,IAGH,IAFdz4B,SAASy4B,EAAI,GAAI,IAEO,IADxBz4B,SAASy4B,EAAI,GAAI,IACiB,MAgChB6F,CAAU7+B,GAChCwyB,EAAGyG,IAAIj5B,GA9Bb,SAAmB8+B,GACjB,IAaIpoC,EAAGkB,EAAGy+B,EAbN4C,EAAM,0CAA0CjnB,KAAK8sB,IAAa,uDAAuD9sB,KAAK8sB,GAC9HzvB,EAAI9O,SAAS04B,EAAI,GAAI,IAAM,IAC3BthC,EAAI4I,SAAS04B,EAAI,GAAI,IAAM,IAC3BpjC,EAAI0K,SAAS04B,EAAI,GAAI,IAAM,IAC3BhqB,EAAIgqB,EAAI,IAAM,EAClB,SAAS8F,EAAQrnC,EAAGsnC,EAAGloC,GAGrB,OAFIA,EAAI,IAAKA,GAAK,GACdA,EAAI,IAAKA,GAAK,GACdA,EAAI,EAAE,EAAYY,EAAc,GAATsnC,EAAItnC,GAASZ,EACpCA,EAAI,GAAckoC,EAClBloC,EAAI,EAAE,EAAYY,GAAKsnC,EAAItnC,IAAM,EAAE,EAAIZ,GAAK,EACzCY,EAGT,GAAS,GAALC,EACFjB,EAAIkB,EAAIy+B,EAAIxgC,MACP,CACL,IAAImpC,EAAInpC,EAAI,GAAMA,GAAK,EAAI8B,GAAK9B,EAAI8B,EAAI9B,EAAI8B,EACxCD,EAAI,EAAI7B,EAAImpC,EAChBtoC,EAAIqoC,EAAQrnC,EAAGsnC,EAAG3vB,EAAI,EAAE,GACxBzX,EAAImnC,EAAQrnC,EAAGsnC,EAAG3vB,GAClBgnB,EAAI0I,EAAQrnC,EAAGsnC,EAAG3vB,EAAI,EAAE,GAE1B,MAAQ,QAAe,IAAJ3Y,EAAW,IAAW,IAAJkB,EAAW,IAAW,IAAJy+B,EAAW,IAAMpnB,EAAI,IAMlDgwB,CAAUj/B,QAApC,EA7CF,IAAmB2+B,EACb3F,EAiDN,SAASkG,EAAQl/B,GACf,IAAIrF,EAAQ,6GAA6GqX,KAAKhS,GAC9H,GAAIrF,EAAS,OAAOA,EAAM,GAU5B,SAASwkC,EAAiBn/B,EAAKo/B,GAC7B,OAAK5M,EAAGqG,IAAI74B,GACLA,EAAIo/B,EAAWvJ,OAAQuJ,EAAWnZ,GAAImZ,EAAWC,OAD7Br/B,EAI7B,SAASs/B,EAAanb,EAAIob,GACxB,OAAOpb,EAAGmb,aAAaC,GAGzB,SAASC,EAAgBrb,EAAIttB,EAAO4oC,GAElC,GAAIvB,EAAc,CAACuB,EAAM,MAAO,MAAO,QADvBP,EAAQroC,IACsC,OAAOA,EACrE,IAAIujC,EAAStC,EAAMC,IAAIlhC,EAAQ4oC,GAC/B,IAAKjN,EAAGsG,IAAIsB,GAAW,OAAOA,EAC9B,IACIsF,EAAS9lC,SAASiqB,cAAcM,EAAG6B,SACnC2Z,EAAYxb,EAAGZ,YAAeY,EAAGZ,aAAe3pB,SAAauqB,EAAGZ,WAAa3pB,SAAS8qB,KAC1Fib,EAAS/b,YAAY8b,GACrBA,EAAOxc,MAAMoB,SAAW,WACxBob,EAAOxc,MAAMjI,MALE,IAKiBwkB,EAChC,IAAIG,EANW,IAMSF,EAAOG,YAC/BF,EAASnc,YAAYkc,GACrB,IAAII,EAAgBF,EAASjS,WAAW92B,GAExC,OADAihC,EAAMC,IAAIlhC,EAAQ4oC,GAAQK,EACnBA,EAGT,SAASC,EAAY5b,EAAIob,EAAME,GAC7B,GAAIF,KAAQpb,EAAGjB,MAAO,CACpB,IAAI8c,EAAoBT,EAAKhmC,QAAQ,kBAAmB,SAAS8f,cAC7DxiB,EAAQstB,EAAGjB,MAAMqc,IAASU,iBAAiB9b,GAAI+b,iBAAiBF,IAAsB,IAC1F,OAAOP,EAAOD,EAAgBrb,EAAIttB,EAAO4oC,GAAQ5oC,GAIrD,SAASspC,EAAiBhc,EAAIob,GAC5B,OAAI/M,EAAGoG,IAAIzU,KAAQqO,EAAGkG,IAAIvU,KAAQmb,EAAanb,EAAIob,IAAU/M,EAAGgG,IAAIrU,IAAOA,EAAGob,IAAkB,YAC5F/M,EAAGoG,IAAIzU,IAAO+Z,EAAcrG,EAAiB0H,GAAgB,YAC7D/M,EAAGoG,IAAIzU,IAAiB,cAATob,GAAwBQ,EAAY5b,EAAIob,GAAiB,MAC5D,MAAZpb,EAAGob,GAAwB,cAA/B,EAGF,SAASa,EAAqBjc,GAC5B,GAAKqO,EAAGoG,IAAIzU,GAAZ,CAIO,IAHP,IAGInuB,EAHAyJ,EAAM0kB,EAAGjB,MAAMmd,WAAa,GAC5BC,EAAO,oBACPC,EAAa,IAAIC,IACPxqC,EAAIsqC,EAAItuB,KAAKvS,IAAQ8gC,EAAW5mC,IAAI3D,EAAE,GAAIA,EAAE,IAC1D,OAAOuqC,GAGT,SAASE,EAAkBtc,EAAIuc,EAAUtB,EAAYK,GACnD,IAAIkB,EAAaxI,EAAeuI,EAAU,SAAW,EAAI,EA3D3D,SAA0BA,GACxB,OAAIvI,EAAeuI,EAAU,cAA6B,gBAAbA,EAAqC,KAC9EvI,EAAeuI,EAAU,WAAavI,EAAeuI,EAAU,QAAkB,WAArF,EAyD6DE,CAAiBF,GAC1E7pC,EAAQupC,EAAqBjc,GAAI1tB,IAAIiqC,IAAaC,EAKtD,OAJIvB,IACFA,EAAWmB,WAAW7O,KAAK/3B,IAAI+mC,EAAU7pC,GACzCuoC,EAAWmB,WAAX,KAAgCG,GAE3BjB,EAAOD,EAAgBrb,EAAIttB,EAAO4oC,GAAQ5oC,EAGnD,SAASgqC,EAAuBhL,EAAQ6K,EAAUjB,EAAML,GACtD,OAAQe,EAAiBtK,EAAQ6K,IAC/B,IAAK,YAAa,OAAOD,EAAkB5K,EAAQ6K,EAAUtB,EAAYK,GACzE,IAAK,MAAO,OAAOM,EAAYlK,EAAQ6K,EAAUjB,GACjD,IAAK,YAAa,OAAOH,EAAazJ,EAAQ6K,GAC9C,QAAS,OAAO7K,EAAO6K,IAAa,GAIxC,SAASI,EAAiBC,EAAIC,GAC5B,IAAIC,EAAW,gBAAgBjvB,KAAK+uB,GACpC,IAAKE,EAAY,OAAOF,EACxB,IAAIG,EAAIhC,EAAQ6B,IAAO,EACnBrF,EAAI/N,WAAWqT,GACftyB,EAAIif,WAAWoT,EAAGxnC,QAAQ0nC,EAAS,GAAI,KAC3C,OAAQA,EAAS,GAAG,IAClB,IAAK,IAAK,OAAOvF,EAAIhtB,EAAIwyB,EACzB,IAAK,IAAK,OAAOxF,EAAIhtB,EAAIwyB,EACzB,IAAK,IAAK,OAAOxF,EAAIhtB,EAAIwyB,GAI7B,SAASC,EAAcnhC,EAAKy/B,GAC1B,GAAIjN,EAAG0G,IAAIl5B,GAAQ,OAAO0+B,EAAW1+B,GACrC,GAAI,MAAM5F,KAAK4F,GAAQ,OAAOA,EAC9B,IAAIohC,EAAelC,EAAQl/B,GACvBqhC,EAAWD,EAAephC,EAAIpB,OAAO,EAAGoB,EAAI5G,OAASgoC,EAAahoC,QAAU4G,EAChF,OAAIy/B,EAAe4B,EAAW5B,EACvB4B,EAMT,SAASC,EAAYC,EAAIC,GACvB,OAAO9jC,KAAKk8B,KAAKl8B,KAAK+sB,IAAI+W,EAAG9F,EAAI6F,EAAG7F,EAAG,GAAKh+B,KAAK+sB,IAAI+W,EAAG9yB,EAAI6yB,EAAG7yB,EAAG,IAkBpE,SAAS+yB,EAAkBtd,GAIzB,IAHA,IAEIud,EAFAC,EAASxd,EAAGwd,OACZC,EAAc,EAEThsC,EAAI,EAAIA,EAAI+rC,EAAOE,cAAejsC,IAAK,CAC9C,IAAIksC,EAAaH,EAAOI,QAAQnsC,GAC5BA,EAAI,IAAKgsC,GAAeN,EAAYI,EAAaI,IACrDJ,EAAcI,EAEhB,OAAOF,EAUT,SAASI,EAAe7d,GACtB,GAAIA,EAAG6d,eAAkB,OAAO7d,EAAG6d,iBACnC,OAAO7d,EAAG6B,QAAQ3M,eAChB,IAAK,SAAU,OArCnB,SAAyB8K,GACvB,OAAiB,EAAVzmB,KAAKm/B,GAASyC,EAAanb,EAAI,KAoCd8d,CAAgB9d,GACtC,IAAK,OAAQ,OAlCjB,SAAuBA,GACrB,OAAoC,EAA5Bmb,EAAanb,EAAI,SAA8C,EAA7Bmb,EAAanb,EAAI,UAiCrC+d,CAAc/d,GAClC,IAAK,OAAQ,OA/BjB,SAAuBA,GACrB,OAAOmd,EACL,CAAC5F,EAAG4D,EAAanb,EAAI,MAAOzV,EAAG4wB,EAAanb,EAAI,OAChD,CAACuX,EAAG4D,EAAanb,EAAI,MAAOzV,EAAG4wB,EAAanb,EAAI,QA4B5Bge,CAAche,GAClC,IAAK,WAAY,OAAOsd,EAAkBtd,GAC1C,IAAK,UAAW,OAdpB,SAA0BA,GACxB,IAAIwd,EAASxd,EAAGwd,OAChB,OAAOF,EAAkBtd,GAAMmd,EAAYK,EAAOI,QAAQJ,EAAOE,cAAgB,GAAIF,EAAOI,QAAQ,IAY3EK,CAAiBje,IAqB5C,SAASke,EAAaC,EAAQC,GAC5B,IAAI/J,EAAM+J,GAAW,GACjBC,EAAchK,EAAIrU,IAXxB,SAAwBA,GAEtB,IADA,IAAIwb,EAAWxb,EAAGZ,WACXiP,EAAGgG,IAAImH,IACPnN,EAAGgG,IAAImH,EAASpc,aACrBoc,EAAWA,EAASpc,WAEtB,OAAOoc,EAKqB8C,CAAeH,GACvCI,EAAOF,EAAY9L,wBACnBiM,EAAcrD,EAAakD,EAAa,WACxCvnB,EAAQynB,EAAKznB,MACbC,EAASwnB,EAAKxnB,OACd0nB,EAAUpK,EAAIoK,UAAYD,EAAcA,EAAYhoC,MAAM,KAAO,CAAC,EAAG,EAAGsgB,EAAOC,IACnF,MAAO,CACLiJ,GAAIqe,EACJI,QAASA,EACTlH,EAAGkH,EAAQ,GAAK,EAChBl0B,EAAGk0B,EAAQ,GAAK,EAChBh0B,EAAGqM,EAAQ2nB,EAAQ,GACnBvzB,EAAG6L,EAAS0nB,EAAQ,IAiBxB,SAASC,EAAgBhpC,EAAMmgC,GAC7B,SAAS8I,EAAMhO,QACG,IAAXA,IAAoBA,EAAS,GAElC,IAAIj/B,EAAImkC,EAAWlF,GAAU,EAAIkF,EAAWlF,EAAS,EACrD,OAAOj7B,EAAKsqB,GAAG4e,iBAAiBltC,GAElC,IAAI2iC,EAAM6J,EAAaxoC,EAAKsqB,GAAItqB,EAAK2+B,KACjC9gC,EAAIorC,IACJE,EAAKF,GAAO,GACZvB,EAAKuB,EAAM,GACf,OAAQjpC,EAAKtC,UACX,IAAK,IAAK,OAAQG,EAAEgkC,EAAIlD,EAAIkD,GAAKlD,EAAI5pB,EACrC,IAAK,IAAK,OAAQlX,EAAEgX,EAAI8pB,EAAI9pB,GAAK8pB,EAAInpB,EACrC,IAAK,QAAS,OAA8C,IAAvC3R,KAAKulC,MAAM1B,EAAG7yB,EAAIs0B,EAAGt0B,EAAG6yB,EAAG7F,EAAIsH,EAAGtH,GAAWh+B,KAAKm/B,IAM3E,SAASqG,EAAeljC,EAAKy/B,GAG3B,IAAI0D,EAAM,6CACNtsC,EAAQsqC,EAAe3O,EAAG+F,IAAIv4B,GAAOA,EAAI4hC,YAAc5hC,EAAMy/B,GAAQ,GACzE,MAAO,CACL2D,SAAUvsC,EACVwsC,QAASxsC,EAAMuiC,MAAM+J,GAAOtsC,EAAMuiC,MAAM+J,GAAK9J,IAAIh2B,QAAU,CAAC,GAC5DigC,QAAU9Q,EAAG/yB,IAAIO,IAAQy/B,EAAQ5oC,EAAM8D,MAAMwoC,GAAO,IAMxD,SAASI,EAAaC,GAEpB,OAAO5F,EADY4F,EAAW1F,EAAatL,EAAGzyB,IAAIyjC,GAAWA,EAAQnK,IAAI0E,GAAWA,EAAQyF,IAAa,IACxE,SAAUC,EAAMC,EAAKnZ,GAAQ,OAAOA,EAAKzQ,QAAQ2pB,KAAUC,KAG9F,SAASC,EAAeH,GACtB,IAAII,EAASL,EAAaC,GAC1B,OAAOI,EAAOvK,KAAI,SAAUviC,EAAGlB,GAC7B,MAAO,CAACigC,OAAQ/+B,EAAGmvB,GAAIrwB,EAAGypC,MAAOuE,EAAOxqC,OAAQmnC,WAAY,CAAE7O,KAAM0O,EAAqBtpC,QAM7F,SAAS+sC,EAAwBtE,EAAMuE,GACrC,IAAIC,EAAW3F,EAAY0F,GAG3B,GADI,UAAU1pC,KAAK2pC,EAAS3N,UAAW2N,EAASjO,SAAWwD,EAAOyK,EAAS3N,SACvE5D,EAAGzyB,IAAIw/B,GAAO,CAChB,IAAI1pC,EAAI0pC,EAAKnmC,OACS,IAANvD,IAAY28B,EAAG92B,IAAI6jC,EAAK,IAMtCA,EAAO,CAAC1oC,MAAO0oC,GAHV/M,EAAGqG,IAAIiL,EAAchO,YAAaiO,EAASjO,SAAWgO,EAAchO,SAAWjgC,GAMxF,IAAImuC,EAAYxR,EAAGzyB,IAAIw/B,GAAQA,EAAO,CAACA,GACvC,OAAOyE,EAAU3K,KAAI,SAAU4K,EAAGruC,GAChC,IAAI8F,EAAO82B,EAAG92B,IAAIuoC,KAAOzR,EAAG+F,IAAI0L,GAAMA,EAAI,CAACptC,MAAOotC,GAKlD,OAHIzR,EAAGsG,IAAIp9B,EAAIi8B,SAAUj8B,EAAIi8B,MAAS/hC,EAA0B,EAAtBkuC,EAAcnM,OAEpDnF,EAAGsG,IAAIp9B,EAAIk8B,YAAal8B,EAAIk8B,SAAWhiC,IAAMouC,EAAU5qC,OAAS,EAAI0qC,EAAclM,SAAW,GAC1Fl8B,KACN29B,KAAI,SAAUlqB,GAAK,OAAOsvB,EAAatvB,EAAG40B,MA2B/C,SAASG,EAAcJ,EAAe/9B,GACpC,IAAIo+B,EAAa,GACbC,EAAYr+B,EAAOq+B,UAEvB,IAAK,IAAI1sC,KADL0sC,IAAar+B,EAAS04B,EA1B5B,SAA0B2F,GAmBxB,IAlBA,IAAIC,EAAgBzG,EAAYE,EAAasG,EAAU/K,KAAI,SAAUliC,GAAO,OAAOb,OAAO0yB,KAAK7xB,QAAW,SAAUO,GAAK,OAAO86B,EAAGr7B,IAAIO,MACtIyzB,QAAO,SAAUlc,EAAEonB,GAA0C,OAAjCpnB,EAAE6K,QAAQuc,GAAK,GAAKpnB,EAAEpT,KAAKw6B,GAAapnB,IAAM,IACvEk1B,EAAa,GACbvN,EAAO,SAAWhhC,GACpB,IAAI8qC,EAAW2D,EAAczuC,GAC7BuuC,EAAWzD,GAAY0D,EAAU/K,KAAI,SAAUliC,GAC7C,IAAImtC,EAAS,GACb,IAAK,IAAI5sC,KAAKP,EACRq7B,EAAGr7B,IAAIO,GACLA,GAAKgpC,IAAY4D,EAAOztC,MAAQM,EAAIO,IAExC4sC,EAAO5sC,GAAKP,EAAIO,GAGpB,OAAO4sC,MAIF1uC,EAAI,EAAGA,EAAIyuC,EAAcjrC,OAAQxD,IAAKghC,EAAMhhC,GACrD,OAAOuuC,EAMgCI,CAAiBH,GAAYr+B,IACtDA,EACRysB,EAAGr7B,IAAIO,IACTysC,EAAWtoC,KAAK,CACd1F,KAAMuB,EACN8sC,OAAQX,EAAwB99B,EAAOrO,GAAIosC,KAIjD,OAAOK,EAoBT,SAASM,EAAgBlF,EAAMH,GAC7B,IAAIsF,EACJ,OAAOnF,EAAKiF,OAAOnL,KAAI,SAAUviC,GAC/B,IAAI6tC,EAlBR,SAA8BA,EAAOvF,GACnC,IAAItoC,EAAI,GACR,IAAK,IAAIY,KAAKitC,EAAO,CACnB,IAAI9tC,EAAQsoC,EAAiBwF,EAAMjtC,GAAI0nC,GACnC5M,EAAGzyB,IAAIlJ,IAEY,KADrBA,EAAQA,EAAMwiC,KAAI,SAAU4K,GAAK,OAAO9E,EAAiB8E,EAAG7E,OAClDhmC,SAAgBvC,EAAQA,EAAM,IAE1CC,EAAEY,GAAKb,EAIT,OAFAC,EAAEg/B,SAAWnI,WAAW72B,EAAEg/B,UAC1Bh/B,EAAE6gC,MAAQhK,WAAW72B,EAAE6gC,OAChB7gC,EAMO8tC,CAAqB9tC,EAAGsoC,GAChCyF,EAAaF,EAAM9tC,MACnBkqC,EAAKvO,EAAGzyB,IAAI8kC,GAAcA,EAAW,GAAKA,EAC1CC,EAAS5F,EAAQ6B,GACjBgE,EAAgBlE,EAAuBzB,EAAWvJ,OAAQ0J,EAAKppC,KAAM2uC,EAAQ1F,GAC7E4F,EAAgBN,EAAgBA,EAAc3D,GAAGqC,SAAW2B,EAC5D/D,EAAOxO,EAAGzyB,IAAI8kC,GAAcA,EAAW,GAAKG,EAC5CC,EAAW/F,EAAQ8B,IAAS9B,EAAQ6F,GACpCtF,EAAOqF,GAAUG,EAWrB,OAVIzS,EAAGsG,IAAIiI,KAAOA,EAAKiE,GACvBL,EAAM3D,KAAOkC,EAAelC,EAAMvB,GAClCkF,EAAM5D,GAAKmC,EAAepC,EAAiBC,EAAIC,GAAOvB,GACtDkF,EAAM1hC,MAAQyhC,EAAgBA,EAAcQ,IAAM,EAClDP,EAAMO,IAAMP,EAAM1hC,MAAQ0hC,EAAMhN,MAAQgN,EAAM7O,SAAW6O,EAAM/M,SAC/D+M,EAAMvO,OAASoH,EAAamH,EAAMvO,OAAQuO,EAAM7O,UAChD6O,EAAMQ,OAAS3S,EAAG+F,IAAIsM,GACtBF,EAAMS,QAAU5S,EAAG0G,IAAIyL,EAAM3D,KAAKoC,UAC9BuB,EAAMS,UAAWT,EAAMrT,MAAQ,GACnCoT,EAAgBC,EACTA,KAMX,IAAIU,EAAmB,CACrBxS,IAAK,SAAU/7B,EAAGY,EAAGusC,GAAK,OAAOntC,EAAEosB,MAAMxrB,GAAKusC,GAC9CqB,UAAW,SAAUxuC,EAAGY,EAAGusC,GAAK,OAAOntC,EAAEyuC,aAAa7tC,EAAGusC,IACzD3sC,OAAQ,SAAUR,EAAGY,EAAGusC,GAAK,OAAOntC,EAAEY,GAAKusC,GAC3C5D,UAAW,SAAUvpC,EAAGY,EAAGusC,EAAG1D,EAAYiF,GAExC,GADAjF,EAAW7O,KAAK/3B,IAAIjC,EAAGusC,GACnBvsC,IAAM6oC,EAAWzO,MAAQ0T,EAAQ,CACnC,IAAI/lC,EAAM,GACV8gC,EAAW7O,KAAK4L,SAAQ,SAAUzmC,EAAO0oC,GAAQ9/B,GAAO8/B,EAAO,IAAM1oC,EAAQ,QAC7EC,EAAEosB,MAAMmd,UAAY5gC,KAO1B,SAASgmC,EAAgBjC,EAASW,GACdR,EAAeH,GACrBlG,SAAQ,SAAU8B,GAC5B,IAAK,IAAI7nC,KAAY4sC,EAAY,CAC/B,IAAIttC,EAAQsoC,EAAiBgF,EAAW5sC,GAAW6nC,GAC/CvJ,EAASuJ,EAAWvJ,OACpB6P,EAAYxG,EAAQroC,GACpBkuC,EAAgBlE,EAAuBhL,EAAQt+B,EAAUmuC,EAAWtG,GAEpE2B,EAAKD,EAAiBK,EAActqC,EAD7B6uC,GAAaxG,EAAQ6F,IACsBA,GAClDY,EAAWxF,EAAiBtK,EAAQt+B,GACxC8tC,EAAiBM,GAAU9P,EAAQt+B,EAAUwpC,EAAI3B,EAAWmB,YAAY,OAwB9E,SAASqF,EAAcC,EAAa1B,GAClC,OAAOvG,EAAYE,EAAa+H,EAAYxM,KAAI,SAAU+F,GACxD,OAAO+E,EAAW9K,KAAI,SAAUkG,GAC9B,OApBN,SAAyBH,EAAYG,GACnC,IAAIoG,EAAWxF,EAAiBf,EAAWvJ,OAAQ0J,EAAKppC,MACxD,GAAIwvC,EAAU,CACZ,IAAInB,EAASC,EAAgBlF,EAAMH,GAC/B0G,EAAYtB,EAAOA,EAAOprC,OAAS,GACvC,MAAO,CACLyyB,KAAM8Z,EACNpuC,SAAUgoC,EAAKppC,KACfipC,WAAYA,EACZoF,OAAQA,EACR1O,SAAUgQ,EAAUZ,IACpBvN,MAAO6M,EAAO,GAAG7M,MACjBC,SAAUkO,EAAUlO,WAQbmO,CAAgB3G,EAAYG,WAElC,SAAUtwB,GAAK,OAAQujB,EAAGsG,IAAI7pB,MAKrC,SAAS+2B,EAAmBC,EAAYnC,GACtC,IAAIoC,EAAaD,EAAW7sC,OACxB+sC,EAAc,SAAUC,GAAQ,OAAOA,EAAK3O,eAAiB2O,EAAK3O,eAAiB,GACnF4O,EAAU,GAId,OAHAA,EAAQvQ,SAAWoQ,EAAaxoC,KAAKgB,IAAImC,MAAMnD,KAAMuoC,EAAW5M,KAAI,SAAU+M,GAAQ,OAAOD,EAAYC,GAAQA,EAAKtQ,aAAgBgO,EAAchO,SACpJuQ,EAAQ1O,MAAQuO,EAAaxoC,KAAKw6B,IAAIr3B,MAAMnD,KAAMuoC,EAAW5M,KAAI,SAAU+M,GAAQ,OAAOD,EAAYC,GAAQA,EAAKzO,UAAamM,EAAcnM,MAC9I0O,EAAQzO,SAAWsO,EAAaG,EAAQvQ,SAAWp4B,KAAKgB,IAAImC,MAAMnD,KAAMuoC,EAAW5M,KAAI,SAAU+M,GAAQ,OAAOD,EAAYC,GAAQA,EAAKtQ,SAAWsQ,EAAKxO,aAAgBkM,EAAclM,SAChLyO,EAGT,IAAIC,GAAa,EAwBjB,IAEIC,GAFAC,GAAkB,GAClBC,GAAkB,GAGlBC,GAAU,WACZ,SAASC,IACPJ,GAAM1P,sBAAsB+P,GAE9B,SAASA,EAAK9vC,GACZ,IAAI+vC,EAAwBL,GAAgBptC,OAC5C,GAAIytC,EAAuB,CAEzB,IADA,IAAIjxC,EAAI,EACDA,EAAIixC,GAAuB,CAChC,IAAIC,EAAiBN,GAAgB5wC,GACrC,GAAKkxC,EAAeC,OAEb,CACL,IAAIC,EAAgBR,GAAgB1sB,QAAQgtB,GACxCE,GAAiB,IACnBR,GAAgBvqC,OAAO+qC,EAAe,GACtCH,EAAwBL,GAAgBptC,aAL1C0tC,EAAeG,KAAKnwC,GAQtBlB,IAEF+wC,SAEAJ,GAAMW,qBAAqBX,IAG/B,OAAOI,EA1BK,GA6Cd,SAAS/tC,GAAMmN,QACG,IAAXA,IAAoBA,EAAS,IAGlC,IACI1B,EADA8iC,EAAY,EAAGC,EAAW,EAAGC,EAAM,EACzBC,EAAiB,EAC3BC,EAAU,KAEd,SAASC,EAAYC,GACnB,IAAIC,EAAU1vC,OAAO2vC,SAAW,IAAIA,SAAQ,SAAUC,GAAY,OAAOL,EAAUK,KAEnF,OADAH,EAASI,SAAWH,EACbA,EAGT,IAAID,EArFN,SAA2B1hC,GACzB,IAAI+hC,EAAmBxJ,EAAmBxH,EAAyB/wB,GAC/D+9B,EAAgBxF,EAAmB5G,EAAsB3xB,GACzDo+B,EAAaD,EAAcJ,EAAe/9B,GAC1C8/B,EAAclC,EAAe59B,EAAOy9B,SACpCyC,EAAaL,EAAcC,EAAa1B,GACxCkC,EAAUL,EAAmBC,EAAYnC,GACzC7d,EAAKqgB,GAET,OADAA,KACO7H,EAAaqJ,EAAkB,CACpC7hB,GAAIA,EACJ5hB,SAAU,GACVwhC,YAAaA,EACbI,WAAYA,EACZnQ,SAAUuQ,EAAQvQ,SAClB6B,MAAO0O,EAAQ1O,MACfC,SAAUyO,EAAQzO,WAqELmQ,CAAkBhiC,GACnByhC,EAAYC,GAE1B,SAASO,IACP,IAAIzQ,EAAYkQ,EAASlQ,UACP,cAAdA,IACFkQ,EAASlQ,UAA0B,WAAdA,EAAyB,SAAW,WAE3DkQ,EAASQ,UAAYR,EAASQ,SAC9B5jC,EAASi5B,SAAQ,SAAU4K,GAAS,OAAOA,EAAMD,SAAWR,EAASQ,YAGvE,SAASE,EAAWnhC,GAClB,OAAOygC,EAASQ,SAAWR,EAAS3R,SAAW9uB,EAAOA,EAGxD,SAASohC,IACPjB,EAAY,EACZC,EAAWe,EAAWV,EAASY,cAAgB,EAAIzvC,GAAM0vC,OAG3D,SAASC,EAAUvhC,EAAMkhC,GACnBA,GAASA,EAAMM,KAAKxhC,EAAOkhC,EAAMzQ,gBAWvC,SAASgR,EAAsBC,GAI7B,IAHA,IAAI9yC,EAAI,EACJqwC,EAAawB,EAASxB,WACtB0C,EAAmB1C,EAAW7sC,OAC3BxD,EAAI+yC,GAAkB,CAC3B,IAAIvC,EAAOH,EAAWrwC,GAClBwpC,EAAagH,EAAKhH,WAClBoF,EAAS4B,EAAK5B,OACdoE,EAAcpE,EAAOprC,OAAS,EAC9BurC,EAAQH,EAAOoE,GAEfA,IAAejE,EAAQ/G,EAAY4G,GAAQ,SAAU1tC,GAAK,OAAQ4xC,EAAU5xC,EAAEouC,OAAS,IAAMP,GAQjG,IAPA,IAAItK,EAAUpC,EAAOyQ,EAAU/D,EAAM1hC,MAAQ0hC,EAAMhN,MAAO,EAAGgN,EAAM7O,UAAY6O,EAAM7O,SACjF+S,EAAQroC,MAAM65B,GAAW,EAAIsK,EAAMvO,OAAOiE,GAC1CiJ,EAAUqB,EAAM5D,GAAGuC,QACnBhS,EAAQqT,EAAMrT,MACd+R,EAAU,GACVyF,EAAkBnE,EAAM5D,GAAGsC,QAAQjqC,OACnC4gC,OAAY,EACP3iC,EAAI,EAAGA,EAAIyxC,EAAiBzxC,IAAK,CACxC,IAAIR,OAAS,EACTkyC,EAAWpE,EAAM5D,GAAGsC,QAAQhsC,GAC5B2xC,EAAarE,EAAM3D,KAAKqC,QAAQhsC,IAAM,EAIxCR,EAHG8tC,EAAMQ,OAGDtC,EAAgB8B,EAAM9tC,MAAOgyC,EAAQE,GAFrCC,EAAcH,GAASE,EAAWC,GAIxC1X,IACIqT,EAAMS,SAAW/tC,EAAI,IACzBR,EAAQ6G,KAAK4zB,MAAMz6B,EAAQy6B,GAASA,IAGxC+R,EAAQxnC,KAAKhF,GAGf,IAAIoyC,EAAgB3F,EAAQlqC,OAC5B,GAAK6vC,EAEE,CACLjP,EAAWsJ,EAAQ,GACnB,IAAK,IAAI3rC,EAAI,EAAGA,EAAIsxC,EAAetxC,IAAK,CAC9B2rC,EAAQ3rC,GAAhB,IACI0+B,EAAIiN,EAAQ3rC,EAAI,GAChBuxC,EAAM7F,EAAQ1rC,GACb6I,MAAM0oC,KAIPlP,GAHG3D,EAGS6S,EAAM7S,EAFN6S,EAAM,WATxBlP,EAAWqJ,EAAQ,GAgBrBgC,EAAiBe,EAAKva,MAAMuT,EAAWvJ,OAAQuQ,EAAK7uC,SAAUyiC,EAAUoF,EAAWmB,YACnF6F,EAAK+C,aAAenP,EACpBpkC,KAIJ,SAASwzC,EAAYC,GACf5B,EAAS4B,KAAQ5B,EAAS6B,aAAe7B,EAAS4B,GAAI5B,GAS5D,SAAS8B,EAAoBC,GAC3B,IAAIC,EAAchC,EAAS3R,SACvB4T,EAAWjC,EAAS9P,MACpBgS,EAAcF,EAAchC,EAAS7P,SACrC8Q,EAAUP,EAAWqB,GACzB/B,EAASzN,SAAW/B,EAAQyQ,EAAUe,EAAe,IAAK,EAAG,KAC7DhC,EAASmC,gBAAkBlB,EAAUjB,EAASY,YAC1ChkC,GArFN,SAA8B2C,GAC5B,GAAKygC,EAASmC,gBAGZ,IAAK,IAAIC,EAAMvC,EAAgBuC,KAAUtB,EAAUvhC,EAAM3C,EAASwlC,SAFlE,IAAK,IAAIj0C,EAAI,EAAGA,EAAI0xC,EAAgB1xC,IAAO2yC,EAAUvhC,EAAM3C,EAASzO,IAmFtDk0C,CAAqBpB,IAChCjB,EAASsC,OAAStC,EAASY,YAAc,IAC5CZ,EAASsC,OAAQ,EACjBX,EAAY,WAET3B,EAASuC,WAAavC,EAASY,YAAc,IAChDZ,EAASuC,WAAY,EACrBZ,EAAY,cAEVV,GAAWgB,GAAqC,IAAzBjC,EAASY,aAClCI,EAAsB,IAEnBC,GAAWiB,GAAelC,EAASY,cAAgBoB,IAAiBA,IACvEhB,EAAsBgB,GAEpBf,EAAUgB,GAAYhB,EAAUiB,GAC7BlC,EAASwC,cACZxC,EAASwC,aAAc,EACvBxC,EAASyC,iBAAkB,EAC3Bd,EAAY,gBAEdA,EAAY,UACZX,EAAsBC,IAElBjB,EAASwC,cACXxC,EAASyC,iBAAkB,EAC3BzC,EAASwC,aAAc,EACvBb,EAAY,mBAGhB3B,EAASY,YAAcpQ,EAAOyQ,EAAS,EAAGe,GACtChC,EAASsC,OAASX,EAAY,UAC9BI,GAAcC,IAChBrC,EAAW,EA7CTK,EAAS0C,YAAoC,IAAvB1C,EAAS0C,WACjC1C,EAAS0C,YA8CJ1C,EAAS0C,WAYZhD,EAAYE,EACZ+B,EAAY,gBACZ3B,EAASuC,WAAY,EACM,cAAvBvC,EAASlQ,WACXyQ,MAfFP,EAASV,QAAS,EACbU,EAAS2C,YACZ3C,EAAS2C,WAAY,EACrBhB,EAAY,gBACZA,EAAY,aACP3B,EAAS6B,aAAe,YAAatxC,SACxCuvC,IACUC,EAAYC,OAiFhC,OAnEAA,EAAS4C,MAAQ,WACf,IAAI9S,EAAYkQ,EAASlQ,UACzBkQ,EAAS6B,aAAc,EACvB7B,EAASY,YAAc,EACvBZ,EAASzN,SAAW,EACpByN,EAASV,QAAS,EAClBU,EAASsC,OAAQ,EACjBtC,EAASuC,WAAY,EACrBvC,EAASwC,aAAc,EACvBxC,EAAS2C,WAAY,EACrB3C,EAASyC,iBAAkB,EAC3BzC,EAASmC,iBAAkB,EAC3BnC,EAASQ,SAAyB,YAAd1Q,EACpBkQ,EAAS0C,UAAY1C,EAAS7Q,KAC9BvyB,EAAWojC,EAASpjC,SAEpB,IAAK,IAAIzO,EADT0xC,EAAiBjjC,EAASjL,OACGxD,KAAQ6xC,EAASpjC,SAASzO,GAAGy0C,SACtD5C,EAASQ,WAA8B,IAAlBR,EAAS7Q,MAAgC,cAAdW,GAA+C,IAAlBkQ,EAAS7Q,OAAe6Q,EAAS0C,YAClH1B,EAAsBhB,EAASQ,SAAWR,EAAS3R,SAAW,IAKhE2R,EAAS9tC,IAAM,SAAS6pC,EAASW,GAE/B,OADAsB,EAAgBjC,EAASW,GAClBsD,GAGTA,EAASR,KAAO,SAASnwC,GACvBuwC,EAAMvwC,EACDqwC,IAAaA,EAAYE,GAC9BkC,GAAqBlC,GAAOD,EAAWD,IAAcvuC,GAAM0vC,QAG7Db,EAASe,KAAO,SAASxhC,GACvBuiC,EAAoBpB,EAAWnhC,KAGjCygC,EAAS6C,MAAQ,WACf7C,EAASV,QAAS,EAClBqB,KAGFX,EAASd,KAAO,WACTc,EAASV,SACVU,EAAS2C,WAAa3C,EAAS4C,QACnC5C,EAASV,QAAS,EAClBP,GAAgB3qC,KAAK4rC,GACrBW,IACK7B,IAAOG,OAGde,EAAS8C,QAAU,WACjBvC,IACAP,EAAS2C,WAAY3C,EAASQ,SAC9BG,KAGFX,EAAS+C,QAAU,WACjB/C,EAAS4C,QACT5C,EAASd,QAGXc,EAAS4C,QAEL5C,EAASjQ,UAAYiQ,EAASd,OAE3Bc,EAMT,SAASgD,GAA4BC,EAAczE,GACjD,IAAK,IAAIh3B,EAAIg3B,EAAW7sC,OAAQ6V,KAC1BivB,EAAcwM,EAAczE,EAAWh3B,GAAGmwB,WAAWvJ,SACvDoQ,EAAWhqC,OAAOgT,EAAG,GAvQH,oBAAbrV,UACTA,SAASkD,iBAAiB,oBAX5B,WACMlD,SAAS+wC,QACXnE,GAAgBlJ,SAAQ,SAAUsN,GAAO,OAAOA,EAAIN,WACpD7D,GAAkBD,GAAgBvrC,MAAM,GACxCrC,GAAMiyC,QAAUrE,GAAkB,IAElCC,GAAgBnJ,SAAQ,SAAUsN,GAAO,OAAOA,EAAIjE,aAuXxD/tC,GAAMgH,QAAU,QAChBhH,GAAM0vC,MAAQ,EACd1vC,GAAMiyC,QAAUrE,GAChB5tC,GAAM2C,OA1GN,SAAuBioC,GAErB,IADA,IAAIkH,EAAenH,EAAaC,GACvB5tC,EAAI4wC,GAAgBptC,OAAQxD,KAAM,CACzC,IAAI6xC,EAAWjB,GAAgB5wC,GAC3BqwC,EAAawB,EAASxB,WACtB5hC,EAAWojC,EAASpjC,SACxBomC,GAA4BC,EAAczE,GAC1C,IAAK,IAAIhwC,EAAIoO,EAASjL,OAAQnD,KAAM,CAClC,IAAIiyC,EAAQ7jC,EAASpO,GACjB60C,EAAkB5C,EAAMjC,WAC5BwE,GAA4BC,EAAcI,GACrCA,EAAgB1xC,QAAW8uC,EAAM7jC,SAASjL,QAAUiL,EAASpI,OAAOhG,EAAG,GAEzEgwC,EAAW7sC,QAAWiL,EAASjL,QAAUquC,EAAS6C,UA8F3D1xC,GAAMnC,IAAMoqC,EACZjoC,GAAMe,IAAM8rC,EACZ7sC,GAAMmyC,UAAYvL,EAClB5mC,GAAMiB,KA/qBN,SAAiBA,EAAMmxC,GACrB,IAAI1I,EAAS9P,EAAG/yB,IAAI5F,GAAQ6jC,EAAa7jC,GAAM,GAAKA,EAChDnC,EAAIszC,GAAW,IACnB,OAAO,SAASzzC,GACd,MAAO,CACLA,SAAUA,EACV4sB,GAAIme,EACJ9J,IAAK6J,EAAaC,GAClBV,YAAaI,EAAeM,IAAW5qC,EAAI,QAwqBjDkB,GAAMqyC,cAntBN,SAAuB9mB,GACrB,IAAI+mB,EAAalJ,EAAe7d,GAEhC,OADAA,EAAGohB,aAAa,mBAAoB2F,GAC7BA,GAitBTtyC,GAAMuyC,QA7FN,SAAiBnrC,EAAK+F,QACJ,IAAXA,IAAoBA,EAAS,IAElC,IAAIwxB,EAAYxxB,EAAOwxB,WAAa,SAChCnB,EAASrwB,EAAOqwB,OAASoH,EAAaz3B,EAAOqwB,QAAU,KACvDgV,EAAOrlC,EAAOqlC,KACdC,EAAOtlC,EAAOslC,KACdC,EAAYvlC,EAAOi7B,MAAQ,EAC3BuK,EAA0B,UAAdD,EACZE,EAA2B,WAAdF,EACbG,EAAyB,SAAdH,EACXI,EAAUlZ,EAAGzyB,IAAIC,GACjB2rC,EAAOD,EAAU/d,WAAW3tB,EAAI,IAAM2tB,WAAW3tB,GACjD4rC,EAAOF,EAAU/d,WAAW3tB,EAAI,IAAM,EACtCy/B,EAAOP,EAAQwM,EAAU1rC,EAAI,GAAKA,IAAQ,EAC1CiD,EAAQ8C,EAAO9C,OAAS,GAAKyoC,EAAUC,EAAO,GAC9C1iB,EAAS,GACT4iB,EAAW,EACf,OAAO,SAAU1nB,EAAIvuB,EAAGkB,GAItB,GAHIy0C,IAAaD,EAAY,GACzBE,IAAcF,GAAax0C,EAAI,GAAK,GACpC20C,IAAYH,EAAYx0C,EAAI,IAC3BmyB,EAAO7vB,OAAQ,CAClB,IAAK,IAAI6G,EAAQ,EAAGA,EAAQnJ,EAAGmJ,IAAS,CACtC,GAAKmrC,EAEE,CACL,IAAIU,EAASN,GAAkCJ,EAAK,GAAG,GAAG,EAAhCE,EAAUF,EAAK,GACrCW,EAASP,GAA8CJ,EAAK,GAAG,GAAG,EAA5C1tC,KAAKC,MAAM2tC,EAAUF,EAAK,IAGhDY,EAAYF,EAFN7rC,EAAMmrC,EAAK,GAGjBa,EAAYF,EAFNruC,KAAKC,MAAMsC,EAAMmrC,EAAK,IAG5Bv0C,EAAQ6G,KAAKk8B,KAAKoS,EAAYA,EAAYC,EAAYA,GAC7C,MAATZ,IAAgBx0C,GAASm1C,GAChB,MAATX,IAAgBx0C,GAASo1C,GAC7BhjB,EAAOptB,KAAKhF,QAXZoyB,EAAOptB,KAAK6B,KAAK+U,IAAI64B,EAAYrrC,IAanC4rC,EAAWnuC,KAAKgB,IAAImC,MAAMnD,KAAMurB,GAE9BmN,IAAUnN,EAASA,EAAOoQ,KAAI,SAAUr5B,GAAO,OAAOo2B,EAAOp2B,EAAM6rC,GAAYA,MACjE,YAAdtU,IAA2BtO,EAASA,EAAOoQ,KAAI,SAAUr5B,GAAO,OAAOqrC,EAAQrrC,EAAM,GAAY,EAAPA,GAAYA,EAAMtC,KAAK+U,IAAIo5B,EAAW7rC,OAGtI,OAAOiD,GADOyoC,GAAWE,EAAOD,GAAQE,EAAWF,IACxBjuC,KAAK4zB,MAAkB,IAAZrI,EAAOrzB,IAAY,KAAQ6pC,IAkDrE7mC,GAAMszC,SA5CN,SAAkBnmC,QACA,IAAXA,IAAoBA,EAAS,IAElC,IAAIomC,EAAKvzC,GAAMmN,GA4Bf,OA3BAomC,EAAGrW,SAAW,EACdqW,EAAGC,IAAM,SAASC,EAAgB5U,GAChC,IAAI6U,EAAU9F,GAAgB1sB,QAAQqyB,GAClC9nC,EAAW8nC,EAAG9nC,SAElB,SAASilC,EAAYsB,GAAOA,EAAItB,aAAc,EAD1CgD,GAAW,GAAK9F,GAAgBvqC,OAAOqwC,EAAS,GAEpD,IAAK,IAAI12C,EAAI,EAAGA,EAAIyO,EAASjL,OAAQxD,IAAO0zC,EAAYjlC,EAASzO,IACjE,IAAI22C,EAAY9N,EAAa4N,EAAgB/N,EAAmB5G,EAAsB3xB,IACtFwmC,EAAU/I,QAAU+I,EAAU/I,SAAWz9B,EAAOy9B,QAChD,IAAIgJ,EAAaL,EAAGrW,SACpByW,EAAU/U,UAAW,EACrB+U,EAAUhV,UAAY4U,EAAG5U,UACzBgV,EAAU9U,eAAiBjF,EAAGsG,IAAIrB,GAAkB+U,EAAa1L,EAAiBrJ,EAAgB+U,GAClGlD,EAAY6C,GACZA,EAAG3D,KAAK+D,EAAU9U,gBAClB,IAAImT,EAAMhyC,GAAM2zC,GAChBjD,EAAYsB,GACZvmC,EAASxI,KAAK+uC,GACd,IAAIvE,EAAUL,EAAmB3hC,EAAU0B,GAO3C,OANAomC,EAAGxU,MAAQ0O,EAAQ1O,MACnBwU,EAAGvU,SAAWyO,EAAQzO,SACtBuU,EAAGrW,SAAWuQ,EAAQvQ,SACtBqW,EAAG3D,KAAK,GACR2D,EAAG9B,QACC8B,EAAG3U,UAAY2U,EAAGxF,OACfwF,GAEFA,GAcTvzC,GAAMw9B,OAASoH,EACf5kC,GAAM8jC,OAASA,EACf9jC,GAAMgF,OAAS,SAAUs6B,EAAKx5B,GAAO,OAAOhB,KAAKC,MAAMD,KAAKE,UAAYc,EAAMw5B,EAAM,IAAMA,GAE1FviC,EAAOD,QAAUkD,I,uCCvtCNsxB,SAQU,IAAXI,EAAyBA,EAASzyB,KAAKG,QAAUH,KAAKyyB,OAN5DmiB,EAAO,GAAD,EAM8D,SAAUviB,GAChF,aAGA,IAUIwiB,EACAC,EAOAC,EAlBAvc,EAAiBn4B,EAAQ,IAEzBq3B,EAAU,GAEVsd,EAAS,GAETC,EAAY50C,EAAQ,IACpB60C,EAAe70C,EAAQ,IACvB80C,EAAkB90C,EAAQ,IAM1B+0C,KAAa/iB,GAAUA,EAAKtwB,UAAcswB,EAAKtwB,SAAS28B,eAAmBrM,EAAKptB,kBACpF,GAAsB,oBAAX9E,QAA2Bi1C,EAAtC,CAMA,IAAIx1C,EAAiBnB,OAAOkB,UAAUC,eA2KtC,OAnIAo1C,EAAOK,QAAU,WACf,IAAK3d,EAAQ4d,cAEX,IACEvzC,SAAS28B,cAAchH,EAAQ6d,aAAappB,UAAY,GACxD,MAAOjsB,GACPgc,QAAQ5U,KAAK,sBAAwBowB,EAAQ6d,aAK7C7d,EAAQ8d,iBAAmBzzC,SAAS28B,cAAchH,EAAQ8d,kBAC5DzzC,SAAS28B,cAAchH,EAAQ8d,iBAAiBnwC,oBAAoB,SAAUrF,KAAKy1C,iBAAiB,GACpG1zC,SAAS28B,cAAchH,EAAQ8d,iBAAiBnwC,oBAAoB,SAAUrF,KAAKy1C,iBAAiB,GAChGZ,GACF9yC,SAAS28B,cAAchH,EAAQ8d,iBAAiBnwC,oBAAoB,QAASrF,KAAK01C,gBAAgB,KAGpG3zC,SAASsD,oBAAoB,SAAUrF,KAAKy1C,iBAAiB,GAC7D1zC,SAASsD,oBAAoB,SAAUrF,KAAKy1C,iBAAiB,GACzDZ,GACF9yC,SAASsD,oBAAoB,QAASrF,KAAK01C,gBAAgB,KASjEV,EAAOpzC,KAAO,SAAU+zC,GAEtB,GAAKP,IAML1d,EA7EF,WAEE,IADA,IAAIsG,EAAS,GACJjgC,EAAI,EAAGA,EAAIuD,UAAUC,OAAQxD,IAAK,CACzC,IAAI63C,EAASt0C,UAAUvD,GACvB,IAAK,IAAIuB,KAAOs2C,EACVh2C,EAAe1B,KAAK03C,EAAQt2C,KAC9B0+B,EAAO1+B,GAAOs2C,EAAOt2C,IAI3B,OAAO0+B,EAmEG58B,CAAOo3B,EAAgBmd,GAAiB,IAClD31C,KAAK03B,QAAUA,EACf13B,KAAK61C,MAAQ,GAGTne,EAAQ52B,eACV42B,EAAQuG,SAAWvG,EAAQoe,qBAC3Bpe,EAAQuF,OAASvF,EAAQqe,mBACzBf,EAAOl0C,aAAeT,EAAQ,IAAmB21C,oBAAoBte,IAIvEmd,EAAYI,EAAUvd,GACtBod,EAAeI,EAAaxd,GAG5B13B,KAAKi2C,WAAapB,EAClB70C,KAAKk2C,cAAgBpB,EAGrBE,EAAOK,UAKe,QAFtBN,EAAgBD,EAAaqB,eAAeze,EAAQ0e,gBAAiB1e,EAAQ2e,mBAE7E,CAKA,IACIC,EADoBxB,EAAayB,kBAAkBxB,GAChByB,KAGlC9e,EAAQ4d,eACXT,EAAU4B,OAAO/e,EAAQ6d,YAAae,GAIxCt2C,KAAKy1C,gBAAkBiB,GAAS,SAAUx2C,GACxC20C,EAAU8B,UAAU5B,IACnBrd,EAAQkf,sBAAwBzB,EAAgBzd,GACjD,IAAImf,EAAQ32C,GAAKA,EAAE89B,QAAU99B,EAAE89B,OAAO8Y,kBAA4D,IAAxC52C,EAAE89B,OAAO8Y,iBAAiBtc,WAC/Et6B,IAAuB,IAAjBA,EAAE62C,YAAwC,OAApB72C,EAAE82C,gBAA4BH,KAC7DhC,EAAU8B,UAAU5B,GAChBrd,EAAQuf,mBACVvf,EAAQuf,kBAAkB/2C,MAG7Bw3B,EAAQwf,iBACXl3C,KAAKy1C,kBACD/d,EAAQ8d,iBAAmBzzC,SAAS28B,cAAchH,EAAQ8d,kBAC5DzzC,SAAS28B,cAAchH,EAAQ8d,iBAAiBvwC,iBAAiB,SAAUjF,KAAKy1C,iBAAiB,GACjG1zC,SAAS28B,cAAchH,EAAQ8d,iBAAiBvwC,iBAAiB,SAAUjF,KAAKy1C,iBAAiB,KAEjG1zC,SAASkD,iBAAiB,SAAUjF,KAAKy1C,iBAAiB,GAC1D1zC,SAASkD,iBAAiB,SAAUjF,KAAKy1C,iBAAiB,IAI5D,IAAI0B,EAAU,KAmBd,OAlBAn3C,KAAK01C,eAAiBgB,GAAS,SAAUU,GACnC1f,EAAQ52B,cACV+zC,EAAUwC,oBAAoBD,GAEhCvC,EAAU8B,UAAU5B,GAEpBoC,GAAWxa,aAAawa,GACxBA,EAAUn4B,YAAW,WACnB61B,EAAUyC,uBACT5f,EAAQoe,wBACVpe,EAAQwf,iBAEPxf,EAAQ8d,iBAAmBzzC,SAAS28B,cAAchH,EAAQ8d,iBAC5DzzC,SAAS28B,cAAchH,EAAQ8d,iBAAiBvwC,iBAAiB,QAASjF,KAAK01C,gBAAgB,GAE/F3zC,SAASkD,iBAAiB,QAASjF,KAAK01C,gBAAgB,GAGnD11C,OAMTg1C,EAAOuC,QAAU,SAAU5B,GACzBX,EAAOK,UACPL,EAAOpzC,KAAK+zC,GAAiB31C,KAAK03B,UAIpCrF,EAAK2iB,OAASA,EAEPA,EA5JP,SAAS0B,EAAUc,EAAIjiC,EAAWkiC,GAEhC,IAAIxd,EACAyd,EACJ,OAHAniC,IAAcA,EAAY,KAGnB,WACL,IAAIoe,EAAU8jB,GAASz3C,KACnBwvC,GAAO,IAAIrtC,KACX8G,EAAO3H,UACP24B,GAAQuV,EAAMvV,EAAO1kB,GAEvBonB,aAAa+a,GACbA,EAAa14B,YAAW,WACtBib,EAAOuV,EACPgI,EAAGxuC,MAAM2qB,EAAS1qB,KACjBsM,KAEH0kB,EAAOuV,EACPgI,EAAGxuC,MAAM2qB,EAAS1qB,MA/DhB,CAAaopB,QAAb,6D,+BCrCVv0B,EAAOD,QAAU,CAEf03C,YAAa,UAEba,gBAAiB,kBAEjBC,gBAAiB,aAEjBsB,eAAgB,iBAEhBC,oBAAoB,EAEpBC,UAAW,WAEXC,iBAAkB,GAGlBC,gBAAiB,iBAEjBC,UAAW,WAEXC,iBAAkB,GAElBC,iBAAkB,eAGlBC,iBAAkB,iBAElBC,cAAe,gBAEfC,oBAAqB,eAMrBC,cAAe,EAEfx3C,cAAc,EAEdg1C,qBAAsB,IAEtBC,mBAAoB,EAEpBkB,kBAAmB,SAAU/2C,KAE7Bq4C,eAAgB,EAGhBrB,gBAAiB,GAEjBsB,sBAAuB,KAGvBC,mBAAoB,oBAIpBC,mBAAoB,OAGpBC,aAAa,EAIbC,QAAS,SAAU14C,KAGnB24C,aAAa,EAEbrD,gBAAiB,KAEjBF,eAAe,EAKfwD,sBAAsB,EAEtBC,sBAAsB,EAMtBC,sBAAuB,KAEvBC,SAAU,GAGVrC,sBAAsB,I,cCpFxB94C,EAAOD,QAAU,SAAU65B,GACzB,IAAI+N,EAAU,GAAGA,QACba,EAAO,GAAGA,KACVzZ,EAAO9qB,SAAS8qB,KAChBqsB,GAAwB,EAS5B,SAASC,EAAU96C,EAAGmlB,GACpB,IAAI41B,EAAO51B,EAAUuI,YAkDvB,SAAqBlS,GACnB,IAAI+xB,EAAO7pC,SAASiqB,cAAc,MAC9B5U,EAAIrV,SAASiqB,cAAc,KAC3B0L,EAAQ0gB,eACVxM,EAAK8B,aAAa,QAAShW,EAAQ0gB,eAGjC1gB,EAAQkhB,UACVxhC,EAAEiiC,QAAU3hB,EAAQkhB,SAGlBlhB,EAAQihB,aAAe9+B,EAAKuW,WAAW7uB,OACzCkkC,EAAQvnC,KAAK2b,EAAKuW,YAAY,SAAUP,GACtCzY,EAAE2U,YAAY8D,EAAKypB,WAAU,OAI/BliC,EAAEmiC,YAAc1/B,EAAK0/B,YAOvB,OALAniC,EAAEs2B,aAAa,OAAQhW,EAAQuhB,SAAW,IAAMp/B,EAAKuU,IACrDhX,EAAEs2B,aAAa,QAAShW,EAAQmgB,UAARngB,eACO7d,EAAK+W,SAhFrB,IAiFA8G,EAAQogB,kBACvBlM,EAAK7f,YAAY3U,GACVw0B,EA1E0B4N,CAAWn7C,IAC5C,GAAIA,EAAEmO,SAASjL,OAAQ,CACrB,IAAIs4B,EAAO4f,EAAWp7C,EAAEq7C,aACxBr7C,EAAEmO,SAASi5B,SAAQ,SAAU4K,GAC3B8I,EAAS9I,EAAOxW,MAElBuf,EAAKrtB,YAAY8N,IA4ErB,SAAS4f,EAAYC,GACnB,IAAIC,EAAejiB,EAAQmhB,YAAe,KAAO,KAC7Chf,EAAO93B,SAASiqB,cAAc2tB,GAC9BC,EAAUliB,EAAQsgB,UA9FP,IA+FAtgB,EAAQugB,iBAMvB,OALIyB,IACFE,GAjGa,IAiGWliB,EAAQygB,iBAChCyB,GAlGa,IAkGWliB,EAAQwgB,kBAElCre,EAAK6T,aAAa,QAASkM,GACpB/f,EAmKT,MAAO,CACLyd,mBALF,WACE4B,GAAwB,GAKxB7B,oBAnBF,SAA8BD,GAC5B,IAAIpZ,EAASoZ,EAAMpZ,QAAUoZ,EAAMyC,WACH,iBAArB7b,EAAO8b,YAA2E,IAAjD9b,EAAO8b,UAAU73B,QAAQyV,EAAQmgB,aAK7EqB,GAAwB,IAaxBzC,OAlPF,SAAiBsD,EAAUlgC,GACzB,IACI2J,EAAYi2B,GADA,GAGhB5/B,EAAK4rB,SAAQ,SAAUpnC,GACrB86C,EAAS96C,EAAGmlB,MAGd,IAAIjX,EAASxK,SAAS28B,cAAcqb,GAGpC,GAAe,OAAXxtC,EAUJ,OALIA,EAAOytC,YACTztC,EAAOof,YAAYpf,EAAOytC,YAIR,IAAhBngC,EAAKtY,OACAgL,EAIFA,EAAOwf,YAAYvI,IAyN1BmzB,UAzHF,SAAoB5B,GAGhB,IAAI7X,EACJA,EAFExF,EAAQ8d,iBAAmBzzC,SAAS28B,cAAchH,EAAQ8d,iBAEtDzzC,SAAS28B,cAAchH,EAAQ8d,iBAAiBhb,UAEhDz4B,SAAS+8B,gBAAgBtE,WAAa3N,EAAK2N,UAI/C9C,EAAQ8gB,uBAjDd,WAEI,IAAItb,EACJA,EAFExF,EAAQ8d,iBAAmBzzC,SAAS28B,cAAchH,EAAQ8d,iBAEtDzzC,SAAS28B,cAAchH,EAAQ8d,iBAAiBhb,UAEhDz4B,SAAS+8B,gBAAgBtE,WAAa3N,EAAK2N,UAEnD,IAAIyf,EAAal4C,SAAS28B,cAAchH,EAAQ8gB,uBAEb,SAA/B9gB,EAAQghB,qBACVhhB,EAAQghB,mBAAqB32C,SAAS28B,cAAchH,EAAQ6d,aAAa2E,WAGvEhd,EAAMxF,EAAQghB,oBACkD,IAA9DuB,EAAWH,UAAU73B,QAAQyV,EAAQ+gB,sBACvCwB,EAAWH,WA3HA,IA2H0BpiB,EAAQ+gB,oBAG/CwB,EAAWH,UAAYG,EAAWH,UAAUh3C,MA9H/B,IA8HkD40B,EAAQ+gB,oBAAoBp1C,KAAK,IAgChG82C,GAKF,IACIC,EADAC,EAAWtF,EAKf,GAAImE,GAC8C,OAAhDn3C,SAAS28B,cAAchH,EAAQ6d,cAC/B8E,EAAS94C,OAAS,EAAG,CACrB+kC,EAAKpoC,KAAKm8C,GAAU,SAAUC,EAASv8C,GAErC,OAtCN,SAASw8C,EAAkB12C,GACzB,IAAI4oB,EAAW,EAKf,OAJI5oB,IAAQ9B,SAAS28B,cAAchH,EAAQ0e,iBAA0B,MAAPvyC,KAC5D4oB,EAAW5oB,EAAIq2C,UACXxiB,EAAQkgB,qBAAsBnrB,GAAY8tB,EAAiB12C,EAAI22C,gBAE9D/tB,EA+Ba8tB,CAAiBD,GACbpd,EAAMxF,EAAQ6gB,eAAiB,IAKjD6B,EAAYC,EAASt8C,IACd,GACEA,IAAMs8C,EAAS94C,OAAS,GAEjC64C,EAAYC,EAASA,EAAS94C,OAAS,IAChC,QAHF,KAQT,IAAIk5C,EAAW14C,SAAS28B,cAAchH,EAAQ6d,aAC3CzP,iBAAiB,IAAMpO,EAAQmgB,WAClCpS,EAAQvnC,KAAKu8C,GAAU,SAAUC,GAC/BA,EAAQZ,UAAYY,EAAQZ,UAAUh3C,MA/L3B,IA+L8C40B,EAAQqgB,iBAAiB10C,KAAK,OAEzF,IAAIs3C,EAAS54C,SAAS28B,cAAchH,EAAQ6d,aACzCzP,iBAAiB,IAAMpO,EAAQ0gB,eAClC3S,EAAQvnC,KAAKy8C,GAAQ,SAAUC,GAC7BA,EAAMd,UAAYc,EAAMd,UAAUh3C,MApMvB,IAoM0C40B,EAAQ2gB,qBAAqBh1C,KAAK,OAIzF,IAAIw3C,EAAgB94C,SAAS28B,cAAchH,EAAQ6d,aAChD7W,cAAc,IAAMhH,EAAQmgB,UAC3B,eAAiBuC,EAAUxpB,SAC3B,UAAY8G,EAAQuhB,SAAW,IAAMmB,EAAUhsB,GAAG1sB,QAAQ,iCAAkC,QAAU,OACxC,IAA9Dm5C,EAAcf,UAAU73B,QAAQyV,EAAQqgB,mBAC1C8C,EAAcf,WA7MH,IA6M6BpiB,EAAQqgB,iBAElD,IAAI+C,EAAKD,EAAcnvB,WACnBovB,IAA6D,IAAvDA,EAAGhB,UAAU73B,QAAQyV,EAAQ2gB,uBACrCyC,EAAGhB,WAjNQ,IAiNkBpiB,EAAQ2gB,qBAGvC,IAAI0C,EAAWh5C,SAAS28B,cAAchH,EAAQ6d,aAC3CzP,iBAAiB,IAAMpO,EAAQsgB,UAAY,IAAMtgB,EAAQygB,kBAG5D1S,EAAQvnC,KAAK68C,GAAU,SAAUlhB,IAC2B,IAAtDA,EAAKigB,UAAU73B,QAAQyV,EAAQwgB,oBACjCre,EAAKigB,WA1NI,IA0NsBpiB,EAAQwgB,qBAKvC2C,EAAcG,cAA0F,IAA3EH,EAAcG,YAAYlB,UAAU73B,QAAQyV,EAAQwgB,oBACnF2C,EAAcG,YAAYlB,UAAYe,EAAcG,YAAYlB,UAAUh3C,MAhO/D,IAgOkF40B,EAAQwgB,kBAAkB70C,KAAK,KAWlI,SAAS43C,EAA4BC,GACnC,IAA6D,IAAzDA,EAAQpB,UAAU73B,QAAQyV,EAAQygB,oBAAqF,IAAzD+C,EAAQpB,UAAU73B,QAAQyV,EAAQwgB,kBAElG,OADAgD,EAAQpB,UAAYoB,EAAQpB,UAAUh3C,MA7OzB,IA6O4C40B,EAAQwgB,kBAAkB70C,KAAK,IACjF43C,EAA2BC,EAAQxvB,WAAWA,YAEvD,OAAOwvB,EAdLD,CAA2BJ,EAAcnvB,WAAWA,iB,cCtO1D5tB,EAAOD,QAAU,SAAuB65B,GACtC,IAAIpE,EAAS,GAAGA,OAOhB,SAAS6nB,EAAa5nB,GACpB,OAAOA,EAAMA,EAAMhyB,OAAS,GAQ9B,SAAS65C,EAAiBd,GACxB,OAAQA,EAAQ1pB,SAAS9tB,MAAM,KAAKO,KAAK,IAQ3C,SAASg4C,EAAkBf,GAIzB,KAAMA,aAAmBn6C,OAAOm7C,aAAc,OAAOhB,EAErD,GAAI5iB,EAAQqhB,wBAA0BuB,EAAQiB,eAAiBjB,EAAQE,cACrE,OAAO,KAGT,IAAI32C,EAAM,CACRuqB,GAAIksB,EAAQlsB,GACZ5hB,SAAU,GACVokB,SAAU0pB,EAAQ1pB,SAClB4qB,aAAcJ,EAAgBd,GAC9Bf,YAAa7hB,EAAQohB,qBAAuBp2C,OAAOg1B,EAAQohB,qBAAqBwB,EAAQf,cAAgBe,EAAQf,YAAY5xC,QAO9H,OAJI+vB,EAAQihB,cACV90C,EAAIusB,WAAakqB,EAAQlqB,YAGvBsH,EAAQshB,sBACHthB,EAAQshB,sBAAsBn1C,EAAKy2C,GAGrCz2C,EA2ET,MAAO,CACL0yC,kBAbF,SAA4BxB,GAC1B,OAAOzhB,EAAOp1B,KAAK62C,GAAe,SAAkB0G,EAAMC,GACxD,IAAIC,EAAiBN,EAAiBK,GAItC,OAHIC,GAzDR,SAAkB9rB,EAAM2mB,GAUtB,IATA,IAAI3yC,EAAMw3C,EAAiBxrB,GACvB5kB,EAAQpH,EAAI23C,aACZjoB,EAAQijB,EACRoF,EAAWT,EAAY5nB,GAIvBsoB,EAAU5wC,GAHM2wC,EAChBA,EAASJ,aACT,GAGGK,EAAU,IACfD,EAAWT,EAAY5nB,UACeuoB,IAAtBF,EAASpvC,WACvB+mB,EAAQqoB,EAASpvC,UAEnBqvC,IAGE5wC,GAASysB,EAAQ4gB,gBACnBz0C,EAAI61C,aAAc,GAGpBnmB,EAAMvvB,KAAKH,GAoCPk4C,CAAQJ,EAAgBF,EAAKjF,MAExBiF,IACN,CACDjF,KAAM,MAMRL,eApCF,SAAyBC,EAAiBC,GACxC,IAAI2F,EAAY3F,EACZ3e,EAAQigB,iBACVqE,EAAY3F,EAAgBvzC,MAAM,KAC/B0+B,KAAI,SAAuBuY,GAC1B,OAAOA,EAASpyC,OAAS,QAAU+vB,EAAQigB,eAAiB,QAGlE,IACE,OAAO51C,SAAS28B,cAAc0X,GAC3BtQ,iBAAiBkW,GACpB,MAAO97C,GAEP,OADAgc,QAAQ5U,KAAK,sBAAwB8uC,GAC9B,U,cCjHbt4C,EAAOD,QAAU,SAAyB65B,GACxC,IAAIukB,EAAMl6C,SAAS28B,cAAchH,EAAQ6d,aACzC,GAAI0G,GAAOA,EAAIC,aAAeD,EAAIE,aAAc,CAC9C,IAAIC,EAAaH,EAAIvd,cAAc,IAAMhH,EAAQ2gB,qBAC7C+D,IACFH,EAAIzhB,UAAY4hB,EAAWlC,c,cCiBjCr8C,EAAQm4C,oBAER,SAA8Bte,GAiDC31B,SAAS+8B,gBAAgBzT,MA9CtD,IAAI4S,EAAWvG,EAAQuG,SACnBhB,EAASvF,EAAQuF,OAEjBof,EAAUtpC,SAAS4e,KACnB2qB,EAAUvpC,SAASC,MACnBD,SAASC,KAoCb,SAASspC,EAAW31C,GAClB,OAAOA,EAAIvD,MAAM,EAAGuD,EAAIG,YAAY,MAhCpC/E,SAAS8qB,KAAK5nB,iBAAiB,SAE/B,SAAkB/E,GAuBpB,IAAuBV,EACc,OADdA,EArBHU,EAAE89B,QAsBX7P,QAAQ3M,iBACdhiB,EAAEmyB,KAAKpwB,OAAS,GAA0C,MAArC/B,EAAEwT,KAAK1P,OAAO9D,EAAEwT,KAAKzR,OAAS,KACnD+6C,EAAU98C,EAAEwT,QAAUqpC,GAAWC,EAAU98C,EAAEwT,MAAQ,MAAQqpC,GAvB5Dn8C,EAAE89B,OAAO8b,UAAU73B,QAAQ,qBAAuB,GACE,MAAnD/hB,EAAE89B,OAAOhrB,KAAK1P,OAAOpD,EAAE89B,OAAOhrB,KAAKzR,OAAS,IACM,MAAnDrB,EAAE89B,OAAOhrB,KAAK1P,OAAOpD,EAAE89B,OAAOhrB,KAAKzR,OAAS,KACO,IAAnDrB,EAAE89B,OAAO8b,UAAU73B,QAAQyV,EAAQmgB,YA8C3C,SAAe7Z,EAAQtG,GACrB,IAoBIyG,EACAC,EArBAhzB,EAAQjL,OAAOk+B,YACfC,EAAM,CACRL,SAAUvG,EAAQuG,SAClBhB,OAAQvF,EAAQuF,QAAU,EAC1B9J,SAAUuE,EAAQvE,SAClBoL,OAAQ7G,EAAQ6G,QAkClB,SAAwBt/B,EAAGu/B,EAAGpgC,EAAGC,GAE/B,OADAY,GAAKZ,EAAI,GACD,EAAUD,EAAI,EAAIa,EAAIA,EAAIu/B,GAClCv/B,KACQb,EAAI,GAAKa,GAAKA,EAAI,GAAK,GAAKu/B,KAjClCC,EAAM18B,SAAS28B,cAAc,QAAUC,UAAUX,GAAQl7B,MAAM,KAAKO,KAAK,IAAM,MAC/Eu7B,EAA6B,iBAAXZ,EAClBM,EAAIrB,QACJe,EACKS,GAAOA,EAAII,wBAAwB3B,KAAQ,IAC1Cn7B,SAAS+8B,gBAAgBtE,WAAaz4B,SAAS8qB,KAAK2N,YAC1DwD,EACAC,EAAmC,mBAAjBK,EAAIL,SACtBK,EAAIL,SAASW,GACbN,EAAIL,SAKR,SAASc,EAAM5vB,GACbivB,EAAcjvB,EAAOgvB,EAErBh+B,OAAO+9B,SAAS,EAAGI,EAAIC,OAAOH,EAAahzB,EAAOwzB,EAAUX,IAExDG,EAAcH,EAAYe,sBAAsBD,IAIpD5+B,OAAO+9B,SAAS,EAAG9yB,EAAQwzB,GAEC,mBAAjBN,EAAInL,UAA2BmL,EAAInL,YAZhD6L,uBAAsB,SAAU7vB,GAAQgvB,EAAYhvB,EAAM4vB,EAAK5vB,MA/D3DotC,CAAKr8C,EAAE89B,OAAOrM,KAAM,CAClBsM,SAAUA,EACVhB,OAAQA,EACR9J,SAAU,WAuBhB,IAAmBxB,EACbupB,EADavpB,EAtBFzxB,EAAE89B,OAAOrM,MAuBpBupB,EAAUn5C,SAASwqB,eAAeoF,EAAK9gB,UAAU,OAG9C,wCAAwCtO,KAAK24C,EAAQ/sB,WACxD+sB,EAAQsB,UAAY,GAGtBtB,EAAQ5zB,eAjDuC,K,cCnBrD,IAEIm1B,EAAW16C,SAAS+8B,gBAAgBrI,KAoCxCtL,GAtBA,WACEA,EAAE,WAAWsI,MAAK,SAASipB,EAAK7sB,GAC9B,IAAI8sB,EACAC,EAAezxB,EAAE0E,GACjBgtB,EAAYD,EAAanB,OAAOniB,KAAK,UAGvCqjB,EADc,MAAZF,EACiBtxB,EAAE,oMACA,MAAZsxB,EACUtxB,EAAE,2MAEFA,EAAE,oMAGvB0xB,EAAUrnC,OAAOmnC,GACjBA,EAAiBxkB,GAAG,SAAS,SAASif,GACpCA,EAAMne,iBA5BZ,SAA6B2jB,GAC3Bz8C,OAAOw8B,kBALLtB,GAMFuhB,EAAanB,OAAOqB,YAAY,WAChCF,EAAa7hB,SA0BTgiB,CAAoBH","file":"template.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/assets/themes/j1/core/js\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/*\n # -----------------------------------------------------------------------------\n # ~/src/template.js\n # J1 Template Javascript Core library\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n #\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint-disable no-unused-vars */\n/* global window */\n\n// -----------------------------------------------------------------------------\n// Import SASS sources for HMR\n// -----------------------------------------------------------------------------\n// import '../100_template_css/scss/theme_uno/components/_footer.scss';\n// import '../100_template_css/theme_uno.css'; // <-- yes, also require (s)css. This is a Webpack thing\n\n// Core Libraries - imported|required from NODE|NPM modules\n// -----------------------------------------------------------------------------\n//\n// Following objects (framework modules) are *conditionaly* forced to be\n// exposed for run-time to the global namespace (window) by WP config\n// file (expose-loader):\n// jQuery\n// Popper ('popper.js/dist/umd/popper', https://github.com/twbs/bootstrap/issues/23381)\n// -----------------------------------------------------------------------------\n\n// Core Utilities (moved to modules)\n// -----------------------------------------------------------------------------\n// Following objects (native node modules) are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\nwindow.Cookies = require('js-cookie');\nwindow.log4javascript = require('log4javascript');\nwindow.liteURL = require('lite-url');\nwindow.platform = require('platform');\n// window.yaml = require('js-yaml'); # NOT longer used/needed\n// window.uuid = require('uuid/v4'); # NOT longer used/needed\n\n// Core Libraries - build|required from SOURCE\n// -----------------------------------------------------------------------------\n\n// Following source objects|modules are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\nwindow.j1.adapter = require('./js/adapter/adapter.js');\nwindow.j1.core = require('./js/core/core.js');\nwindow.j1.core.navigator = require('./js/navigator/navigator.js');\n// window.j1.core.cookiebar = require('./js/cookiebar/cookiebar.js');\n// window.j1.core.cookieconsent = require('./js/cookieconsent/cookieconsent.js');\nwindow.j1.core.asciidoctor = require('./js/asciidoctor/asciidoctor.js');\nwindow.j1.core.scrollSmooth = require('./js/scroll-smooth/scroll-smooth.js');\nwindow.j1.anime = require('./js/anime/anime.js'); // added for fam\n// window.j1.fam = require('./js/fam/fam.js'); // cannot used until NOT rewritten to jQuery\n\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n//const Bootstrap = require('./js/bootstrap/bootstrap.js');\n//const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js');\nconst J1Tocbot = require('./js/tocbot/tocbot.js');\n//const J1ThemeSwitcher = require('./js/bs_theme_switcher/switcher.js');\n// const J1MmenuLight = require('./js/mmenu-light/mmenu.js');\n\n// Passing log data over Internet|SeeMe (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.log4javascript = require('./js/logger/client/webhook.js');\n\n// BMD Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// window.bootstrapMaterialDesign = require('./js/bmd/js/bmd.js');\n\n// Github Webhooks (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.webhooks = require('./js/webhooks/octokit/client.js');\n\n\n// Test|Custom modules (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1promiseTest = require('./js/custom/test_promises.js');\n// window.j1Example = require('./js/custom/example_module.js');\n\n// BS Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n// const Bootstrap = require('./js/bootstrap/bootstrap.js');\n\n// const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js'); // Buffer Kack\n// const J1Tocbot = require('./js/tocbot/tocbot.js');\n\n// Backstretch (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the namespace of jQuery ($).\n// -----------------------------------------------------------------------------\n// const J1Attics = require('./js/backstretch/backstretch.js');\n\n// Additional Vanilla JS helpers\n// -----------------------------------------------------------------------------\nconst J1AdocResultViewer = require('./js/adoc_result_viewer/view_results.js');\n// const MSIEPolyfills = require('./js/polyfills/ms-ie.js');\n\n// HMR messages (currently NOT used)\n// -----------------------------------------------------------------------------\n// if (module.hot) {\n// var logtext;\n// var stat;\n// var stat=module.hot.status();\n//\n// logtext='[INFO ] [HMR ] [Hot Module Replacement enabled]';\n// console.log(logtext);\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n//\n// module.hot.accept('./template.js', function() {\n// console.log('[HMR] Accepting the updated template.js module!');\n// });\n//\n// module.hot.accept('../100_template_css/theme_uno.scss', function () {\n// console.log('[HMR] Accepting the updated style.css module!');\n// require('../100_template_css/theme_uno.scss')\n// })\n//\n// React to the current status...\n// module.hot.addStatusHandler(status => {\n// stat=module.hot.status();\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n// });\n//}\n\n// -----------------------------------------------------------------------------\n// END\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","/**\r\n * Copyright 2015 Tim Down.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n\r\n(function(factory,root){if(typeof define==\"function\"&&define.amd){define(factory);}else if(typeof module!=\"undefined\"&&typeof exports==\"object\"){module.exports=factory();}else{root.log4javascript=factory();}})(function(){if(!Array.prototype.push){Array.prototype.push=function(){for(var i=0,len=arguments.length;i<len;i++){this[this.length]=arguments[i];}\r\nreturn this.length;};}\r\nif(!Array.prototype.shift){Array.prototype.shift=function(){if(this.length>0){var firstItem=this[0];for(var i=0,len=this.length-1;i<len;i++){this[i]=this[i+1];}\r\nthis.length=this.length-1;return firstItem;}};}\r\nif(!Array.prototype.splice){Array.prototype.splice=function(startIndex,deleteCount){var itemsAfterDeleted=this.slice(startIndex+deleteCount);var itemsDeleted=this.slice(startIndex,startIndex+deleteCount);this.length=startIndex;var argumentsArray=[];for(var i=0,len=arguments.length;i<len;i++){argumentsArray[i]=arguments[i];}\r\nvar itemsToAppend=(argumentsArray.length>2)?itemsAfterDeleted=argumentsArray.slice(2).concat(itemsAfterDeleted):itemsAfterDeleted;for(i=0,len=itemsToAppend.length;i<len;i++){this.push(itemsToAppend[i]);}\r\nreturn itemsDeleted;};}\r\nfunction isUndefined(obj){return typeof obj==\"undefined\";}\r\nfunction EventSupport(){}\r\nEventSupport.prototype={eventTypes:[],eventListeners:{},setEventTypes:function(eventTypesParam){if(eventTypesParam instanceof Array){this.eventTypes=eventTypesParam;this.eventListeners={};for(var i=0,len=this.eventTypes.length;i<len;i++){this.eventListeners[this.eventTypes[i]]=[];}}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: setEventTypes: eventTypes parameter must be an Array\");}},addEventListener:function(eventType,listener){if(typeof listener==\"function\"){if(!array_contains(this.eventTypes,eventType)){handleError(\"log4javascript.EventSupport [\"+this+\"]: addEventListener: no event called '\"+eventType+\"'\");}\r\nthis.eventListeners[eventType].push(listener);}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: addEventListener: listener must be a function\");}},removeEventListener:function(eventType,listener){if(typeof listener==\"function\"){if(!array_contains(this.eventTypes,eventType)){handleError(\"log4javascript.EventSupport [\"+this+\"]: removeEventListener: no event called '\"+eventType+\"'\");}\r\narray_remove(this.eventListeners[eventType],listener);}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: removeEventListener: listener must be a function\");}},dispatchEvent:function(eventType,eventArgs){if(array_contains(this.eventTypes,eventType)){var listeners=this.eventListeners[eventType];for(var i=0,len=listeners.length;i<len;i++){listeners[i](this,eventType,eventArgs);}}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: dispatchEvent: no event called '\"+eventType+\"'\");}}};var applicationStartDate=new Date();var uniqueId=\"log4javascript_\"+applicationStartDate.getTime()+\"_\"+\r\nMath.floor(Math.random()*100000000);var emptyFunction=function(){};var newLine=\"\\r\\n\";var pageLoaded=false;function Log4JavaScript(){}\r\nLog4JavaScript.prototype=new EventSupport();var log4javascript=new Log4JavaScript();log4javascript.version=\"1.4.13\";log4javascript.edition=\"log4javascript\";function toStr(obj){if(obj&&obj.toString){return obj.toString();}else{return String(obj);}}\r\nfunction getExceptionMessage(ex){if(ex.message){return ex.message;}else if(ex.description){return ex.description;}else{return toStr(ex);}}\r\nfunction getUrlFileName(url){var lastSlashIndex=Math.max(url.lastIndexOf(\"/\"),url.lastIndexOf(\"\\\\\"));return url.substr(lastSlashIndex+1);}\r\nfunction getExceptionStringRep(ex){if(ex){var exStr=\"Exception: \"+getExceptionMessage(ex);try{if(ex.lineNumber){exStr+=\" on line number \"+ex.lineNumber;}\r\nif(ex.fileName){exStr+=\" in file \"+getUrlFileName(ex.fileName);}}catch(localEx){logLog.warn(\"Unable to obtain file and line information for error\");}\r\nif(showStackTraces&&ex.stack){exStr+=newLine+\"Stack trace:\"+newLine+ex.stack;}\r\nreturn exStr;}\r\nreturn null;}\r\nfunction bool(obj){return Boolean(obj);}\r\nfunction trim(str){return str.replace(/^\\s+/,\"\").replace(/\\s+$/,\"\");}\r\nfunction splitIntoLines(text){var text2=text.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");return text2.split(\"\\n\");}\r\nvar urlEncode=(typeof window.encodeURIComponent!=\"undefined\")?function(str){return encodeURIComponent(str);}:function(str){return escape(str).replace(/\\+/g,\"%2B\").replace(/\"/g,\"%22\").replace(/'/g,\"%27\").replace(/\\//g,\"%2F\").replace(/=/g,\"%3D\");};function array_remove(arr,val){var index=-1;for(var i=0,len=arr.length;i<len;i++){if(arr[i]===val){index=i;break;}}\r\nif(index>=0){arr.splice(index,1);return true;}else{return false;}}\r\nfunction array_contains(arr,val){for(var i=0,len=arr.length;i<len;i++){if(arr[i]==val){return true;}}\r\nreturn false;}\r\nfunction extractBooleanFromParam(param,defaultValue){if(isUndefined(param)){return defaultValue;}else{return bool(param);}}\r\nfunction extractStringFromParam(param,defaultValue){if(isUndefined(param)){return defaultValue;}else{return String(param);}}\r\nfunction extractIntFromParam(param,defaultValue){if(isUndefined(param)){return defaultValue;}else{try{var value=parseInt(param,10);return isNaN(value)?defaultValue:value;}catch(ex){logLog.warn(\"Invalid int param \"+param,ex);return defaultValue;}}}\r\nfunction extractFunctionFromParam(param,defaultValue){if(typeof param==\"function\"){return param;}else{return defaultValue;}}\r\nfunction isError(err){return(err instanceof Error);}\r\nif(!Function.prototype.apply){Function.prototype.apply=function(obj,args){var methodName=\"__apply__\";if(typeof obj[methodName]!=\"undefined\"){methodName+=String(Math.random()).substr(2);}\r\nobj[methodName]=this;var argsStrings=[];for(var i=0,len=args.length;i<len;i++){argsStrings[i]=\"args[\"+i+\"]\";}\r\nvar script=\"obj.\"+methodName+\"(\"+argsStrings.join(\",\")+\")\";var returnValue=eval(script);delete obj[methodName];return returnValue;};}\r\nif(!Function.prototype.call){Function.prototype.call=function(obj){var args=[];for(var i=1,len=arguments.length;i<len;i++){args[i-1]=arguments[i];}\r\nreturn this.apply(obj,args);};}\r\nvar logLog={quietMode:false,debugMessages:[],setQuietMode:function(quietMode){this.quietMode=bool(quietMode);},numberOfErrors:0,alertAllErrors:false,setAlertAllErrors:function(alertAllErrors){this.alertAllErrors=alertAllErrors;},debug:function(message){this.debugMessages.push(message);},displayDebug:function(){alert(this.debugMessages.join(newLine));},warn:function(message,exception){},error:function(message,exception){if(++this.numberOfErrors==1||this.alertAllErrors){if(!this.quietMode){var alertMessage=\"log4javascript error: \"+message;if(exception){alertMessage+=newLine+newLine+\"Original error: \"+getExceptionStringRep(exception);}\r\nalert(alertMessage);}}}};log4javascript.logLog=logLog;log4javascript.setEventTypes([\"load\",\"error\"]);function handleError(message,exception){logLog.error(message,exception);log4javascript.dispatchEvent(\"error\",{\"message\":message,\"exception\":exception});}\r\nlog4javascript.handleError=handleError;var enabled=!((typeof log4javascript_disabled!=\"undefined\")&&log4javascript_disabled);log4javascript.setEnabled=function(enable){enabled=bool(enable);};log4javascript.isEnabled=function(){return enabled;};var useTimeStampsInMilliseconds=true;log4javascript.setTimeStampsInMilliseconds=function(timeStampsInMilliseconds){useTimeStampsInMilliseconds=bool(timeStampsInMilliseconds);};log4javascript.isTimeStampsInMilliseconds=function(){return useTimeStampsInMilliseconds;};log4javascript.evalInScope=function(expr){return eval(expr);};var showStackTraces=false;log4javascript.setShowStackTraces=function(show){showStackTraces=bool(show);};var Level=function(level,name){this.level=level;this.name=name;};Level.prototype={toString:function(){return this.name;},equals:function(level){return this.level==level.level;},isGreaterOrEqual:function(level){return this.level>=level.level;}};Level.ALL=new Level(Number.MIN_VALUE,\"ALL\");Level.TRACE=new Level(10000,\"TRACE\");Level.DEBUG=new Level(20000,\"DEBUG\");Level.INFO=new Level(30000,\"INFO\");Level.WARN=new Level(40000,\"WARN\");Level.ERROR=new Level(50000,\"ERROR\");Level.FATAL=new Level(60000,\"FATAL\");Level.OFF=new Level(Number.MAX_VALUE,\"OFF\");log4javascript.Level=Level;function Timer(name,level){this.name=name;this.level=isUndefined(level)?Level.INFO:level;this.start=new Date();}\r\nTimer.prototype.getElapsedTime=function(){return new Date().getTime()-this.start.getTime();};var anonymousLoggerName=\"[anonymous]\";var defaultLoggerName=\"[default]\";var nullLoggerName=\"[null]\";var rootLoggerName=\"root\";function Logger(name){this.name=name;this.parent=null;this.children=[];var appenders=[];var loggerLevel=null;var isRoot=(this.name===rootLoggerName);var isNull=(this.name===nullLoggerName);var appenderCache=null;var appenderCacheInvalidated=false;this.addChild=function(childLogger){this.children.push(childLogger);childLogger.parent=this;childLogger.invalidateAppenderCache();};var additive=true;this.getAdditivity=function(){return additive;};this.setAdditivity=function(additivity){var valueChanged=(additive!=additivity);additive=additivity;if(valueChanged){this.invalidateAppenderCache();}};this.addAppender=function(appender){if(isNull){handleError(\"Logger.addAppender: you may not add an appender to the null logger\");}else{if(appender instanceof log4javascript.Appender){if(!array_contains(appenders,appender)){appenders.push(appender);appender.setAddedToLogger(this);this.invalidateAppenderCache();}}else{handleError(\"Logger.addAppender: appender supplied ('\"+\r\ntoStr(appender)+\"') is not a subclass of Appender\");}}};this.removeAppender=function(appender){array_remove(appenders,appender);appender.setRemovedFromLogger(this);this.invalidateAppenderCache();};this.removeAllAppenders=function(){var appenderCount=appenders.length;if(appenderCount>0){for(var i=0;i<appenderCount;i++){appenders[i].setRemovedFromLogger(this);}\r\nappenders.length=0;this.invalidateAppenderCache();}};this.getEffectiveAppenders=function(){if(appenderCache===null||appenderCacheInvalidated){var parentEffectiveAppenders=(isRoot||!this.getAdditivity())?[]:this.parent.getEffectiveAppenders();appenderCache=parentEffectiveAppenders.concat(appenders);appenderCacheInvalidated=false;}\r\nreturn appenderCache;};this.invalidateAppenderCache=function(){appenderCacheInvalidated=true;for(var i=0,len=this.children.length;i<len;i++){this.children[i].invalidateAppenderCache();}};this.log=function(level,params){if(enabled&&level.isGreaterOrEqual(this.getEffectiveLevel())){var exception;var finalParamIndex=params.length-1;var lastParam=params[finalParamIndex];if(params.length>1&&isError(lastParam)){exception=lastParam;finalParamIndex--;}\r\nvar messages=[];for(var i=0;i<=finalParamIndex;i++){messages[i]=params[i];}\r\nvar loggingEvent=new LoggingEvent(this,new Date(),level,messages,exception);this.callAppenders(loggingEvent);}};this.callAppenders=function(loggingEvent){var effectiveAppenders=this.getEffectiveAppenders();for(var i=0,len=effectiveAppenders.length;i<len;i++){effectiveAppenders[i].doAppend(loggingEvent);}};this.setLevel=function(level){if(isRoot&&level===null){handleError(\"Logger.setLevel: you cannot set the level of the root logger to null\");}else if(level instanceof Level){loggerLevel=level;}else{handleError(\"Logger.setLevel: level supplied to logger \"+\r\nthis.name+\" is not an instance of log4javascript.Level\");}};this.getLevel=function(){return loggerLevel;};this.getEffectiveLevel=function(){for(var logger=this;logger!==null;logger=logger.parent){var level=logger.getLevel();if(level!==null){return level;}}};this.group=function(name,initiallyExpanded){if(enabled){var effectiveAppenders=this.getEffectiveAppenders();for(var i=0,len=effectiveAppenders.length;i<len;i++){effectiveAppenders[i].group(name,initiallyExpanded);}}};this.groupEnd=function(){if(enabled){var effectiveAppenders=this.getEffectiveAppenders();for(var i=0,len=effectiveAppenders.length;i<len;i++){effectiveAppenders[i].groupEnd();}}};var timers={};this.time=function(name,level){if(enabled){if(isUndefined(name)){handleError(\"Logger.time: a name for the timer must be supplied\");}else if(level&&!(level instanceof Level)){handleError(\"Logger.time: level supplied to timer \"+\r\nname+\" is not an instance of log4javascript.Level\");}else{timers[name]=new Timer(name,level);}}};this.timeEnd=function(name){if(enabled){if(isUndefined(name)){handleError(\"Logger.timeEnd: a name for the timer must be supplied\");}else if(timers[name]){var timer=timers[name];var milliseconds=timer.getElapsedTime();this.log(timer.level,[\"Timer \"+toStr(name)+\" completed in \"+milliseconds+\"ms\"]);delete timers[name];}else{logLog.warn(\"Logger.timeEnd: no timer found with name \"+name);}}};this.assert=function(expr){if(enabled&&!expr){var args=[];for(var i=1,len=arguments.length;i<len;i++){args.push(arguments[i]);}\r\nargs=(args.length>0)?args:[\"Assertion Failure\"];args.push(newLine);args.push(expr);this.log(Level.ERROR,args);}};this.toString=function(){return\"Logger[\"+this.name+\"]\";};}\r\nLogger.prototype={trace:function(){this.log(Level.TRACE,arguments);},debug:function(){this.log(Level.DEBUG,arguments);},info:function(){this.log(Level.INFO,arguments);},warn:function(){this.log(Level.WARN,arguments);},error:function(){this.log(Level.ERROR,arguments);},fatal:function(){this.log(Level.FATAL,arguments);},isEnabledFor:function(level){return level.isGreaterOrEqual(this.getEffectiveLevel());},isTraceEnabled:function(){return this.isEnabledFor(Level.TRACE);},isDebugEnabled:function(){return this.isEnabledFor(Level.DEBUG);},isInfoEnabled:function(){return this.isEnabledFor(Level.INFO);},isWarnEnabled:function(){return this.isEnabledFor(Level.WARN);},isErrorEnabled:function(){return this.isEnabledFor(Level.ERROR);},isFatalEnabled:function(){return this.isEnabledFor(Level.FATAL);}};Logger.prototype.trace.isEntryPoint=true;Logger.prototype.debug.isEntryPoint=true;Logger.prototype.info.isEntryPoint=true;Logger.prototype.warn.isEntryPoint=true;Logger.prototype.error.isEntryPoint=true;Logger.prototype.fatal.isEntryPoint=true;var loggers={};var loggerNames=[];var ROOT_LOGGER_DEFAULT_LEVEL=Level.DEBUG;var rootLogger=new Logger(rootLoggerName);rootLogger.setLevel(ROOT_LOGGER_DEFAULT_LEVEL);log4javascript.getRootLogger=function(){return rootLogger;};log4javascript.getLogger=function(loggerName){if(typeof loggerName!=\"string\"){loggerName=anonymousLoggerName;logLog.warn(\"log4javascript.getLogger: non-string logger name \"+\r\ntoStr(loggerName)+\" supplied, returning anonymous logger\");}\r\nif(loggerName==rootLoggerName){handleError(\"log4javascript.getLogger: root logger may not be obtained by name\");}\r\nif(!loggers[loggerName]){var logger=new Logger(loggerName);loggers[loggerName]=logger;loggerNames.push(loggerName);var lastDotIndex=loggerName.lastIndexOf(\".\");var parentLogger;if(lastDotIndex>-1){var parentLoggerName=loggerName.substring(0,lastDotIndex);parentLogger=log4javascript.getLogger(parentLoggerName);}else{parentLogger=rootLogger;}\r\nparentLogger.addChild(logger);}\r\nreturn loggers[loggerName];};var defaultLogger=null;log4javascript.getDefaultLogger=function(){if(!defaultLogger){defaultLogger=createDefaultLogger();}\r\nreturn defaultLogger;};var nullLogger=null;log4javascript.getNullLogger=function(){if(!nullLogger){nullLogger=new Logger(nullLoggerName);nullLogger.setLevel(Level.OFF);}\r\nreturn nullLogger;};log4javascript.resetConfiguration=function(){rootLogger.setLevel(ROOT_LOGGER_DEFAULT_LEVEL);loggers={};};var LoggingEvent=function(logger,timeStamp,level,messages,exception){this.logger=logger;this.timeStamp=timeStamp;this.timeStampInMilliseconds=timeStamp.getTime();this.timeStampInSeconds=Math.floor(this.timeStampInMilliseconds/1000);this.milliseconds=this.timeStamp.getMilliseconds();this.level=level;this.messages=messages;this.exception=exception;};LoggingEvent.prototype={getThrowableStrRep:function(){return this.exception?getExceptionStringRep(this.exception):\"\";},getCombinedMessages:function(){return(this.messages.length==1)?this.messages[0]:this.messages.join(newLine);},toString:function(){return\"LoggingEvent[\"+this.level+\"]\";}};log4javascript.LoggingEvent=LoggingEvent;var Layout=function(){};Layout.prototype={defaults:{loggerKey:\"logger\",timeStampKey:\"timestamp\",millisecondsKey:\"milliseconds\",levelKey:\"level\",messageKey:\"message\",exceptionKey:\"exception\",urlKey:\"url\"},loggerKey:\"logger\",timeStampKey:\"timestamp\",millisecondsKey:\"milliseconds\",levelKey:\"level\",messageKey:\"message\",exceptionKey:\"exception\",urlKey:\"url\",batchHeader:\"\",batchFooter:\"\",batchSeparator:\"\",returnsPostData:false,overrideTimeStampsSetting:false,useTimeStampsInMilliseconds:null,format:function(){handleError(\"Layout.format: layout supplied has no format() method\");},ignoresThrowable:function(){handleError(\"Layout.ignoresThrowable: layout supplied has no ignoresThrowable() method\");},getContentType:function(){return\"text/plain\";},allowBatching:function(){return true;},setTimeStampsInMilliseconds:function(timeStampsInMilliseconds){this.overrideTimeStampsSetting=true;this.useTimeStampsInMilliseconds=bool(timeStampsInMilliseconds);},isTimeStampsInMilliseconds:function(){return this.overrideTimeStampsSetting?this.useTimeStampsInMilliseconds:useTimeStampsInMilliseconds;},getTimeStampValue:function(loggingEvent){return this.isTimeStampsInMilliseconds()?loggingEvent.timeStampInMilliseconds:loggingEvent.timeStampInSeconds;},getDataValues:function(loggingEvent,combineMessages){var dataValues=[[this.loggerKey,loggingEvent.logger.name],[this.timeStampKey,this.getTimeStampValue(loggingEvent)],[this.levelKey,loggingEvent.level.name],[this.urlKey,window.location.href],[this.messageKey,combineMessages?loggingEvent.getCombinedMessages():loggingEvent.messages]];if(!this.isTimeStampsInMilliseconds()){dataValues.push([this.millisecondsKey,loggingEvent.milliseconds]);}\r\nif(loggingEvent.exception){dataValues.push([this.exceptionKey,getExceptionStringRep(loggingEvent.exception)]);}\r\nif(this.hasCustomFields()){for(var i=0,len=this.customFields.length;i<len;i++){var val=this.customFields[i].value;if(typeof val===\"function\"){val=val(this,loggingEvent);}\r\ndataValues.push([this.customFields[i].name,val]);}}\r\nreturn dataValues;},setKeys:function(loggerKey,timeStampKey,levelKey,messageKey,exceptionKey,urlKey,millisecondsKey){this.loggerKey=extractStringFromParam(loggerKey,this.defaults.loggerKey);this.timeStampKey=extractStringFromParam(timeStampKey,this.defaults.timeStampKey);this.levelKey=extractStringFromParam(levelKey,this.defaults.levelKey);this.messageKey=extractStringFromParam(messageKey,this.defaults.messageKey);this.exceptionKey=extractStringFromParam(exceptionKey,this.defaults.exceptionKey);this.urlKey=extractStringFromParam(urlKey,this.defaults.urlKey);this.millisecondsKey=extractStringFromParam(millisecondsKey,this.defaults.millisecondsKey);},setCustomField:function(name,value){var fieldUpdated=false;for(var i=0,len=this.customFields.length;i<len;i++){if(this.customFields[i].name===name){this.customFields[i].value=value;fieldUpdated=true;}}\r\nif(!fieldUpdated){this.customFields.push({\"name\":name,\"value\":value});}},hasCustomFields:function(){return(this.customFields.length>0);},formatWithException:function(loggingEvent){var formatted=this.format(loggingEvent);if(loggingEvent.exception&&this.ignoresThrowable()){formatted+=loggingEvent.getThrowableStrRep();}\r\nreturn formatted;},toString:function(){handleError(\"Layout.toString: all layouts must override this method\");}};log4javascript.Layout=Layout;var Appender=function(){};Appender.prototype=new EventSupport();Appender.prototype.layout=new PatternLayout();Appender.prototype.threshold=Level.ALL;Appender.prototype.loggers=[];Appender.prototype.doAppend=function(loggingEvent){if(enabled&&loggingEvent.level.level>=this.threshold.level){this.append(loggingEvent);}};Appender.prototype.append=function(loggingEvent){};Appender.prototype.setLayout=function(layout){if(layout instanceof Layout){this.layout=layout;}else{handleError(\"Appender.setLayout: layout supplied to \"+\r\nthis.toString()+\" is not a subclass of Layout\");}};Appender.prototype.getLayout=function(){return this.layout;};Appender.prototype.setThreshold=function(threshold){if(threshold instanceof Level){this.threshold=threshold;}else{handleError(\"Appender.setThreshold: threshold supplied to \"+\r\nthis.toString()+\" is not a subclass of Level\");}};Appender.prototype.getThreshold=function(){return this.threshold;};Appender.prototype.setAddedToLogger=function(logger){this.loggers.push(logger);};Appender.prototype.setRemovedFromLogger=function(logger){array_remove(this.loggers,logger);};Appender.prototype.group=emptyFunction;Appender.prototype.groupEnd=emptyFunction;Appender.prototype.toString=function(){handleError(\"Appender.toString: all appenders must override this method\");};log4javascript.Appender=Appender;function SimpleLayout(){this.customFields=[];}\r\nSimpleLayout.prototype=new Layout();SimpleLayout.prototype.format=function(loggingEvent){return loggingEvent.level.name+\" - \"+loggingEvent.getCombinedMessages();};SimpleLayout.prototype.ignoresThrowable=function(){return true;};SimpleLayout.prototype.toString=function(){return\"SimpleLayout\";};log4javascript.SimpleLayout=SimpleLayout;function NullLayout(){this.customFields=[];}\r\nNullLayout.prototype=new Layout();NullLayout.prototype.format=function(loggingEvent){return loggingEvent.messages;};NullLayout.prototype.ignoresThrowable=function(){return true;};NullLayout.prototype.formatWithException=function(loggingEvent){var messages=loggingEvent.messages,ex=loggingEvent.exception;return ex?messages.concat([ex]):messages;};NullLayout.prototype.toString=function(){return\"NullLayout\";};log4javascript.NullLayout=NullLayout;function XmlLayout(combineMessages){this.combineMessages=extractBooleanFromParam(combineMessages,true);this.customFields=[];}\r\nXmlLayout.prototype=new Layout();XmlLayout.prototype.isCombinedMessages=function(){return this.combineMessages;};XmlLayout.prototype.getContentType=function(){return\"text/xml\";};XmlLayout.prototype.escapeCdata=function(str){return str.replace(/\\]\\]>/,\"]]>]]><![CDATA[\");};XmlLayout.prototype.format=function(loggingEvent){var layout=this;var i,len;function formatMessage(message){message=(typeof message===\"string\")?message:toStr(message);return\"<log4javascript:message><![CDATA[\"+\r\nlayout.escapeCdata(message)+\"]]></log4javascript:message>\";}\r\nvar str=\"<log4javascript:event logger=\\\"\"+loggingEvent.logger.name+\"\\\" timestamp=\\\"\"+this.getTimeStampValue(loggingEvent)+\"\\\"\";if(!this.isTimeStampsInMilliseconds()){str+=\" milliseconds=\\\"\"+loggingEvent.milliseconds+\"\\\"\";}\r\nstr+=\" level=\\\"\"+loggingEvent.level.name+\"\\\">\"+newLine;if(this.combineMessages){str+=formatMessage(loggingEvent.getCombinedMessages());}else{str+=\"<log4javascript:messages>\"+newLine;for(i=0,len=loggingEvent.messages.length;i<len;i++){str+=formatMessage(loggingEvent.messages[i])+newLine;}\r\nstr+=\"</log4javascript:messages>\"+newLine;}\r\nif(this.hasCustomFields()){for(i=0,len=this.customFields.length;i<len;i++){str+=\"<log4javascript:customfield name=\\\"\"+\r\nthis.customFields[i].name+\"\\\"><![CDATA[\"+\r\nthis.customFields[i].value.toString()+\"]]></log4javascript:customfield>\"+newLine;}}\r\nif(loggingEvent.exception){str+=\"<log4javascript:exception><![CDATA[\"+\r\ngetExceptionStringRep(loggingEvent.exception)+\"]]></log4javascript:exception>\"+newLine;}\r\nstr+=\"</log4javascript:event>\"+newLine+newLine;return str;};XmlLayout.prototype.ignoresThrowable=function(){return false;};XmlLayout.prototype.toString=function(){return\"XmlLayout\";};log4javascript.XmlLayout=XmlLayout;function escapeNewLines(str){return str.replace(/\\r\\n|\\r|\\n/g,\"\\\\r\\\\n\");}\r\nfunction JsonLayout(readable,combineMessages){this.readable=extractBooleanFromParam(readable,false);this.combineMessages=extractBooleanFromParam(combineMessages,true);this.batchHeader=this.readable?\"[\"+newLine:\"[\";this.batchFooter=this.readable?\"]\"+newLine:\"]\";this.batchSeparator=this.readable?\",\"+newLine:\",\";this.setKeys();this.colon=this.readable?\": \":\":\";this.tab=this.readable?\"\\t\":\"\";this.lineBreak=this.readable?newLine:\"\";this.customFields=[];}\r\nJsonLayout.prototype=new Layout();JsonLayout.prototype.isReadable=function(){return this.readable;};JsonLayout.prototype.isCombinedMessages=function(){return this.combineMessages;};JsonLayout.prototype.format=function(loggingEvent){var layout=this;var dataValues=this.getDataValues(loggingEvent,this.combineMessages);var str=\"{\"+this.lineBreak;var i,len;function formatValue(val,prefix,expand){var formattedValue;var valType=typeof val;if(val instanceof Date){formattedValue=String(val.getTime());}else if(expand&&(val instanceof Array)){formattedValue=\"[\"+layout.lineBreak;for(var i=0,len=val.length;i<len;i++){var childPrefix=prefix+layout.tab;formattedValue+=childPrefix+formatValue(val[i],childPrefix,false);if(i<val.length-1){formattedValue+=\",\";}\r\nformattedValue+=layout.lineBreak;}\r\nformattedValue+=prefix+\"]\";}else if(valType!==\"number\"&&valType!==\"boolean\"){formattedValue=\"\\\"\"+escapeNewLines(toStr(val).replace(/\\\"/g,\"\\\\\\\"\"))+\"\\\"\";}else{formattedValue=val;}\r\nreturn formattedValue;}\r\nfor(i=0,len=dataValues.length-1;i<=len;i++){str+=this.tab+\"\\\"\"+dataValues[i][0]+\"\\\"\"+this.colon+formatValue(dataValues[i][1],this.tab,true);if(i<len){str+=\",\";}\r\nstr+=this.lineBreak;}\r\nstr+=\"}\"+this.lineBreak;return str;};JsonLayout.prototype.ignoresThrowable=function(){return false;};JsonLayout.prototype.toString=function(){return\"JsonLayout\";};JsonLayout.prototype.getContentType=function(){return\"application/json\";};log4javascript.JsonLayout=JsonLayout;function HttpPostDataLayout(){this.setKeys();this.customFields=[];this.returnsPostData=true;}\r\nHttpPostDataLayout.prototype=new Layout();HttpPostDataLayout.prototype.allowBatching=function(){return false;};HttpPostDataLayout.prototype.format=function(loggingEvent){var dataValues=this.getDataValues(loggingEvent);var queryBits=[];for(var i=0,len=dataValues.length;i<len;i++){var val=(dataValues[i][1]instanceof Date)?String(dataValues[i][1].getTime()):dataValues[i][1];queryBits.push(urlEncode(dataValues[i][0])+\"=\"+urlEncode(val));}\r\nreturn queryBits.join(\"&\");};HttpPostDataLayout.prototype.ignoresThrowable=function(loggingEvent){return false;};HttpPostDataLayout.prototype.toString=function(){return\"HttpPostDataLayout\";};log4javascript.HttpPostDataLayout=HttpPostDataLayout;function formatObjectExpansion(obj,depth,indentation){var objectsExpanded=[];function doFormat(obj,depth,indentation){var i,len,childDepth,childIndentation,childLines,expansion,childExpansion;if(!indentation){indentation=\"\";}\r\nfunction formatString(text){var lines=splitIntoLines(text);for(var j=1,jLen=lines.length;j<jLen;j++){lines[j]=indentation+lines[j];}\r\nreturn lines.join(newLine);}\r\nif(obj===null){return\"null\";}else if(typeof obj==\"undefined\"){return\"undefined\";}else if(typeof obj==\"string\"){return formatString(obj);}else if(typeof obj==\"object\"&&array_contains(objectsExpanded,obj)){try{expansion=toStr(obj);}catch(ex){expansion=\"Error formatting property. Details: \"+getExceptionStringRep(ex);}\r\nreturn expansion+\" [already expanded]\";}else if((obj instanceof Array)&&depth>0){objectsExpanded.push(obj);expansion=\"[\"+newLine;childDepth=depth-1;childIndentation=indentation+\" \";childLines=[];for(i=0,len=obj.length;i<len;i++){try{childExpansion=doFormat(obj[i],childDepth,childIndentation);childLines.push(childIndentation+childExpansion);}catch(ex){childLines.push(childIndentation+\"Error formatting array member. Details: \"+\r\ngetExceptionStringRep(ex)+\"\");}}\r\nexpansion+=childLines.join(\",\"+newLine)+newLine+indentation+\"]\";return expansion;}else if(Object.prototype.toString.call(obj)==\"[object Date]\"){return obj.toString();}else if(typeof obj==\"object\"&&depth>0){objectsExpanded.push(obj);expansion=\"{\"+newLine;childDepth=depth-1;childIndentation=indentation+\" \";childLines=[];for(i in obj){try{childExpansion=doFormat(obj[i],childDepth,childIndentation);childLines.push(childIndentation+i+\": \"+childExpansion);}catch(ex){childLines.push(childIndentation+i+\": Error formatting property. Details: \"+\r\ngetExceptionStringRep(ex));}}\r\nexpansion+=childLines.join(\",\"+newLine)+newLine+indentation+\"}\";return expansion;}else{return formatString(toStr(obj));}}\r\nreturn doFormat(obj,depth,indentation);}\r\nvar SimpleDateFormat;(function(){var regex=/('[^']*')|(G+|y+|M+|w+|W+|D+|d+|F+|E+|a+|H+|k+|K+|h+|m+|s+|S+|Z+)|([a-zA-Z]+)|([^a-zA-Z']+)/;var monthNames=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];var dayNames=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var TEXT2=0,TEXT3=1,NUMBER=2,YEAR=3,MONTH=4,TIMEZONE=5;var types={G:TEXT2,y:YEAR,M:MONTH,w:NUMBER,W:NUMBER,D:NUMBER,d:NUMBER,F:NUMBER,E:TEXT3,a:TEXT2,H:NUMBER,k:NUMBER,K:NUMBER,h:NUMBER,m:NUMBER,s:NUMBER,S:NUMBER,Z:TIMEZONE};var ONE_DAY=24*60*60*1000;var ONE_WEEK=7*ONE_DAY;var DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK=1;var newDateAtMidnight=function(year,month,day){var d=new Date(year,month,day,0,0,0);d.setMilliseconds(0);return d;};Date.prototype.getDifference=function(date){return this.getTime()-date.getTime();};Date.prototype.isBefore=function(d){return this.getTime()<d.getTime();};Date.prototype.getUTCTime=function(){return Date.UTC(this.getFullYear(),this.getMonth(),this.getDate(),this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds());};Date.prototype.getTimeSince=function(d){return this.getUTCTime()-d.getUTCTime();};Date.prototype.getPreviousSunday=function(){var midday=new Date(this.getFullYear(),this.getMonth(),this.getDate(),12,0,0);var previousSunday=new Date(midday.getTime()-this.getDay()*ONE_DAY);return newDateAtMidnight(previousSunday.getFullYear(),previousSunday.getMonth(),previousSunday.getDate());};Date.prototype.getWeekInYear=function(minimalDaysInFirstWeek){if(isUndefined(this.minimalDaysInFirstWeek)){minimalDaysInFirstWeek=DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK;}\r\nvar previousSunday=this.getPreviousSunday();var startOfYear=newDateAtMidnight(this.getFullYear(),0,1);var numberOfSundays=previousSunday.isBefore(startOfYear)?0:1+Math.floor(previousSunday.getTimeSince(startOfYear)/ONE_WEEK);var numberOfDaysInFirstWeek=7-startOfYear.getDay();var weekInYear=numberOfSundays;if(numberOfDaysInFirstWeek<minimalDaysInFirstWeek){weekInYear--;}\r\nreturn weekInYear;};Date.prototype.getWeekInMonth=function(minimalDaysInFirstWeek){if(isUndefined(this.minimalDaysInFirstWeek)){minimalDaysInFirstWeek=DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK;}\r\nvar previousSunday=this.getPreviousSunday();var startOfMonth=newDateAtMidnight(this.getFullYear(),this.getMonth(),1);var numberOfSundays=previousSunday.isBefore(startOfMonth)?0:1+Math.floor(previousSunday.getTimeSince(startOfMonth)/ONE_WEEK);var numberOfDaysInFirstWeek=7-startOfMonth.getDay();var weekInMonth=numberOfSundays;if(numberOfDaysInFirstWeek>=minimalDaysInFirstWeek){weekInMonth++;}\r\nreturn weekInMonth;};Date.prototype.getDayInYear=function(){var startOfYear=newDateAtMidnight(this.getFullYear(),0,1);return 1+Math.floor(this.getTimeSince(startOfYear)/ONE_DAY);};SimpleDateFormat=function(formatString){this.formatString=formatString;};SimpleDateFormat.prototype.setMinimalDaysInFirstWeek=function(days){this.minimalDaysInFirstWeek=days;};SimpleDateFormat.prototype.getMinimalDaysInFirstWeek=function(){return isUndefined(this.minimalDaysInFirstWeek)?DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK:this.minimalDaysInFirstWeek;};var padWithZeroes=function(str,len){while(str.length<len){str=\"0\"+str;}\r\nreturn str;};var formatText=function(data,numberOfLetters,minLength){return(numberOfLetters>=4)?data:data.substr(0,Math.max(minLength,numberOfLetters));};var formatNumber=function(data,numberOfLetters){var dataString=\"\"+data;return padWithZeroes(dataString,numberOfLetters);};SimpleDateFormat.prototype.format=function(date){var formattedString=\"\";var result;var searchString=this.formatString;while((result=regex.exec(searchString))){var quotedString=result[1];var patternLetters=result[2];var otherLetters=result[3];var otherCharacters=result[4];if(quotedString){if(quotedString==\"''\"){formattedString+=\"'\";}else{formattedString+=quotedString.substring(1,quotedString.length-1);}}else if(otherLetters){}else if(otherCharacters){formattedString+=otherCharacters;}else if(patternLetters){var patternLetter=patternLetters.charAt(0);var numberOfLetters=patternLetters.length;var rawData=\"\";switch(patternLetter){case\"G\":rawData=\"AD\";break;case\"y\":rawData=date.getFullYear();break;case\"M\":rawData=date.getMonth();break;case\"w\":rawData=date.getWeekInYear(this.getMinimalDaysInFirstWeek());break;case\"W\":rawData=date.getWeekInMonth(this.getMinimalDaysInFirstWeek());break;case\"D\":rawData=date.getDayInYear();break;case\"d\":rawData=date.getDate();break;case\"F\":rawData=1+Math.floor((date.getDate()-1)/7);break;case\"E\":rawData=dayNames[date.getDay()];break;case\"a\":rawData=(date.getHours()>=12)?\"PM\":\"AM\";break;case\"H\":rawData=date.getHours();break;case\"k\":rawData=date.getHours()||24;break;case\"K\":rawData=date.getHours()%12;break;case\"h\":rawData=(date.getHours()%12)||12;break;case\"m\":rawData=date.getMinutes();break;case\"s\":rawData=date.getSeconds();break;case\"S\":rawData=date.getMilliseconds();break;case\"Z\":rawData=date.getTimezoneOffset();break;}\r\nswitch(types[patternLetter]){case TEXT2:formattedString+=formatText(rawData,numberOfLetters,2);break;case TEXT3:formattedString+=formatText(rawData,numberOfLetters,3);break;case NUMBER:formattedString+=formatNumber(rawData,numberOfLetters);break;case YEAR:if(numberOfLetters<=3){var dataString=\"\"+rawData;formattedString+=dataString.substr(2,2);}else{formattedString+=formatNumber(rawData,numberOfLetters);}\r\nbreak;case MONTH:if(numberOfLetters>=3){formattedString+=formatText(monthNames[rawData],numberOfLetters,numberOfLetters);}else{formattedString+=formatNumber(rawData+1,numberOfLetters);}\r\nbreak;case TIMEZONE:var isPositive=(rawData>0);var prefix=isPositive?\"-\":\"+\";var absData=Math.abs(rawData);var hours=\"\"+Math.floor(absData/60);hours=padWithZeroes(hours,2);var minutes=\"\"+(absData%60);minutes=padWithZeroes(minutes,2);formattedString+=prefix+hours+minutes;break;}}\r\nsearchString=searchString.substr(result.index+result[0].length);}\r\nreturn formattedString;};})();log4javascript.SimpleDateFormat=SimpleDateFormat;function PatternLayout(pattern){if(pattern){this.pattern=pattern;}else{this.pattern=PatternLayout.DEFAULT_CONVERSION_PATTERN;}\r\nthis.customFields=[];}\r\nPatternLayout.TTCC_CONVERSION_PATTERN=\"%r %p %c - %m%n\";PatternLayout.DEFAULT_CONVERSION_PATTERN=\"%m%n\";PatternLayout.ISO8601_DATEFORMAT=\"yyyy-MM-dd HH:mm:ss,SSS\";PatternLayout.DATETIME_DATEFORMAT=\"dd MMM yyyy HH:mm:ss,SSS\";PatternLayout.ABSOLUTETIME_DATEFORMAT=\"HH:mm:ss,SSS\";PatternLayout.prototype=new Layout();PatternLayout.prototype.format=function(loggingEvent){var regex=/%(-?[0-9]+)?(\\.?[0-9]+)?([acdfmMnpr%])(\\{([^\\}]+)\\})?|([^%]+)/;var formattedString=\"\";var result;var searchString=this.pattern;while((result=regex.exec(searchString))){var matchedString=result[0];var padding=result[1];var truncation=result[2];var conversionCharacter=result[3];var specifier=result[5];var text=result[6];if(text){formattedString+=\"\"+text;}else{var replacement=\"\";switch(conversionCharacter){case\"a\":case\"m\":var depth=0;if(specifier){depth=parseInt(specifier,10);if(isNaN(depth)){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character '\"+conversionCharacter+\"' - should be a number\");depth=0;}}\r\nvar messages=(conversionCharacter===\"a\")?loggingEvent.messages[0]:loggingEvent.messages;for(var i=0,len=messages.length;i<len;i++){if(i>0&&(replacement.charAt(replacement.length-1)!==\" \")){replacement+=\" \";}\r\nif(depth===0){replacement+=messages[i];}else{replacement+=formatObjectExpansion(messages[i],depth);}}\r\nbreak;case\"c\":var loggerName=loggingEvent.logger.name;if(specifier){var precision=parseInt(specifier,10);var loggerNameBits=loggingEvent.logger.name.split(\".\");if(precision>=loggerNameBits.length){replacement=loggerName;}else{replacement=loggerNameBits.slice(loggerNameBits.length-precision).join(\".\");}}else{replacement=loggerName;}\r\nbreak;case\"d\":var dateFormat=PatternLayout.ISO8601_DATEFORMAT;if(specifier){dateFormat=specifier;if(dateFormat==\"ISO8601\"){dateFormat=PatternLayout.ISO8601_DATEFORMAT;}else if(dateFormat==\"ABSOLUTE\"){dateFormat=PatternLayout.ABSOLUTETIME_DATEFORMAT;}else if(dateFormat==\"DATE\"){dateFormat=PatternLayout.DATETIME_DATEFORMAT;}}\r\nreplacement=(new SimpleDateFormat(dateFormat)).format(loggingEvent.timeStamp);break;case\"f\":if(this.hasCustomFields()){var fieldIndex=0;if(specifier){fieldIndex=parseInt(specifier,10);if(isNaN(fieldIndex)){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character 'f' - should be a number\");}else if(fieldIndex===0){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character 'f' - must be greater than zero\");}else if(fieldIndex>this.customFields.length){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character 'f' - there aren't that many custom fields\");}else{fieldIndex=fieldIndex-1;}}\r\nvar val=this.customFields[fieldIndex].value;if(typeof val==\"function\"){val=val(this,loggingEvent);}\r\nreplacement=val;}\r\nbreak;case\"n\":replacement=newLine;break;case\"p\":replacement=loggingEvent.level.name;break;case\"r\":replacement=\"\"+loggingEvent.timeStamp.getDifference(applicationStartDate);break;case\"%\":replacement=\"%\";break;default:replacement=matchedString;break;}\r\nvar l;if(truncation){l=parseInt(truncation.substr(1),10);var strLen=replacement.length;if(l<strLen){replacement=replacement.substring(strLen-l,strLen);}}\r\nif(padding){if(padding.charAt(0)==\"-\"){l=parseInt(padding.substr(1),10);while(replacement.length<l){replacement+=\" \";}}else{l=parseInt(padding,10);while(replacement.length<l){replacement=\" \"+replacement;}}}\r\nformattedString+=replacement;}\r\nsearchString=searchString.substr(result.index+result[0].length);}\r\nreturn formattedString;};PatternLayout.prototype.ignoresThrowable=function(){return true;};PatternLayout.prototype.toString=function(){return\"PatternLayout\";};log4javascript.PatternLayout=PatternLayout;function AlertAppender(){}\r\nAlertAppender.prototype=new Appender();AlertAppender.prototype.layout=new SimpleLayout();AlertAppender.prototype.append=function(loggingEvent){alert(this.getLayout().formatWithException(loggingEvent));};AlertAppender.prototype.toString=function(){return\"AlertAppender\";};log4javascript.AlertAppender=AlertAppender;function BrowserConsoleAppender(){}\r\nBrowserConsoleAppender.prototype=new log4javascript.Appender();BrowserConsoleAppender.prototype.layout=new NullLayout();BrowserConsoleAppender.prototype.threshold=Level.DEBUG;BrowserConsoleAppender.prototype.append=function(loggingEvent){var appender=this;var getFormattedMessage=function(concatenate){var formattedMessage=appender.getLayout().formatWithException(loggingEvent);return(typeof formattedMessage==\"string\")?(concatenate?formattedMessage:[formattedMessage]):(concatenate?formattedMessage.join(\" \"):formattedMessage);};var console=window.console;if(console&&console.log){var consoleMethodName;if(console.debug&&Level.DEBUG.isGreaterOrEqual(loggingEvent.level)){consoleMethodName=\"debug\";}else if(console.info&&Level.INFO.equals(loggingEvent.level)){consoleMethodName=\"info\";}else if(console.warn&&Level.WARN.equals(loggingEvent.level)){consoleMethodName=\"warn\";}else if(console.error&&loggingEvent.level.isGreaterOrEqual(Level.ERROR)){consoleMethodName=\"error\";}else{consoleMethodName=\"log\";}\r\nif(typeof console[consoleMethodName].apply==\"function\"){console[consoleMethodName].apply(console,getFormattedMessage(false));}else{console[consoleMethodName](getFormattedMessage(true));}}else if((typeof opera!=\"undefined\")&&opera.postError){opera.postError(getFormattedMessage(true));}};BrowserConsoleAppender.prototype.group=function(name){if(window.console&&window.console.group){window.console.group(name);}};BrowserConsoleAppender.prototype.groupEnd=function(){if(window.console&&window.console.groupEnd){window.console.groupEnd();}};BrowserConsoleAppender.prototype.toString=function(){return\"BrowserConsoleAppender\";};log4javascript.BrowserConsoleAppender=BrowserConsoleAppender;var xhrFactory=function(){return new XMLHttpRequest();};var xmlHttpFactories=[xhrFactory,function(){return new ActiveXObject(\"Msxml2.XMLHTTP\");},function(){return new ActiveXObject(\"Microsoft.XMLHTTP\");}];var withCredentialsSupported=false;var getXmlHttp=function(errorHandler){var xmlHttp=null,factory;for(var i=0,len=xmlHttpFactories.length;i<len;i++){factory=xmlHttpFactories[i];try{xmlHttp=factory();withCredentialsSupported=(factory==xhrFactory&&(\"withCredentials\"in xmlHttp));getXmlHttp=factory;return xmlHttp;}catch(e){}}\r\nif(errorHandler){errorHandler();}else{handleError(\"getXmlHttp: unable to obtain XMLHttpRequest object\");}};function isHttpRequestSuccessful(xmlHttp){return isUndefined(xmlHttp.status)||xmlHttp.status===0||(xmlHttp.status>=200&&xmlHttp.status<300)||xmlHttp.status==1223;}\r\nfunction AjaxAppender(url,withCredentials){var appender=this;var isSupported=true;if(!url){handleError(\"AjaxAppender: URL must be specified in constructor\");isSupported=false;}\r\nvar timed=this.defaults.timed;var waitForResponse=this.defaults.waitForResponse;var batchSize=this.defaults.batchSize;var timerInterval=this.defaults.timerInterval;var requestSuccessCallback=this.defaults.requestSuccessCallback;var failCallback=this.defaults.failCallback;var postVarName=this.defaults.postVarName;var sendAllOnUnload=this.defaults.sendAllOnUnload;var contentType=this.defaults.contentType;var sessionId=null;var queuedLoggingEvents=[];var queuedRequests=[];var headers=[];var sending=false;var initialized=false;function checkCanConfigure(configOptionName){if(initialized){handleError(\"AjaxAppender: configuration option '\"+\r\nconfigOptionName+\"' may not be set after the appender has been initialized\");return false;}\r\nreturn true;}\r\nthis.getSessionId=function(){return sessionId;};this.setSessionId=function(sessionIdParam){sessionId=extractStringFromParam(sessionIdParam,null);this.layout.setCustomField(\"sessionid\",sessionId);};this.setLayout=function(layoutParam){if(checkCanConfigure(\"layout\")){this.layout=layoutParam;if(sessionId!==null){this.setSessionId(sessionId);}}};this.isTimed=function(){return timed;};this.setTimed=function(timedParam){if(checkCanConfigure(\"timed\")){timed=bool(timedParam);}};this.getTimerInterval=function(){return timerInterval;};this.setTimerInterval=function(timerIntervalParam){if(checkCanConfigure(\"timerInterval\")){timerInterval=extractIntFromParam(timerIntervalParam,timerInterval);}};this.isWaitForResponse=function(){return waitForResponse;};this.setWaitForResponse=function(waitForResponseParam){if(checkCanConfigure(\"waitForResponse\")){waitForResponse=bool(waitForResponseParam);}};this.getBatchSize=function(){return batchSize;};this.setBatchSize=function(batchSizeParam){if(checkCanConfigure(\"batchSize\")){batchSize=extractIntFromParam(batchSizeParam,batchSize);}};this.isSendAllOnUnload=function(){return sendAllOnUnload;};this.setSendAllOnUnload=function(sendAllOnUnloadParam){if(checkCanConfigure(\"sendAllOnUnload\")){sendAllOnUnload=extractBooleanFromParam(sendAllOnUnloadParam,sendAllOnUnload);}};this.setRequestSuccessCallback=function(requestSuccessCallbackParam){requestSuccessCallback=extractFunctionFromParam(requestSuccessCallbackParam,requestSuccessCallback);};this.setFailCallback=function(failCallbackParam){failCallback=extractFunctionFromParam(failCallbackParam,failCallback);};this.getPostVarName=function(){return postVarName;};this.setPostVarName=function(postVarNameParam){if(checkCanConfigure(\"postVarName\")){postVarName=extractStringFromParam(postVarNameParam,postVarName);}};this.getHeaders=function(){return headers;};this.addHeader=function(name,value){if(name.toLowerCase()==\"content-type\"){contentType=value;}else{headers.push({name:name,value:value});}};function sendAll(){if(isSupported&&enabled){sending=true;var currentRequestBatch;if(waitForResponse){if(queuedRequests.length>0){currentRequestBatch=queuedRequests.shift();sendRequest(preparePostData(currentRequestBatch),sendAll);}else{sending=false;if(timed){scheduleSending();}}}else{while((currentRequestBatch=queuedRequests.shift())){sendRequest(preparePostData(currentRequestBatch));}\r\nsending=false;if(timed){scheduleSending();}}}}\r\nthis.sendAll=sendAll;function sendAllRemaining(){var sendingAnything=false;if(isSupported&&enabled){var actualBatchSize=appender.getLayout().allowBatching()?batchSize:1;var currentLoggingEvent;var batchedLoggingEvents=[];while((currentLoggingEvent=queuedLoggingEvents.shift())){batchedLoggingEvents.push(currentLoggingEvent);if(queuedLoggingEvents.length>=actualBatchSize){queuedRequests.push(batchedLoggingEvents);batchedLoggingEvents=[];}}\r\nif(batchedLoggingEvents.length>0){queuedRequests.push(batchedLoggingEvents);}\r\nsendingAnything=(queuedRequests.length>0);waitForResponse=false;timed=false;sendAll();}\r\nreturn sendingAnything;}\r\nthis.sendAllRemaining=sendAllRemaining;function preparePostData(batchedLoggingEvents){var formattedMessages=[];var currentLoggingEvent;var postData=\"\";while((currentLoggingEvent=batchedLoggingEvents.shift())){formattedMessages.push(appender.getLayout().formatWithException(currentLoggingEvent));}\r\nif(batchedLoggingEvents.length==1){postData=formattedMessages.join(\"\");}else{postData=appender.getLayout().batchHeader+\r\nformattedMessages.join(appender.getLayout().batchSeparator)+\r\nappender.getLayout().batchFooter;}\r\nif(contentType==appender.defaults.contentType){postData=appender.getLayout().returnsPostData?postData:urlEncode(postVarName)+\"=\"+urlEncode(postData);if(postData.length>0){postData+=\"&\";}\r\npostData+=\"layout=\"+urlEncode(appender.getLayout().toString());}\r\nreturn postData;}\r\nfunction scheduleSending(){window.setTimeout(sendAll,timerInterval);}\r\nfunction xmlHttpErrorHandler(){var msg=\"AjaxAppender: could not create XMLHttpRequest object. AjaxAppender disabled\";handleError(msg);isSupported=false;if(failCallback){failCallback(msg);}}\r\nfunction sendRequest(postData,successCallback){try{var xmlHttp=getXmlHttp(xmlHttpErrorHandler);if(isSupported){xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4){if(isHttpRequestSuccessful(xmlHttp)){if(requestSuccessCallback){requestSuccessCallback(xmlHttp);}\r\nif(successCallback){successCallback(xmlHttp);}}else{var msg=\"AjaxAppender.append: XMLHttpRequest request to URL \"+\r\nurl+\" returned status code \"+xmlHttp.status;handleError(msg);if(failCallback){failCallback(msg);}}\r\nxmlHttp.onreadystatechange=emptyFunction;xmlHttp=null;}};xmlHttp.open(\"POST\",url,true);if(withCredentials&&withCredentialsSupported){xmlHttp.withCredentials=true;}\r\ntry{for(var i=0,header;header=headers[i++];){xmlHttp.setRequestHeader(header.name,header.value);}\r\nxmlHttp.setRequestHeader(\"Content-Type\",contentType);}catch(headerEx){var msg=\"AjaxAppender.append: your browser's XMLHttpRequest implementation\"+\" does not support setRequestHeader, therefore cannot post data. AjaxAppender disabled\";handleError(msg);isSupported=false;if(failCallback){failCallback(msg);}\r\nreturn;}\r\nxmlHttp.send(postData);}}catch(ex){var errMsg=\"AjaxAppender.append: error sending log message to \"+url;handleError(errMsg,ex);isSupported=false;if(failCallback){failCallback(errMsg+\". Details: \"+getExceptionStringRep(ex));}}}\r\nthis.append=function(loggingEvent){if(isSupported){if(!initialized){init();}\r\nqueuedLoggingEvents.push(loggingEvent);var actualBatchSize=this.getLayout().allowBatching()?batchSize:1;if(queuedLoggingEvents.length>=actualBatchSize){var currentLoggingEvent;var batchedLoggingEvents=[];while((currentLoggingEvent=queuedLoggingEvents.shift())){batchedLoggingEvents.push(currentLoggingEvent);}\r\nqueuedRequests.push(batchedLoggingEvents);if(!timed&&(!waitForResponse||(waitForResponse&&!sending))){sendAll();}}}};function init(){initialized=true;if(sendAllOnUnload){var oldBeforeUnload=window.onbeforeunload;window.onbeforeunload=function(){if(oldBeforeUnload){oldBeforeUnload();}\r\nsendAllRemaining();};}\r\nif(timed){scheduleSending();}}}\r\nAjaxAppender.prototype=new Appender();AjaxAppender.prototype.defaults={waitForResponse:false,timed:false,timerInterval:1000,batchSize:1,sendAllOnUnload:false,requestSuccessCallback:null,failCallback:null,postVarName:\"data\",contentType:\"application/x-www-form-urlencoded\"};AjaxAppender.prototype.layout=new HttpPostDataLayout();AjaxAppender.prototype.toString=function(){return\"AjaxAppender\";};log4javascript.AjaxAppender=AjaxAppender;function setCookie(name,value,days,path){var expires;path=path?\"; path=\"+path:\"\";if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires=\"; expires=\"+date.toGMTString();}else{expires=\"\";}\r\ndocument.cookie=escape(name)+\"=\"+escape(value)+expires+path;}\r\nfunction getCookie(name){var nameEquals=escape(name)+\"=\";var ca=document.cookie.split(\";\");for(var i=0,len=ca.length;i<len;i++){var c=ca[i];while(c.charAt(0)===\" \"){c=c.substring(1,c.length);}\r\nif(c.indexOf(nameEquals)===0){return unescape(c.substring(nameEquals.length,c.length));}}\r\nreturn null;}\r\nfunction getBaseUrl(){var scripts=document.getElementsByTagName(\"script\");for(var i=0,len=scripts.length;i<len;++i){if(scripts[i].src.indexOf(\"log4javascript\")!=-1){var lastSlash=scripts[i].src.lastIndexOf(\"/\");return(lastSlash==-1)?\"\":scripts[i].src.substr(0,lastSlash+1);}}\r\nreturn null;}\r\nfunction isLoaded(win){try{return bool(win.loaded);}catch(ex){return false;}}\r\nvar ConsoleAppender;(function(){var getConsoleHtmlLines=function(){return['<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">','<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\" xml:lang=\"en\">','<head>','<title>log4javascript</title>','<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />','<!-- Make IE8 behave like IE7, having gone to all the trouble of making IE work -->','<meta http-equiv=\"X-UA-Compatible\" content=\"IE=7\" />','<script type=\"text/javascript\">var isIe = false, isIePre7 = false;</script>','<!--[if IE]><script type=\"text/javascript\">isIe = true</script><![endif]-->','<!--[if lt IE 7]><script type=\"text/javascript\">isIePre7 = true</script><![endif]-->','<script type=\"text/javascript\">','//<![CDATA[','var loggingEnabled=true;var logQueuedEventsTimer=null;var logEntries=[];var logEntriesAndSeparators=[];var logItems=[];var renderDelay=100;var unrenderedLogItemsExist=false;var rootGroup,currentGroup=null;var loaded=false;var currentLogItem=null;var logMainContainer;function copyProperties(obj,props){for(var i in props){obj[i]=props[i];}}','function LogItem(){}','LogItem.prototype={mainContainer:null,wrappedContainer:null,unwrappedContainer:null,group:null,appendToLog:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].appendToLog();}','this.group.update();},doRemove:function(doUpdate,removeFromGroup){if(this.rendered){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].remove();}','this.unwrappedElementContainer=null;this.wrappedElementContainer=null;this.mainElementContainer=null;}','if(this.group&&removeFromGroup){this.group.removeChild(this,doUpdate);}','if(this===currentLogItem){currentLogItem=null;}},remove:function(doUpdate,removeFromGroup){this.doRemove(doUpdate,removeFromGroup);},render:function(){},accept:function(visitor){visitor.visit(this);},getUnwrappedDomContainer:function(){return this.group.unwrappedElementContainer.contentDiv;},getWrappedDomContainer:function(){return this.group.wrappedElementContainer.contentDiv;},getMainDomContainer:function(){return this.group.mainElementContainer.contentDiv;}};LogItem.serializedItemKeys={LOG_ENTRY:0,GROUP_START:1,GROUP_END:2};function LogItemContainerElement(){}','LogItemContainerElement.prototype={appendToLog:function(){var insertBeforeFirst=(newestAtTop&&this.containerDomNode.hasChildNodes());if(insertBeforeFirst){this.containerDomNode.insertBefore(this.mainDiv,this.containerDomNode.firstChild);}else{this.containerDomNode.appendChild(this.mainDiv);}}};function SeparatorElementContainer(containerDomNode){this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"separator\";this.mainDiv.innerHTML=\" \";}','SeparatorElementContainer.prototype=new LogItemContainerElement();SeparatorElementContainer.prototype.remove=function(){this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;};function Separator(){this.rendered=false;}','Separator.prototype=new LogItem();copyProperties(Separator.prototype,{render:function(){var containerDomNode=this.group.contentDiv;if(isIe){this.unwrappedElementContainer=new SeparatorElementContainer(this.getUnwrappedDomContainer());this.wrappedElementContainer=new SeparatorElementContainer(this.getWrappedDomContainer());this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{this.mainElementContainer=new SeparatorElementContainer(this.getMainDomContainer());this.elementContainers=[this.mainElementContainer];}','this.content=this.formattedMessage;this.rendered=true;}});function GroupElementContainer(group,containerDomNode,isRoot,isWrapped){this.group=group;this.containerDomNode=containerDomNode;this.isRoot=isRoot;this.isWrapped=isWrapped;this.expandable=false;if(this.isRoot){if(isIe){this.contentDiv=logMainContainer.appendChild(document.createElement(\"div\"));this.contentDiv.id=this.isWrapped?\"log_wrapped\":\"log_unwrapped\";}else{this.contentDiv=logMainContainer;}}else{var groupElementContainer=this;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"group\";this.headingDiv=this.mainDiv.appendChild(document.createElement(\"div\"));this.headingDiv.className=\"groupheading\";this.expander=this.headingDiv.appendChild(document.createElement(\"span\"));this.expander.className=\"expander unselectable greyedout\";this.expander.unselectable=true;var expanderText=this.group.expanded?\"-\":\"+\";this.expanderTextNode=this.expander.appendChild(document.createTextNode(expanderText));this.headingDiv.appendChild(document.createTextNode(\" \"+this.group.name));this.contentDiv=this.mainDiv.appendChild(document.createElement(\"div\"));var contentCssClass=this.group.expanded?\"expanded\":\"collapsed\";this.contentDiv.className=\"groupcontent \"+contentCssClass;this.expander.onclick=function(){if(groupElementContainer.group.expandable){groupElementContainer.group.toggleExpanded();}};}}','GroupElementContainer.prototype=new LogItemContainerElement();copyProperties(GroupElementContainer.prototype,{toggleExpanded:function(){if(!this.isRoot){var oldCssClass,newCssClass,expanderText;if(this.group.expanded){newCssClass=\"expanded\";oldCssClass=\"collapsed\";expanderText=\"-\";}else{newCssClass=\"collapsed\";oldCssClass=\"expanded\";expanderText=\"+\";}','replaceClass(this.contentDiv,newCssClass,oldCssClass);this.expanderTextNode.nodeValue=expanderText;}},remove:function(){if(!this.isRoot){this.headingDiv=null;this.expander.onclick=null;this.expander=null;this.expanderTextNode=null;this.contentDiv=null;this.containerDomNode=null;this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;}},reverseChildren:function(){var node=null;var childDomNodes=[];while((node=this.contentDiv.firstChild)){this.contentDiv.removeChild(node);childDomNodes.push(node);}','while((node=childDomNodes.pop())){this.contentDiv.appendChild(node);}},update:function(){if(!this.isRoot){if(this.group.expandable){removeClass(this.expander,\"greyedout\");}else{addClass(this.expander,\"greyedout\");}}},clear:function(){if(this.isRoot){this.contentDiv.innerHTML=\"\";}}});function Group(name,isRoot,initiallyExpanded){this.name=name;this.group=null;this.isRoot=isRoot;this.initiallyExpanded=initiallyExpanded;this.elementContainers=[];this.children=[];this.expanded=initiallyExpanded;this.rendered=false;this.expandable=false;}','Group.prototype=new LogItem();copyProperties(Group.prototype,{addChild:function(logItem){this.children.push(logItem);logItem.group=this;},render:function(){if(isIe){var unwrappedDomContainer,wrappedDomContainer;if(this.isRoot){unwrappedDomContainer=logMainContainer;wrappedDomContainer=logMainContainer;}else{unwrappedDomContainer=this.getUnwrappedDomContainer();wrappedDomContainer=this.getWrappedDomContainer();}','this.unwrappedElementContainer=new GroupElementContainer(this,unwrappedDomContainer,this.isRoot,false);this.wrappedElementContainer=new GroupElementContainer(this,wrappedDomContainer,this.isRoot,true);this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{var mainDomContainer=this.isRoot?logMainContainer:this.getMainDomContainer();this.mainElementContainer=new GroupElementContainer(this,mainDomContainer,this.isRoot,false);this.elementContainers=[this.mainElementContainer];}','this.rendered=true;},toggleExpanded:function(){this.expanded=!this.expanded;for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].toggleExpanded();}},expand:function(){if(!this.expanded){this.toggleExpanded();}},accept:function(visitor){visitor.visitGroup(this);},reverseChildren:function(){if(this.rendered){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].reverseChildren();}}},update:function(){var previouslyExpandable=this.expandable;this.expandable=(this.children.length!==0);if(this.expandable!==previouslyExpandable){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].update();}}},flatten:function(){var visitor=new GroupFlattener();this.accept(visitor);return visitor.logEntriesAndSeparators;},removeChild:function(child,doUpdate){array_remove(this.children,child);child.group=null;if(doUpdate){this.update();}},remove:function(doUpdate,removeFromGroup){for(var i=0,len=this.children.length;i<len;i++){this.children[i].remove(false,false);}','this.children=[];this.update();if(this===currentGroup){currentGroup=this.group;}','this.doRemove(doUpdate,removeFromGroup);},serialize:function(items){items.push([LogItem.serializedItemKeys.GROUP_START,this.name]);for(var i=0,len=this.children.length;i<len;i++){this.children[i].serialize(items);}','if(this!==currentGroup){items.push([LogItem.serializedItemKeys.GROUP_END]);}},clear:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].clear();}}});function LogEntryElementContainer(){}','LogEntryElementContainer.prototype=new LogItemContainerElement();copyProperties(LogEntryElementContainer.prototype,{remove:function(){this.doRemove();},doRemove:function(){this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;this.contentElement=null;this.containerDomNode=null;},setContent:function(content,wrappedContent){if(content===this.formattedMessage){this.contentElement.innerHTML=\"\";this.contentElement.appendChild(document.createTextNode(this.formattedMessage));}else{this.contentElement.innerHTML=content;}},setSearchMatch:function(isMatch){var oldCssClass=isMatch?\"searchnonmatch\":\"searchmatch\";var newCssClass=isMatch?\"searchmatch\":\"searchnonmatch\";replaceClass(this.mainDiv,newCssClass,oldCssClass);},clearSearch:function(){removeClass(this.mainDiv,\"searchmatch\");removeClass(this.mainDiv,\"searchnonmatch\");}});function LogEntryWrappedElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.appendChild(document.createTextNode(this.logEntry.formattedMessage));this.mainDiv.className=\"logentry wrapped \"+this.logEntry.level;this.contentElement=this.mainDiv;}','LogEntryWrappedElementContainer.prototype=new LogEntryElementContainer();LogEntryWrappedElementContainer.prototype.setContent=function(content,wrappedContent){if(content===this.formattedMessage){this.contentElement.innerHTML=\"\";this.contentElement.appendChild(document.createTextNode(this.formattedMessage));}else{this.contentElement.innerHTML=wrappedContent;}};function LogEntryUnwrappedElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"logentry unwrapped \"+this.logEntry.level;this.pre=this.mainDiv.appendChild(document.createElement(\"pre\"));this.pre.appendChild(document.createTextNode(this.logEntry.formattedMessage));this.pre.className=\"unwrapped\";this.contentElement=this.pre;}','LogEntryUnwrappedElementContainer.prototype=new LogEntryElementContainer();LogEntryUnwrappedElementContainer.prototype.remove=function(){this.doRemove();this.pre=null;};function LogEntryMainElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"logentry nonielogentry \"+this.logEntry.level;this.contentElement=this.mainDiv.appendChild(document.createElement(\"span\"));this.contentElement.appendChild(document.createTextNode(this.logEntry.formattedMessage));}','LogEntryMainElementContainer.prototype=new LogEntryElementContainer();function LogEntry(level,formattedMessage){this.level=level;this.formattedMessage=formattedMessage;this.rendered=false;}','LogEntry.prototype=new LogItem();copyProperties(LogEntry.prototype,{render:function(){var logEntry=this;var containerDomNode=this.group.contentDiv;if(isIe){this.formattedMessage=this.formattedMessage.replace(/\\\\r\\\\n/g,\"\\\\r\");this.unwrappedElementContainer=new LogEntryUnwrappedElementContainer(this,this.getUnwrappedDomContainer());this.wrappedElementContainer=new LogEntryWrappedElementContainer(this,this.getWrappedDomContainer());this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{this.mainElementContainer=new LogEntryMainElementContainer(this,this.getMainDomContainer());this.elementContainers=[this.mainElementContainer];}','this.content=this.formattedMessage;this.rendered=true;},setContent:function(content,wrappedContent){if(content!=this.content){if(isIe&&(content!==this.formattedMessage)){content=content.replace(/\\\\r\\\\n/g,\"\\\\r\");}','for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].setContent(content,wrappedContent);}','this.content=content;}},getSearchMatches:function(){var matches=[];var i,len;if(isIe){var unwrappedEls=getElementsByClass(this.unwrappedElementContainer.mainDiv,\"searchterm\",\"span\");var wrappedEls=getElementsByClass(this.wrappedElementContainer.mainDiv,\"searchterm\",\"span\");for(i=0,len=unwrappedEls.length;i<len;i++){matches[i]=new Match(this.level,null,unwrappedEls[i],wrappedEls[i]);}}else{var els=getElementsByClass(this.mainElementContainer.mainDiv,\"searchterm\",\"span\");for(i=0,len=els.length;i<len;i++){matches[i]=new Match(this.level,els[i]);}}','return matches;},setSearchMatch:function(isMatch){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].setSearchMatch(isMatch);}},clearSearch:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].clearSearch();}},accept:function(visitor){visitor.visitLogEntry(this);},serialize:function(items){items.push([LogItem.serializedItemKeys.LOG_ENTRY,this.level,this.formattedMessage]);}});function LogItemVisitor(){}','LogItemVisitor.prototype={visit:function(logItem){},visitParent:function(logItem){if(logItem.group){logItem.group.accept(this);}},visitChildren:function(logItem){for(var i=0,len=logItem.children.length;i<len;i++){logItem.children[i].accept(this);}},visitLogEntry:function(logEntry){this.visit(logEntry);},visitSeparator:function(separator){this.visit(separator);},visitGroup:function(group){this.visit(group);}};function GroupFlattener(){this.logEntriesAndSeparators=[];}','GroupFlattener.prototype=new LogItemVisitor();GroupFlattener.prototype.visitGroup=function(group){this.visitChildren(group);};GroupFlattener.prototype.visitLogEntry=function(logEntry){this.logEntriesAndSeparators.push(logEntry);};GroupFlattener.prototype.visitSeparator=function(separator){this.logEntriesAndSeparators.push(separator);};window.onload=function(){if(location.search){var queryBits=unescape(location.search).substr(1).split(\"&\"),nameValueBits;for(var i=0,len=queryBits.length;i<len;i++){nameValueBits=queryBits[i].split(\"=\");if(nameValueBits[0]==\"log4javascript_domain\"){document.domain=nameValueBits[1];break;}}}','logMainContainer=$(\"log\");if(isIePre7){addClass(logMainContainer,\"oldIe\");}','rootGroup=new Group(\"root\",true);rootGroup.render();currentGroup=rootGroup;setCommandInputWidth();setLogContainerHeight();toggleLoggingEnabled();toggleSearchEnabled();toggleSearchFilter();toggleSearchHighlight();applyFilters();checkAllLevels();toggleWrap();toggleNewestAtTop();toggleScrollToLatest();renderQueuedLogItems();loaded=true;$(\"command\").value=\"\";$(\"command\").autocomplete=\"off\";$(\"command\").onkeydown=function(evt){evt=getEvent(evt);if(evt.keyCode==10||evt.keyCode==13){evalCommandLine();stopPropagation(evt);}else if(evt.keyCode==27){this.value=\"\";this.focus();}else if(evt.keyCode==38&&commandHistory.length>0){currentCommandIndex=Math.max(0,currentCommandIndex-1);this.value=commandHistory[currentCommandIndex];moveCaretToEnd(this);}else if(evt.keyCode==40&&commandHistory.length>0){currentCommandIndex=Math.min(commandHistory.length-1,currentCommandIndex+1);this.value=commandHistory[currentCommandIndex];moveCaretToEnd(this);}};$(\"command\").onkeypress=function(evt){evt=getEvent(evt);if(evt.keyCode==38&&commandHistory.length>0&&evt.preventDefault){evt.preventDefault();}};$(\"command\").onkeyup=function(evt){evt=getEvent(evt);if(evt.keyCode==27&&evt.preventDefault){evt.preventDefault();this.focus();}};document.onkeydown=function keyEventHandler(evt){evt=getEvent(evt);switch(evt.keyCode){case 69:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){evalLastCommand();cancelKeyEvent(evt);return false;}','break;case 75:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){focusSearch();cancelKeyEvent(evt);return false;}','break;case 40:case 76:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){focusCommandLine();cancelKeyEvent(evt);return false;}','break;}};setTimeout(setLogContainerHeight,20);setShowCommandLine(showCommandLine);doSearch();};window.onunload=function(){if(mainWindowExists()){appender.unload();}','appender=null;};function toggleLoggingEnabled(){setLoggingEnabled($(\"enableLogging\").checked);}','function setLoggingEnabled(enable){loggingEnabled=enable;}','var appender=null;function setAppender(appenderParam){appender=appenderParam;}','function setShowCloseButton(showCloseButton){$(\"closeButton\").style.display=showCloseButton?\"inline\":\"none\";}','function setShowHideButton(showHideButton){$(\"hideButton\").style.display=showHideButton?\"inline\":\"none\";}','var newestAtTop=false;function LogItemContentReverser(){}','LogItemContentReverser.prototype=new LogItemVisitor();LogItemContentReverser.prototype.visitGroup=function(group){group.reverseChildren();this.visitChildren(group);};function setNewestAtTop(isNewestAtTop){var oldNewestAtTop=newestAtTop;var i,iLen,j,jLen;newestAtTop=Boolean(isNewestAtTop);if(oldNewestAtTop!=newestAtTop){var visitor=new LogItemContentReverser();rootGroup.accept(visitor);if(currentSearch){var currentMatch=currentSearch.matches[currentMatchIndex];var matchIndex=0;var matches=[];var actOnLogEntry=function(logEntry){var logEntryMatches=logEntry.getSearchMatches();for(j=0,jLen=logEntryMatches.length;j<jLen;j++){matches[matchIndex]=logEntryMatches[j];if(currentMatch&&logEntryMatches[j].equals(currentMatch)){currentMatchIndex=matchIndex;}','matchIndex++;}};if(newestAtTop){for(i=logEntries.length-1;i>=0;i--){actOnLogEntry(logEntries[i]);}}else{for(i=0,iLen=logEntries.length;i<iLen;i++){actOnLogEntry(logEntries[i]);}}','currentSearch.matches=matches;if(currentMatch){currentMatch.setCurrent();}}else if(scrollToLatest){doScrollToLatest();}}','$(\"newestAtTop\").checked=isNewestAtTop;}','function toggleNewestAtTop(){var isNewestAtTop=$(\"newestAtTop\").checked;setNewestAtTop(isNewestAtTop);}','var scrollToLatest=true;function setScrollToLatest(isScrollToLatest){scrollToLatest=isScrollToLatest;if(scrollToLatest){doScrollToLatest();}','$(\"scrollToLatest\").checked=isScrollToLatest;}','function toggleScrollToLatest(){var isScrollToLatest=$(\"scrollToLatest\").checked;setScrollToLatest(isScrollToLatest);}','function doScrollToLatest(){var l=logMainContainer;if(typeof l.scrollTop!=\"undefined\"){if(newestAtTop){l.scrollTop=0;}else{var latestLogEntry=l.lastChild;if(latestLogEntry){l.scrollTop=l.scrollHeight;}}}}','var closeIfOpenerCloses=true;function setCloseIfOpenerCloses(isCloseIfOpenerCloses){closeIfOpenerCloses=isCloseIfOpenerCloses;}','var maxMessages=null;function setMaxMessages(max){maxMessages=max;pruneLogEntries();}','var showCommandLine=false;function setShowCommandLine(isShowCommandLine){showCommandLine=isShowCommandLine;if(loaded){$(\"commandLine\").style.display=showCommandLine?\"block\":\"none\";setCommandInputWidth();setLogContainerHeight();}}','function focusCommandLine(){if(loaded){$(\"command\").focus();}}','function focusSearch(){if(loaded){$(\"searchBox\").focus();}}','function getLogItems(){var items=[];for(var i=0,len=logItems.length;i<len;i++){logItems[i].serialize(items);}','return items;}','function setLogItems(items){var loggingReallyEnabled=loggingEnabled;loggingEnabled=true;for(var i=0,len=items.length;i<len;i++){switch(items[i][0]){case LogItem.serializedItemKeys.LOG_ENTRY:log(items[i][1],items[i][2]);break;case LogItem.serializedItemKeys.GROUP_START:group(items[i][1]);break;case LogItem.serializedItemKeys.GROUP_END:groupEnd();break;}}','loggingEnabled=loggingReallyEnabled;}','function log(logLevel,formattedMessage){if(loggingEnabled){var logEntry=new LogEntry(logLevel,formattedMessage);logEntries.push(logEntry);logEntriesAndSeparators.push(logEntry);logItems.push(logEntry);currentGroup.addChild(logEntry);if(loaded){if(logQueuedEventsTimer!==null){clearTimeout(logQueuedEventsTimer);}','logQueuedEventsTimer=setTimeout(renderQueuedLogItems,renderDelay);unrenderedLogItemsExist=true;}}}','function renderQueuedLogItems(){logQueuedEventsTimer=null;var pruned=pruneLogEntries();var initiallyHasMatches=currentSearch?currentSearch.hasMatches():false;for(var i=0,len=logItems.length;i<len;i++){if(!logItems[i].rendered){logItems[i].render();logItems[i].appendToLog();if(currentSearch&&(logItems[i]instanceof LogEntry)){currentSearch.applyTo(logItems[i]);}}}','if(currentSearch){if(pruned){if(currentSearch.hasVisibleMatches()){if(currentMatchIndex===null){setCurrentMatchIndex(0);}','displayMatches();}else{displayNoMatches();}}else if(!initiallyHasMatches&¤tSearch.hasVisibleMatches()){setCurrentMatchIndex(0);displayMatches();}}','if(scrollToLatest){doScrollToLatest();}','unrenderedLogItemsExist=false;}','function pruneLogEntries(){if((maxMessages!==null)&&(logEntriesAndSeparators.length>maxMessages)){var numberToDelete=logEntriesAndSeparators.length-maxMessages;var prunedLogEntries=logEntriesAndSeparators.slice(0,numberToDelete);if(currentSearch){currentSearch.removeMatches(prunedLogEntries);}','var group;for(var i=0;i<numberToDelete;i++){group=logEntriesAndSeparators[i].group;array_remove(logItems,logEntriesAndSeparators[i]);array_remove(logEntries,logEntriesAndSeparators[i]);logEntriesAndSeparators[i].remove(true,true);if(group.children.length===0&&group!==currentGroup&&group!==rootGroup){array_remove(logItems,group);group.remove(true,true);}}','logEntriesAndSeparators=array_removeFromStart(logEntriesAndSeparators,numberToDelete);return true;}','return false;}','function group(name,startExpanded){if(loggingEnabled){initiallyExpanded=(typeof startExpanded===\"undefined\")?true:Boolean(startExpanded);var newGroup=new Group(name,false,initiallyExpanded);currentGroup.addChild(newGroup);currentGroup=newGroup;logItems.push(newGroup);if(loaded){if(logQueuedEventsTimer!==null){clearTimeout(logQueuedEventsTimer);}','logQueuedEventsTimer=setTimeout(renderQueuedLogItems,renderDelay);unrenderedLogItemsExist=true;}}}','function groupEnd(){currentGroup=(currentGroup===rootGroup)?rootGroup:currentGroup.group;}','function mainPageReloaded(){currentGroup=rootGroup;var separator=new Separator();logEntriesAndSeparators.push(separator);logItems.push(separator);currentGroup.addChild(separator);}','function closeWindow(){if(appender&&mainWindowExists()){appender.close(true);}else{window.close();}}','function hide(){if(appender&&mainWindowExists()){appender.hide();}}','var mainWindow=window;var windowId=\"log4javascriptConsoleWindow_\"+new Date().getTime()+\"_\"+(\"\"+Math.random()).substr(2);function setMainWindow(win){mainWindow=win;mainWindow[windowId]=window;if(opener&&closeIfOpenerCloses){pollOpener();}}','function pollOpener(){if(closeIfOpenerCloses){if(mainWindowExists()){setTimeout(pollOpener,500);}else{closeWindow();}}}','function mainWindowExists(){try{return(mainWindow&&!mainWindow.closed&&mainWindow[windowId]==window);}catch(ex){}','return false;}','var logLevels=[\"TRACE\",\"DEBUG\",\"INFO\",\"WARN\",\"ERROR\",\"FATAL\"];function getCheckBox(logLevel){return $(\"switch_\"+logLevel);}','function getIeWrappedLogContainer(){return $(\"log_wrapped\");}','function getIeUnwrappedLogContainer(){return $(\"log_unwrapped\");}','function applyFilters(){for(var i=0;i<logLevels.length;i++){if(getCheckBox(logLevels[i]).checked){addClass(logMainContainer,logLevels[i]);}else{removeClass(logMainContainer,logLevels[i]);}}','updateSearchFromFilters();}','function toggleAllLevels(){var turnOn=$(\"switch_ALL\").checked;for(var i=0;i<logLevels.length;i++){getCheckBox(logLevels[i]).checked=turnOn;if(turnOn){addClass(logMainContainer,logLevels[i]);}else{removeClass(logMainContainer,logLevels[i]);}}}','function checkAllLevels(){for(var i=0;i<logLevels.length;i++){if(!getCheckBox(logLevels[i]).checked){getCheckBox(\"ALL\").checked=false;return;}}','getCheckBox(\"ALL\").checked=true;}','function clearLog(){rootGroup.clear();currentGroup=rootGroup;logEntries=[];logItems=[];logEntriesAndSeparators=[];doSearch();}','function toggleWrap(){var enable=$(\"wrap\").checked;if(enable){addClass(logMainContainer,\"wrap\");}else{removeClass(logMainContainer,\"wrap\");}','refreshCurrentMatch();}','var searchTimer=null;function scheduleSearch(){try{clearTimeout(searchTimer);}catch(ex){}','searchTimer=setTimeout(doSearch,500);}','function Search(searchTerm,isRegex,searchRegex,isCaseSensitive){this.searchTerm=searchTerm;this.isRegex=isRegex;this.searchRegex=searchRegex;this.isCaseSensitive=isCaseSensitive;this.matches=[];}','Search.prototype={hasMatches:function(){return this.matches.length>0;},hasVisibleMatches:function(){if(this.hasMatches()){for(var i=0;i<this.matches.length;i++){if(this.matches[i].isVisible()){return true;}}}','return false;},match:function(logEntry){var entryText=String(logEntry.formattedMessage);var matchesSearch=false;if(this.isRegex){matchesSearch=this.searchRegex.test(entryText);}else if(this.isCaseSensitive){matchesSearch=(entryText.indexOf(this.searchTerm)>-1);}else{matchesSearch=(entryText.toLowerCase().indexOf(this.searchTerm.toLowerCase())>-1);}','return matchesSearch;},getNextVisibleMatchIndex:function(){for(var i=currentMatchIndex+1;i<this.matches.length;i++){if(this.matches[i].isVisible()){return i;}}','for(i=0;i<=currentMatchIndex;i++){if(this.matches[i].isVisible()){return i;}}','return-1;},getPreviousVisibleMatchIndex:function(){for(var i=currentMatchIndex-1;i>=0;i--){if(this.matches[i].isVisible()){return i;}}','for(var i=this.matches.length-1;i>=currentMatchIndex;i--){if(this.matches[i].isVisible()){return i;}}','return-1;},applyTo:function(logEntry){var doesMatch=this.match(logEntry);if(doesMatch){logEntry.group.expand();logEntry.setSearchMatch(true);var logEntryContent;var wrappedLogEntryContent;var searchTermReplacementStartTag=\"<span class=\\\\\\\"searchterm\\\\\\\">\";var searchTermReplacementEndTag=\"<\"+\"/span>\";var preTagName=isIe?\"pre\":\"span\";var preStartTag=\"<\"+preTagName+\" class=\\\\\\\"pre\\\\\\\">\";var preEndTag=\"<\"+\"/\"+preTagName+\">\";var startIndex=0;var searchIndex,matchedText,textBeforeMatch;if(this.isRegex){var flags=this.isCaseSensitive?\"g\":\"gi\";var capturingRegex=new RegExp(\"(\"+this.searchRegex.source+\")\",flags);var rnd=(\"\"+Math.random()).substr(2);var startToken=\"%%s\"+rnd+\"%%\";var endToken=\"%%e\"+rnd+\"%%\";logEntryContent=logEntry.formattedMessage.replace(capturingRegex,startToken+\"$1\"+endToken);logEntryContent=escapeHtml(logEntryContent);var result;var searchString=logEntryContent;logEntryContent=\"\";wrappedLogEntryContent=\"\";while((searchIndex=searchString.indexOf(startToken,startIndex))>-1){var endTokenIndex=searchString.indexOf(endToken,searchIndex);matchedText=searchString.substring(searchIndex+startToken.length,endTokenIndex);textBeforeMatch=searchString.substring(startIndex,searchIndex);logEntryContent+=preStartTag+textBeforeMatch+preEndTag;logEntryContent+=searchTermReplacementStartTag+preStartTag+matchedText+','preEndTag+searchTermReplacementEndTag;if(isIe){wrappedLogEntryContent+=textBeforeMatch+searchTermReplacementStartTag+','matchedText+searchTermReplacementEndTag;}','startIndex=endTokenIndex+endToken.length;}','logEntryContent+=preStartTag+searchString.substr(startIndex)+preEndTag;if(isIe){wrappedLogEntryContent+=searchString.substr(startIndex);}}else{logEntryContent=\"\";wrappedLogEntryContent=\"\";var searchTermReplacementLength=searchTermReplacementStartTag.length+','this.searchTerm.length+searchTermReplacementEndTag.length;var searchTermLength=this.searchTerm.length;var searchTermLowerCase=this.searchTerm.toLowerCase();var logTextLowerCase=logEntry.formattedMessage.toLowerCase();while((searchIndex=logTextLowerCase.indexOf(searchTermLowerCase,startIndex))>-1){matchedText=escapeHtml(logEntry.formattedMessage.substr(searchIndex,this.searchTerm.length));textBeforeMatch=escapeHtml(logEntry.formattedMessage.substring(startIndex,searchIndex));var searchTermReplacement=searchTermReplacementStartTag+','preStartTag+matchedText+preEndTag+searchTermReplacementEndTag;logEntryContent+=preStartTag+textBeforeMatch+preEndTag+searchTermReplacement;if(isIe){wrappedLogEntryContent+=textBeforeMatch+searchTermReplacementStartTag+','matchedText+searchTermReplacementEndTag;}','startIndex=searchIndex+searchTermLength;}','var textAfterLastMatch=escapeHtml(logEntry.formattedMessage.substr(startIndex));logEntryContent+=preStartTag+textAfterLastMatch+preEndTag;if(isIe){wrappedLogEntryContent+=textAfterLastMatch;}}','logEntry.setContent(logEntryContent,wrappedLogEntryContent);var logEntryMatches=logEntry.getSearchMatches();this.matches=this.matches.concat(logEntryMatches);}else{logEntry.setSearchMatch(false);logEntry.setContent(logEntry.formattedMessage,logEntry.formattedMessage);}','return doesMatch;},removeMatches:function(logEntries){var matchesToRemoveCount=0;var currentMatchRemoved=false;var matchesToRemove=[];var i,iLen,j,jLen;for(i=0,iLen=this.matches.length;i<iLen;i++){for(j=0,jLen=logEntries.length;j<jLen;j++){if(this.matches[i].belongsTo(logEntries[j])){matchesToRemove.push(this.matches[i]);if(i===currentMatchIndex){currentMatchRemoved=true;}}}}','var newMatch=currentMatchRemoved?null:this.matches[currentMatchIndex];if(currentMatchRemoved){for(i=currentMatchIndex,iLen=this.matches.length;i<iLen;i++){if(this.matches[i].isVisible()&&!array_contains(matchesToRemove,this.matches[i])){newMatch=this.matches[i];break;}}}','for(i=0,iLen=matchesToRemove.length;i<iLen;i++){array_remove(this.matches,matchesToRemove[i]);matchesToRemove[i].remove();}','if(this.hasVisibleMatches()){if(newMatch===null){setCurrentMatchIndex(0);}else{var newMatchIndex=0;for(i=0,iLen=this.matches.length;i<iLen;i++){if(newMatch===this.matches[i]){newMatchIndex=i;break;}}','setCurrentMatchIndex(newMatchIndex);}}else{currentMatchIndex=null;displayNoMatches();}}};function getPageOffsetTop(el,container){var currentEl=el;var y=0;while(currentEl&¤tEl!=container){y+=currentEl.offsetTop;currentEl=currentEl.offsetParent;}','return y;}','function scrollIntoView(el){var logContainer=logMainContainer;if(!$(\"wrap\").checked){var logContainerLeft=logContainer.scrollLeft;var logContainerRight=logContainerLeft+logContainer.offsetWidth;var elLeft=el.offsetLeft;var elRight=elLeft+el.offsetWidth;if(elLeft<logContainerLeft||elRight>logContainerRight){logContainer.scrollLeft=elLeft-(logContainer.offsetWidth-el.offsetWidth)/2;}}','var logContainerTop=logContainer.scrollTop;var logContainerBottom=logContainerTop+logContainer.offsetHeight;var elTop=getPageOffsetTop(el)-getToolBarsHeight();var elBottom=elTop+el.offsetHeight;if(elTop<logContainerTop||elBottom>logContainerBottom){logContainer.scrollTop=elTop-(logContainer.offsetHeight-el.offsetHeight)/2;}}','function Match(logEntryLevel,spanInMainDiv,spanInUnwrappedPre,spanInWrappedDiv){this.logEntryLevel=logEntryLevel;this.spanInMainDiv=spanInMainDiv;if(isIe){this.spanInUnwrappedPre=spanInUnwrappedPre;this.spanInWrappedDiv=spanInWrappedDiv;}','this.mainSpan=isIe?spanInUnwrappedPre:spanInMainDiv;}','Match.prototype={equals:function(match){return this.mainSpan===match.mainSpan;},setCurrent:function(){if(isIe){addClass(this.spanInUnwrappedPre,\"currentmatch\");addClass(this.spanInWrappedDiv,\"currentmatch\");var elementToScroll=$(\"wrap\").checked?this.spanInWrappedDiv:this.spanInUnwrappedPre;scrollIntoView(elementToScroll);}else{addClass(this.spanInMainDiv,\"currentmatch\");scrollIntoView(this.spanInMainDiv);}},belongsTo:function(logEntry){if(isIe){return isDescendant(this.spanInUnwrappedPre,logEntry.unwrappedPre);}else{return isDescendant(this.spanInMainDiv,logEntry.mainDiv);}},setNotCurrent:function(){if(isIe){removeClass(this.spanInUnwrappedPre,\"currentmatch\");removeClass(this.spanInWrappedDiv,\"currentmatch\");}else{removeClass(this.spanInMainDiv,\"currentmatch\");}},isOrphan:function(){return isOrphan(this.mainSpan);},isVisible:function(){return getCheckBox(this.logEntryLevel).checked;},remove:function(){if(isIe){this.spanInUnwrappedPre=null;this.spanInWrappedDiv=null;}else{this.spanInMainDiv=null;}}};var currentSearch=null;var currentMatchIndex=null;function doSearch(){var searchBox=$(\"searchBox\");var searchTerm=searchBox.value;var isRegex=$(\"searchRegex\").checked;var isCaseSensitive=$(\"searchCaseSensitive\").checked;var i;if(searchTerm===\"\"){$(\"searchReset\").disabled=true;$(\"searchNav\").style.display=\"none\";removeClass(document.body,\"searching\");removeClass(searchBox,\"hasmatches\");removeClass(searchBox,\"nomatches\");for(i=0;i<logEntries.length;i++){logEntries[i].clearSearch();logEntries[i].setContent(logEntries[i].formattedMessage,logEntries[i].formattedMessage);}','currentSearch=null;setLogContainerHeight();}else{$(\"searchReset\").disabled=false;$(\"searchNav\").style.display=\"block\";var searchRegex;var regexValid;if(isRegex){try{searchRegex=isCaseSensitive?new RegExp(searchTerm,\"g\"):new RegExp(searchTerm,\"gi\");regexValid=true;replaceClass(searchBox,\"validregex\",\"invalidregex\");searchBox.title=\"Valid regex\";}catch(ex){regexValid=false;replaceClass(searchBox,\"invalidregex\",\"validregex\");searchBox.title=\"Invalid regex: \"+(ex.message?ex.message:(ex.description?ex.description:\"unknown error\"));return;}}else{searchBox.title=\"\";removeClass(searchBox,\"validregex\");removeClass(searchBox,\"invalidregex\");}','addClass(document.body,\"searching\");currentSearch=new Search(searchTerm,isRegex,searchRegex,isCaseSensitive);for(i=0;i<logEntries.length;i++){currentSearch.applyTo(logEntries[i]);}','setLogContainerHeight();if(currentSearch.hasVisibleMatches()){setCurrentMatchIndex(0);displayMatches();}else{displayNoMatches();}}}','function updateSearchFromFilters(){if(currentSearch){if(currentSearch.hasMatches()){if(currentMatchIndex===null){currentMatchIndex=0;}','var currentMatch=currentSearch.matches[currentMatchIndex];if(currentMatch.isVisible()){displayMatches();setCurrentMatchIndex(currentMatchIndex);}else{currentMatch.setNotCurrent();var nextVisibleMatchIndex=currentSearch.getNextVisibleMatchIndex();if(nextVisibleMatchIndex>-1){setCurrentMatchIndex(nextVisibleMatchIndex);displayMatches();}else{displayNoMatches();}}}else{displayNoMatches();}}}','function refreshCurrentMatch(){if(currentSearch&¤tSearch.hasVisibleMatches()){setCurrentMatchIndex(currentMatchIndex);}}','function displayMatches(){replaceClass($(\"searchBox\"),\"hasmatches\",\"nomatches\");$(\"searchBox\").title=\"\"+currentSearch.matches.length+\" matches found\";$(\"searchNav\").style.display=\"block\";setLogContainerHeight();}','function displayNoMatches(){replaceClass($(\"searchBox\"),\"nomatches\",\"hasmatches\");$(\"searchBox\").title=\"No matches found\";$(\"searchNav\").style.display=\"none\";setLogContainerHeight();}','function toggleSearchEnabled(enable){enable=(typeof enable==\"undefined\")?!$(\"searchDisable\").checked:enable;$(\"searchBox\").disabled=!enable;$(\"searchReset\").disabled=!enable;$(\"searchRegex\").disabled=!enable;$(\"searchNext\").disabled=!enable;$(\"searchPrevious\").disabled=!enable;$(\"searchCaseSensitive\").disabled=!enable;$(\"searchNav\").style.display=(enable&&($(\"searchBox\").value!==\"\")&¤tSearch&¤tSearch.hasVisibleMatches())?\"block\":\"none\";if(enable){removeClass($(\"search\"),\"greyedout\");addClass(document.body,\"searching\");if($(\"searchHighlight\").checked){addClass(logMainContainer,\"searchhighlight\");}else{removeClass(logMainContainer,\"searchhighlight\");}','if($(\"searchFilter\").checked){addClass(logMainContainer,\"searchfilter\");}else{removeClass(logMainContainer,\"searchfilter\");}','$(\"searchDisable\").checked=!enable;}else{addClass($(\"search\"),\"greyedout\");removeClass(document.body,\"searching\");removeClass(logMainContainer,\"searchhighlight\");removeClass(logMainContainer,\"searchfilter\");}','setLogContainerHeight();}','function toggleSearchFilter(){var enable=$(\"searchFilter\").checked;if(enable){addClass(logMainContainer,\"searchfilter\");}else{removeClass(logMainContainer,\"searchfilter\");}','refreshCurrentMatch();}','function toggleSearchHighlight(){var enable=$(\"searchHighlight\").checked;if(enable){addClass(logMainContainer,\"searchhighlight\");}else{removeClass(logMainContainer,\"searchhighlight\");}}','function clearSearch(){$(\"searchBox\").value=\"\";doSearch();}','function searchNext(){if(currentSearch!==null&¤tMatchIndex!==null){currentSearch.matches[currentMatchIndex].setNotCurrent();var nextMatchIndex=currentSearch.getNextVisibleMatchIndex();if(nextMatchIndex>currentMatchIndex||confirm(\"Reached the end of the page. Start from the top?\")){setCurrentMatchIndex(nextMatchIndex);}}}','function searchPrevious(){if(currentSearch!==null&¤tMatchIndex!==null){currentSearch.matches[currentMatchIndex].setNotCurrent();var previousMatchIndex=currentSearch.getPreviousVisibleMatchIndex();if(previousMatchIndex<currentMatchIndex||confirm(\"Reached the start of the page. Continue from the bottom?\")){setCurrentMatchIndex(previousMatchIndex);}}}','function setCurrentMatchIndex(index){currentMatchIndex=index;currentSearch.matches[currentMatchIndex].setCurrent();}','function addClass(el,cssClass){if(!hasClass(el,cssClass)){if(el.className){el.className+=\" \"+cssClass;}else{el.className=cssClass;}}}','function hasClass(el,cssClass){if(el.className){var classNames=el.className.split(\" \");return array_contains(classNames,cssClass);}','return false;}','function removeClass(el,cssClass){if(hasClass(el,cssClass)){var existingClasses=el.className.split(\" \");var newClasses=[];for(var i=0,len=existingClasses.length;i<len;i++){if(existingClasses[i]!=cssClass){newClasses[newClasses.length]=existingClasses[i];}}','el.className=newClasses.join(\" \");}}','function replaceClass(el,newCssClass,oldCssClass){removeClass(el,oldCssClass);addClass(el,newCssClass);}','function getElementsByClass(el,cssClass,tagName){var elements=el.getElementsByTagName(tagName);var matches=[];for(var i=0,len=elements.length;i<len;i++){if(hasClass(elements[i],cssClass)){matches.push(elements[i]);}}','return matches;}','function $(id){return document.getElementById(id);}','function isDescendant(node,ancestorNode){while(node!=null){if(node===ancestorNode){return true;}','node=node.parentNode;}','return false;}','function isOrphan(node){var currentNode=node;while(currentNode){if(currentNode==document.body){return false;}','currentNode=currentNode.parentNode;}','return true;}','function escapeHtml(str){return str.replace(/&/g,\"&\").replace(/[<]/g,\"<\").replace(/>/g,\">\");}','function getWindowWidth(){if(window.innerWidth){return window.innerWidth;}else if(document.documentElement&&document.documentElement.clientWidth){return document.documentElement.clientWidth;}else if(document.body){return document.body.clientWidth;}','return 0;}','function getWindowHeight(){if(window.innerHeight){return window.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientHeight;}else if(document.body){return document.body.clientHeight;}','return 0;}','function getToolBarsHeight(){return $(\"switches\").offsetHeight;}','function getChromeHeight(){var height=getToolBarsHeight();if(showCommandLine){height+=$(\"commandLine\").offsetHeight;}','return height;}','function setLogContainerHeight(){if(logMainContainer){var windowHeight=getWindowHeight();$(\"body\").style.height=getWindowHeight()+\"px\";logMainContainer.style.height=\"\"+','Math.max(0,windowHeight-getChromeHeight())+\"px\";}}','function setCommandInputWidth(){if(showCommandLine){$(\"command\").style.width=\"\"+Math.max(0,$(\"commandLineContainer\").offsetWidth-','($(\"evaluateButton\").offsetWidth+13))+\"px\";}}','window.onresize=function(){setCommandInputWidth();setLogContainerHeight();};if(!Array.prototype.push){Array.prototype.push=function(){for(var i=0,len=arguments.length;i<len;i++){this[this.length]=arguments[i];}','return this.length;};}','if(!Array.prototype.pop){Array.prototype.pop=function(){if(this.length>0){var val=this[this.length-1];this.length=this.length-1;return val;}};}','if(!Array.prototype.shift){Array.prototype.shift=function(){if(this.length>0){var firstItem=this[0];for(var i=0,len=this.length-1;i<len;i++){this[i]=this[i+1];}','this.length=this.length-1;return firstItem;}};}','if(!Array.prototype.splice){Array.prototype.splice=function(startIndex,deleteCount){var itemsAfterDeleted=this.slice(startIndex+deleteCount);var itemsDeleted=this.slice(startIndex,startIndex+deleteCount);this.length=startIndex;var argumentsArray=[];for(var i=0,len=arguments.length;i<len;i++){argumentsArray[i]=arguments[i];}','var itemsToAppend=(argumentsArray.length>2)?itemsAfterDeleted=argumentsArray.slice(2).concat(itemsAfterDeleted):itemsAfterDeleted;for(i=0,len=itemsToAppend.length;i<len;i++){this.push(itemsToAppend[i]);}','return itemsDeleted;};}','function array_remove(arr,val){var index=-1;for(var i=0,len=arr.length;i<len;i++){if(arr[i]===val){index=i;break;}}','if(index>=0){arr.splice(index,1);return index;}else{return false;}}','function array_removeFromStart(array,numberToRemove){if(Array.prototype.splice){array.splice(0,numberToRemove);}else{for(var i=numberToRemove,len=array.length;i<len;i++){array[i-numberToRemove]=array[i];}','array.length=array.length-numberToRemove;}','return array;}','function array_contains(arr,val){for(var i=0,len=arr.length;i<len;i++){if(arr[i]==val){return true;}}','return false;}','function getErrorMessage(ex){if(ex.message){return ex.message;}else if(ex.description){return ex.description;}','return\"\"+ex;}','function moveCaretToEnd(input){if(input.setSelectionRange){input.focus();var length=input.value.length;input.setSelectionRange(length,length);}else if(input.createTextRange){var range=input.createTextRange();range.collapse(false);range.select();}','input.focus();}','function stopPropagation(evt){if(evt.stopPropagation){evt.stopPropagation();}else if(typeof evt.cancelBubble!=\"undefined\"){evt.cancelBubble=true;}}','function getEvent(evt){return evt?evt:event;}','function getTarget(evt){return evt.target?evt.target:evt.srcElement;}','function getRelatedTarget(evt){if(evt.relatedTarget){return evt.relatedTarget;}else if(evt.srcElement){switch(evt.type){case\"mouseover\":return evt.fromElement;case\"mouseout\":return evt.toElement;default:return evt.srcElement;}}}','function cancelKeyEvent(evt){evt.returnValue=false;stopPropagation(evt);}','function evalCommandLine(){var expr=$(\"command\").value;evalCommand(expr);$(\"command\").value=\"\";}','function evalLastCommand(){if(lastCommand!=null){evalCommand(lastCommand);}}','var lastCommand=null;var commandHistory=[];var currentCommandIndex=0;function evalCommand(expr){if(appender){appender.evalCommandAndAppend(expr);}else{var prefix=\">>> \"+expr+\"\\\\r\\\\n\";try{log(\"INFO\",prefix+eval(expr));}catch(ex){log(\"ERROR\",prefix+\"Error: \"+getErrorMessage(ex));}}','if(expr!=commandHistory[commandHistory.length-1]){commandHistory.push(expr);if(appender){appender.storeCommandHistory(commandHistory);}}','currentCommandIndex=(expr==commandHistory[currentCommandIndex])?currentCommandIndex+1:commandHistory.length;lastCommand=expr;}','//]]>','</script>','<style type=\"text/css\">','body{background-color:white;color:black;padding:0;margin:0;font-family:tahoma,verdana,arial,helvetica,sans-serif;overflow:hidden}div#switchesContainer input{margin-bottom:0}div.toolbar{border-top:solid #ffffff 1px;border-bottom:solid #aca899 1px;background-color:#f1efe7;padding:3px 5px;font-size:68.75%}div.toolbar,div#search input{font-family:tahoma,verdana,arial,helvetica,sans-serif}div.toolbar input.button{padding:0 5px;font-size:100%}div.toolbar input.hidden{display:none}div#switches input#clearButton{margin-left:20px}div#levels label{font-weight:bold}div#levels label,div#options label{margin-right:5px}div#levels label#wrapLabel{font-weight:normal}div#search label{margin-right:10px}div#search label.searchboxlabel{margin-right:0}div#search input{font-size:100%}div#search input.validregex{color:green}div#search input.invalidregex{color:red}div#search input.nomatches{color:white;background-color:#ff6666}div#search input.nomatches{color:white;background-color:#ff6666}div#searchNav{display:none}div#commandLine{display:none}div#commandLine input#command{font-size:100%;font-family:Courier New,Courier}div#commandLine input#evaluateButton{}*.greyedout{color:gray !important;border-color:gray !important}*.greyedout *.alwaysenabled{color:black}*.unselectable{-khtml-user-select:none;-moz-user-select:none;user-select:none}div#log{font-family:Courier New,Courier;font-size:75%;width:100%;overflow:auto;clear:both;position:relative}div.group{border-color:#cccccc;border-style:solid;border-width:1px 0 1px 1px;overflow:visible}div.oldIe div.group,div.oldIe div.group *,div.oldIe *.logentry{height:1%}div.group div.groupheading span.expander{border:solid black 1px;font-family:Courier New,Courier;font-size:0.833em;background-color:#eeeeee;position:relative;top:-1px;color:black;padding:0 2px;cursor:pointer;cursor:hand;height:1%}div.group div.groupcontent{margin-left:10px;padding-bottom:2px;overflow:visible}div.group div.expanded{display:block}div.group div.collapsed{display:none}*.logentry{overflow:visible;display:none;white-space:pre}span.pre{white-space:pre}pre.unwrapped{display:inline !important}pre.unwrapped pre.pre,div.wrapped pre.pre{display:inline}div.wrapped pre.pre{white-space:normal}div.wrapped{display:none}body.searching *.logentry span.currentmatch{color:white !important;background-color:green !important}body.searching div.searchhighlight *.logentry span.searchterm{color:black;background-color:yellow}div.wrap *.logentry{white-space:normal !important;border-width:0 0 1px 0;border-color:#dddddd;border-style:dotted}div.wrap #log_wrapped,#log_unwrapped{display:block}div.wrap #log_unwrapped,#log_wrapped{display:none}div.wrap *.logentry span.pre{overflow:visible;white-space:normal}div.wrap *.logentry pre.unwrapped{display:none}div.wrap *.logentry span.wrapped{display:inline}div.searchfilter *.searchnonmatch{display:none !important}div#log *.TRACE,label#label_TRACE{color:#666666}div#log *.DEBUG,label#label_DEBUG{color:green}div#log *.INFO,label#label_INFO{color:#000099}div#log *.WARN,label#label_WARN{color:#999900}div#log *.ERROR,label#label_ERROR{color:red}div#log *.FATAL,label#label_FATAL{color:#660066}div.TRACE#log *.TRACE,div.DEBUG#log *.DEBUG,div.INFO#log *.INFO,div.WARN#log *.WARN,div.ERROR#log *.ERROR,div.FATAL#log *.FATAL{display:block}div#log div.separator{background-color:#cccccc;margin:5px 0;line-height:1px}','</style>','</head>','<body id=\"body\">','<div id=\"switchesContainer\">','<div id=\"switches\">','<div id=\"levels\" class=\"toolbar\">','Filters:','<input type=\"checkbox\" id=\"switch_TRACE\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide trace messages\" /><label for=\"switch_TRACE\" id=\"label_TRACE\">trace</label>','<input type=\"checkbox\" id=\"switch_DEBUG\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide debug messages\" /><label for=\"switch_DEBUG\" id=\"label_DEBUG\">debug</label>','<input type=\"checkbox\" id=\"switch_INFO\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide info messages\" /><label for=\"switch_INFO\" id=\"label_INFO\">info</label>','<input type=\"checkbox\" id=\"switch_WARN\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide warn messages\" /><label for=\"switch_WARN\" id=\"label_WARN\">warn</label>','<input type=\"checkbox\" id=\"switch_ERROR\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide error messages\" /><label for=\"switch_ERROR\" id=\"label_ERROR\">error</label>','<input type=\"checkbox\" id=\"switch_FATAL\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide fatal messages\" /><label for=\"switch_FATAL\" id=\"label_FATAL\">fatal</label>','<input type=\"checkbox\" id=\"switch_ALL\" onclick=\"toggleAllLevels(); applyFilters()\" checked=\"checked\" title=\"Show/hide all messages\" /><label for=\"switch_ALL\" id=\"label_ALL\">all</label>','</div>','<div id=\"search\" class=\"toolbar\">','<label for=\"searchBox\" class=\"searchboxlabel\">Search:</label> <input type=\"text\" id=\"searchBox\" onclick=\"toggleSearchEnabled(true)\" onkeyup=\"scheduleSearch()\" size=\"20\" />','<input type=\"button\" id=\"searchReset\" disabled=\"disabled\" value=\"Reset\" onclick=\"clearSearch()\" class=\"button\" title=\"Reset the search\" />','<input type=\"checkbox\" id=\"searchRegex\" onclick=\"doSearch()\" title=\"If checked, search is treated as a regular expression\" /><label for=\"searchRegex\">Regex</label>','<input type=\"checkbox\" id=\"searchCaseSensitive\" onclick=\"doSearch()\" title=\"If checked, search is case sensitive\" /><label for=\"searchCaseSensitive\">Match case</label>','<input type=\"checkbox\" id=\"searchDisable\" onclick=\"toggleSearchEnabled()\" title=\"Enable/disable search\" /><label for=\"searchDisable\" class=\"alwaysenabled\">Disable</label>','<div id=\"searchNav\">','<input type=\"button\" id=\"searchNext\" disabled=\"disabled\" value=\"Next\" onclick=\"searchNext()\" class=\"button\" title=\"Go to the next matching log entry\" />','<input type=\"button\" id=\"searchPrevious\" disabled=\"disabled\" value=\"Previous\" onclick=\"searchPrevious()\" class=\"button\" title=\"Go to the previous matching log entry\" />','<input type=\"checkbox\" id=\"searchFilter\" onclick=\"toggleSearchFilter()\" title=\"If checked, non-matching log entries are filtered out\" /><label for=\"searchFilter\">Filter</label>','<input type=\"checkbox\" id=\"searchHighlight\" onclick=\"toggleSearchHighlight()\" title=\"Highlight matched search terms\" /><label for=\"searchHighlight\" class=\"alwaysenabled\">Highlight all</label>','</div>','</div>','<div id=\"options\" class=\"toolbar\">','Options:','<input type=\"checkbox\" id=\"enableLogging\" onclick=\"toggleLoggingEnabled()\" checked=\"checked\" title=\"Enable/disable logging\" /><label for=\"enableLogging\" id=\"enableLoggingLabel\">Log</label>','<input type=\"checkbox\" id=\"wrap\" onclick=\"toggleWrap()\" title=\"Enable / disable word wrap\" /><label for=\"wrap\" id=\"wrapLabel\">Wrap</label>','<input type=\"checkbox\" id=\"newestAtTop\" onclick=\"toggleNewestAtTop()\" title=\"If checked, causes newest messages to appear at the top\" /><label for=\"newestAtTop\" id=\"newestAtTopLabel\">Newest at the top</label>','<input type=\"checkbox\" id=\"scrollToLatest\" onclick=\"toggleScrollToLatest()\" checked=\"checked\" title=\"If checked, window automatically scrolls to a new message when it is added\" /><label for=\"scrollToLatest\" id=\"scrollToLatestLabel\">Scroll to latest</label>','<input type=\"button\" id=\"clearButton\" value=\"Clear\" onclick=\"clearLog()\" class=\"button\" title=\"Clear all log messages\" />','<input type=\"button\" id=\"hideButton\" value=\"Hide\" onclick=\"hide()\" class=\"hidden button\" title=\"Hide the console\" />','<input type=\"button\" id=\"closeButton\" value=\"Close\" onclick=\"closeWindow()\" class=\"hidden button\" title=\"Close the window\" />','</div>','</div>','</div>','<div id=\"log\" class=\"TRACE DEBUG INFO WARN ERROR FATAL\"></div>','<div id=\"commandLine\" class=\"toolbar\">','<div id=\"commandLineContainer\">','<input type=\"text\" id=\"command\" title=\"Enter a JavaScript command here and hit return or press \\'Evaluate\\'\" />','<input type=\"button\" id=\"evaluateButton\" value=\"Evaluate\" class=\"button\" title=\"Evaluate the command\" onclick=\"evalCommandLine()\" />','</div>','</div>','</body>','</html>',''];};var defaultCommandLineFunctions=[];ConsoleAppender=function(){};var consoleAppenderIdCounter=1;ConsoleAppender.prototype=new Appender();ConsoleAppender.prototype.create=function(inPage,container,lazyInit,initiallyMinimized,useDocumentWrite,width,height,focusConsoleWindow){var appender=this;var initialized=false;var consoleWindowCreated=false;var consoleWindowLoaded=false;var consoleClosed=false;var queuedLoggingEvents=[];var isSupported=true;var consoleAppenderId=consoleAppenderIdCounter++;initiallyMinimized=extractBooleanFromParam(initiallyMinimized,this.defaults.initiallyMinimized);lazyInit=extractBooleanFromParam(lazyInit,this.defaults.lazyInit);useDocumentWrite=extractBooleanFromParam(useDocumentWrite,this.defaults.useDocumentWrite);var newestMessageAtTop=this.defaults.newestMessageAtTop;var scrollToLatestMessage=this.defaults.scrollToLatestMessage;width=width?width:this.defaults.width;height=height?height:this.defaults.height;var maxMessages=this.defaults.maxMessages;var showCommandLine=this.defaults.showCommandLine;var commandLineObjectExpansionDepth=this.defaults.commandLineObjectExpansionDepth;var showHideButton=this.defaults.showHideButton;var showCloseButton=this.defaults.showCloseButton;this.setLayout(this.defaults.layout);var init,createWindow,safeToAppend,getConsoleWindow,open;var appenderName=inPage?\"InPageAppender\":\"PopUpAppender\";var checkCanConfigure=function(configOptionName){if(consoleWindowCreated){handleError(appenderName+\": configuration option '\"+configOptionName+\"' may not be set after the appender has been initialized\");return false;}\r\nreturn true;};var consoleWindowExists=function(){return(consoleWindowLoaded&&isSupported&&!consoleClosed);};this.isNewestMessageAtTop=function(){return newestMessageAtTop;};this.setNewestMessageAtTop=function(newestMessageAtTopParam){newestMessageAtTop=bool(newestMessageAtTopParam);if(consoleWindowExists()){getConsoleWindow().setNewestAtTop(newestMessageAtTop);}};this.isScrollToLatestMessage=function(){return scrollToLatestMessage;};this.setScrollToLatestMessage=function(scrollToLatestMessageParam){scrollToLatestMessage=bool(scrollToLatestMessageParam);if(consoleWindowExists()){getConsoleWindow().setScrollToLatest(scrollToLatestMessage);}};this.getWidth=function(){return width;};this.setWidth=function(widthParam){if(checkCanConfigure(\"width\")){width=extractStringFromParam(widthParam,width);}};this.getHeight=function(){return height;};this.setHeight=function(heightParam){if(checkCanConfigure(\"height\")){height=extractStringFromParam(heightParam,height);}};this.getMaxMessages=function(){return maxMessages;};this.setMaxMessages=function(maxMessagesParam){maxMessages=extractIntFromParam(maxMessagesParam,maxMessages);if(consoleWindowExists()){getConsoleWindow().setMaxMessages(maxMessages);}};this.isShowCommandLine=function(){return showCommandLine;};this.setShowCommandLine=function(showCommandLineParam){showCommandLine=bool(showCommandLineParam);if(consoleWindowExists()){getConsoleWindow().setShowCommandLine(showCommandLine);}};this.isShowHideButton=function(){return showHideButton;};this.setShowHideButton=function(showHideButtonParam){showHideButton=bool(showHideButtonParam);if(consoleWindowExists()){getConsoleWindow().setShowHideButton(showHideButton);}};this.isShowCloseButton=function(){return showCloseButton;};this.setShowCloseButton=function(showCloseButtonParam){showCloseButton=bool(showCloseButtonParam);if(consoleWindowExists()){getConsoleWindow().setShowCloseButton(showCloseButton);}};this.getCommandLineObjectExpansionDepth=function(){return commandLineObjectExpansionDepth;};this.setCommandLineObjectExpansionDepth=function(commandLineObjectExpansionDepthParam){commandLineObjectExpansionDepth=extractIntFromParam(commandLineObjectExpansionDepthParam,commandLineObjectExpansionDepth);};var minimized=initiallyMinimized;this.isInitiallyMinimized=function(){return initiallyMinimized;};this.setInitiallyMinimized=function(initiallyMinimizedParam){if(checkCanConfigure(\"initiallyMinimized\")){initiallyMinimized=bool(initiallyMinimizedParam);minimized=initiallyMinimized;}};this.isUseDocumentWrite=function(){return useDocumentWrite;};this.setUseDocumentWrite=function(useDocumentWriteParam){if(checkCanConfigure(\"useDocumentWrite\")){useDocumentWrite=bool(useDocumentWriteParam);}};function QueuedLoggingEvent(loggingEvent,formattedMessage){this.loggingEvent=loggingEvent;this.levelName=loggingEvent.level.name;this.formattedMessage=formattedMessage;}\r\nQueuedLoggingEvent.prototype.append=function(){getConsoleWindow().log(this.levelName,this.formattedMessage);};function QueuedGroup(name,initiallyExpanded){this.name=name;this.initiallyExpanded=initiallyExpanded;}\r\nQueuedGroup.prototype.append=function(){getConsoleWindow().group(this.name,this.initiallyExpanded);};function QueuedGroupEnd(){}\r\nQueuedGroupEnd.prototype.append=function(){getConsoleWindow().groupEnd();};var checkAndAppend=function(){safeToAppend();if(!initialized){init();}else if(consoleClosed&&reopenWhenClosed){createWindow();}\r\nif(safeToAppend()){appendQueuedLoggingEvents();}};this.append=function(loggingEvent){if(isSupported){var formattedMessage=appender.getLayout().formatWithException(loggingEvent);queuedLoggingEvents.push(new QueuedLoggingEvent(loggingEvent,formattedMessage));checkAndAppend();}};this.group=function(name,initiallyExpanded){if(isSupported){queuedLoggingEvents.push(new QueuedGroup(name,initiallyExpanded));checkAndAppend();}};this.groupEnd=function(){if(isSupported){queuedLoggingEvents.push(new QueuedGroupEnd());checkAndAppend();}};var appendQueuedLoggingEvents=function(){while(queuedLoggingEvents.length>0){queuedLoggingEvents.shift().append();}\r\nif(focusConsoleWindow){getConsoleWindow().focus();}};this.setAddedToLogger=function(logger){this.loggers.push(logger);if(enabled&&!lazyInit){init();}};this.clear=function(){if(consoleWindowExists()){getConsoleWindow().clearLog();}\r\nqueuedLoggingEvents.length=0;};this.focus=function(){if(consoleWindowExists()){getConsoleWindow().focus();}};this.focusCommandLine=function(){if(consoleWindowExists()){getConsoleWindow().focusCommandLine();}};this.focusSearch=function(){if(consoleWindowExists()){getConsoleWindow().focusSearch();}};var commandWindow=window;this.getCommandWindow=function(){return commandWindow;};this.setCommandWindow=function(commandWindowParam){commandWindow=commandWindowParam;};this.executeLastCommand=function(){if(consoleWindowExists()){getConsoleWindow().evalLastCommand();}};var commandLayout=new PatternLayout(\"%m\");this.getCommandLayout=function(){return commandLayout;};this.setCommandLayout=function(commandLayoutParam){commandLayout=commandLayoutParam;};this.evalCommandAndAppend=function(expr){var commandReturnValue={appendResult:true,isError:false};var commandOutput=\"\";try{var result,i;if(!commandWindow.eval&&commandWindow.execScript){commandWindow.execScript(\"null\");}\r\nvar commandLineFunctionsHash={};for(i=0,len=commandLineFunctions.length;i<len;i++){commandLineFunctionsHash[commandLineFunctions[i][0]]=commandLineFunctions[i][1];}\r\nvar objectsToRestore=[];var addObjectToRestore=function(name){objectsToRestore.push([name,commandWindow[name]]);};addObjectToRestore(\"appender\");commandWindow.appender=appender;addObjectToRestore(\"commandReturnValue\");commandWindow.commandReturnValue=commandReturnValue;addObjectToRestore(\"commandLineFunctionsHash\");commandWindow.commandLineFunctionsHash=commandLineFunctionsHash;var addFunctionToWindow=function(name){addObjectToRestore(name);commandWindow[name]=function(){return this.commandLineFunctionsHash[name](appender,arguments,commandReturnValue);};};for(i=0,len=commandLineFunctions.length;i<len;i++){addFunctionToWindow(commandLineFunctions[i][0]);}\r\nif(commandWindow===window&&commandWindow.execScript){addObjectToRestore(\"evalExpr\");addObjectToRestore(\"result\");window.evalExpr=expr;commandWindow.execScript(\"window.result=eval(window.evalExpr);\");result=window.result;}else{result=commandWindow.eval(expr);}\r\ncommandOutput=isUndefined(result)?result:formatObjectExpansion(result,commandLineObjectExpansionDepth);for(i=0,len=objectsToRestore.length;i<len;i++){commandWindow[objectsToRestore[i][0]]=objectsToRestore[i][1];}}catch(ex){commandOutput=\"Error evaluating command: \"+getExceptionStringRep(ex);commandReturnValue.isError=true;}\r\nif(commandReturnValue.appendResult){var message=\">>> \"+expr;if(!isUndefined(commandOutput)){message+=newLine+commandOutput;}\r\nvar level=commandReturnValue.isError?Level.ERROR:Level.INFO;var loggingEvent=new LoggingEvent(null,new Date(),level,[message],null);var mainLayout=this.getLayout();this.setLayout(commandLayout);this.append(loggingEvent);this.setLayout(mainLayout);}};var commandLineFunctions=defaultCommandLineFunctions.concat([]);this.addCommandLineFunction=function(functionName,commandLineFunction){commandLineFunctions.push([functionName,commandLineFunction]);};var commandHistoryCookieName=\"log4javascriptCommandHistory\";this.storeCommandHistory=function(commandHistory){setCookie(commandHistoryCookieName,commandHistory.join(\",\"));};var writeHtml=function(doc){var lines=getConsoleHtmlLines();doc.open();for(var i=0,len=lines.length;i<len;i++){doc.writeln(lines[i]);}\r\ndoc.close();};this.setEventTypes([\"load\",\"unload\"]);var consoleWindowLoadHandler=function(){var win=getConsoleWindow();win.setAppender(appender);win.setNewestAtTop(newestMessageAtTop);win.setScrollToLatest(scrollToLatestMessage);win.setMaxMessages(maxMessages);win.setShowCommandLine(showCommandLine);win.setShowHideButton(showHideButton);win.setShowCloseButton(showCloseButton);win.setMainWindow(window);var storedValue=getCookie(commandHistoryCookieName);if(storedValue){win.commandHistory=storedValue.split(\",\");win.currentCommandIndex=win.commandHistory.length;}\r\nappender.dispatchEvent(\"load\",{\"win\":win});};this.unload=function(){logLog.debug(\"unload \"+this+\", caller: \"+this.unload.caller);if(!consoleClosed){logLog.debug(\"really doing unload \"+this);consoleClosed=true;consoleWindowLoaded=false;consoleWindowCreated=false;appender.dispatchEvent(\"unload\",{});}};var pollConsoleWindow=function(windowTest,interval,successCallback,errorMessage){function doPoll(){try{if(consoleClosed){clearInterval(poll);}\r\nif(windowTest(getConsoleWindow())){clearInterval(poll);successCallback();}}catch(ex){clearInterval(poll);isSupported=false;handleError(errorMessage,ex);}}\r\nvar poll=setInterval(doPoll,interval);};var getConsoleUrl=function(){var documentDomainSet=(document.domain!=location.hostname);return useDocumentWrite?\"\":getBaseUrl()+\"console.html\"+\r\n(documentDomainSet?\"?log4javascript_domain=\"+escape(document.domain):\"\");};if(inPage){var containerElement=null;var cssProperties=[];this.addCssProperty=function(name,value){if(checkCanConfigure(\"cssProperties\")){cssProperties.push([name,value]);}};var windowCreationStarted=false;var iframeContainerDiv;var iframeId=uniqueId+\"_InPageAppender_\"+consoleAppenderId;this.hide=function(){if(initialized&&consoleWindowCreated){if(consoleWindowExists()){getConsoleWindow().$(\"command\").blur();}\r\niframeContainerDiv.style.display=\"none\";minimized=true;}};this.show=function(){if(initialized){if(consoleWindowCreated){iframeContainerDiv.style.display=\"block\";this.setShowCommandLine(showCommandLine);minimized=false;}else if(!windowCreationStarted){createWindow(true);}}};this.isVisible=function(){return!minimized&&!consoleClosed;};this.close=function(fromButton){if(!consoleClosed&&(!fromButton||confirm(\"This will permanently remove the console from the page. No more messages will be logged. Do you wish to continue?\"))){iframeContainerDiv.parentNode.removeChild(iframeContainerDiv);this.unload();}};open=function(){var initErrorMessage=\"InPageAppender.open: unable to create console iframe\";function finalInit(){try{if(!initiallyMinimized){appender.show();}\r\nconsoleWindowLoadHandler();consoleWindowLoaded=true;appendQueuedLoggingEvents();}catch(ex){isSupported=false;handleError(initErrorMessage,ex);}}\r\nfunction writeToDocument(){try{var windowTest=function(win){return isLoaded(win);};if(useDocumentWrite){writeHtml(getConsoleWindow().document);}\r\nif(windowTest(getConsoleWindow())){finalInit();}else{pollConsoleWindow(windowTest,100,finalInit,initErrorMessage);}}catch(ex){isSupported=false;handleError(initErrorMessage,ex);}}\r\nminimized=false;iframeContainerDiv=containerElement.appendChild(document.createElement(\"div\"));iframeContainerDiv.style.width=width;iframeContainerDiv.style.height=height;iframeContainerDiv.style.border=\"solid gray 1px\";for(var i=0,len=cssProperties.length;i<len;i++){iframeContainerDiv.style[cssProperties[i][0]]=cssProperties[i][1];}\r\nvar iframeSrc=useDocumentWrite?\"\":\" src='\"+getConsoleUrl()+\"'\";iframeContainerDiv.innerHTML=\"<iframe id='\"+iframeId+\"' name='\"+iframeId+\"' width='100%' height='100%' frameborder='0'\"+iframeSrc+\" scrolling='no'></iframe>\";consoleClosed=false;var iframeDocumentExistsTest=function(win){try{return bool(win)&&bool(win.document);}catch(ex){return false;}};if(iframeDocumentExistsTest(getConsoleWindow())){writeToDocument();}else{pollConsoleWindow(iframeDocumentExistsTest,100,writeToDocument,initErrorMessage);}\r\nconsoleWindowCreated=true;};createWindow=function(show){if(show||!initiallyMinimized){var pageLoadHandler=function(){if(!container){containerElement=document.createElement(\"div\");containerElement.style.position=\"fixed\";containerElement.style.left=\"0\";containerElement.style.right=\"0\";containerElement.style.bottom=\"0\";document.body.appendChild(containerElement);appender.addCssProperty(\"borderWidth\",\"1px 0 0 0\");appender.addCssProperty(\"zIndex\",1000000);open();}else{try{var el=document.getElementById(container);if(el.nodeType==1){containerElement=el;}\r\nopen();}catch(ex){handleError(\"InPageAppender.init: invalid container element '\"+container+\"' supplied\",ex);}}};if(pageLoaded&&container&&container.appendChild){containerElement=container;open();}else if(pageLoaded){pageLoadHandler();}else{log4javascript.addEventListener(\"load\",pageLoadHandler);}\r\nwindowCreationStarted=true;}};init=function(){createWindow();initialized=true;};getConsoleWindow=function(){var iframe=window.frames[iframeId];if(iframe){return iframe;}};safeToAppend=function(){if(isSupported&&!consoleClosed){if(consoleWindowCreated&&!consoleWindowLoaded&&getConsoleWindow()&&isLoaded(getConsoleWindow())){consoleWindowLoaded=true;}\r\nreturn consoleWindowLoaded;}\r\nreturn false;};}else{var useOldPopUp=appender.defaults.useOldPopUp;var complainAboutPopUpBlocking=appender.defaults.complainAboutPopUpBlocking;var reopenWhenClosed=this.defaults.reopenWhenClosed;this.isUseOldPopUp=function(){return useOldPopUp;};this.setUseOldPopUp=function(useOldPopUpParam){if(checkCanConfigure(\"useOldPopUp\")){useOldPopUp=bool(useOldPopUpParam);}};this.isComplainAboutPopUpBlocking=function(){return complainAboutPopUpBlocking;};this.setComplainAboutPopUpBlocking=function(complainAboutPopUpBlockingParam){if(checkCanConfigure(\"complainAboutPopUpBlocking\")){complainAboutPopUpBlocking=bool(complainAboutPopUpBlockingParam);}};this.isFocusPopUp=function(){return focusConsoleWindow;};this.setFocusPopUp=function(focusPopUpParam){focusConsoleWindow=bool(focusPopUpParam);};this.isReopenWhenClosed=function(){return reopenWhenClosed;};this.setReopenWhenClosed=function(reopenWhenClosedParam){reopenWhenClosed=bool(reopenWhenClosedParam);};this.close=function(){logLog.debug(\"close \"+this);try{popUp.close();this.unload();}catch(ex){}};this.hide=function(){logLog.debug(\"hide \"+this);if(consoleWindowExists()){this.close();}};this.show=function(){logLog.debug(\"show \"+this);if(!consoleWindowCreated){open();}};this.isVisible=function(){return safeToAppend();};var popUp;open=function(){var windowProperties=\"width=\"+width+\",height=\"+height+\",status,resizable\";var frameInfo=\"\";try{var frameEl=window.frameElement;if(frameEl){frameInfo=\"_\"+frameEl.tagName+\"_\"+(frameEl.name||frameEl.id||\"\");}}catch(e){frameInfo=\"_inaccessibleParentFrame\";}\r\nvar windowName=\"PopUp_\"+location.host.replace(/[^a-z0-9]/gi,\"_\")+\"_\"+consoleAppenderId+frameInfo;if(!useOldPopUp||!useDocumentWrite){windowName=windowName+\"_\"+uniqueId;}\r\nvar checkPopUpClosed=function(win){if(consoleClosed){return true;}else{try{return bool(win)&&win.closed;}catch(ex){}}\r\nreturn false;};var popUpClosedCallback=function(){if(!consoleClosed){appender.unload();}};function finalInit(){getConsoleWindow().setCloseIfOpenerCloses(!useOldPopUp||!useDocumentWrite);consoleWindowLoadHandler();consoleWindowLoaded=true;appendQueuedLoggingEvents();pollConsoleWindow(checkPopUpClosed,500,popUpClosedCallback,\"PopUpAppender.checkPopUpClosed: error checking pop-up window\");}\r\ntry{popUp=window.open(getConsoleUrl(),windowName,windowProperties);consoleClosed=false;consoleWindowCreated=true;if(popUp&&popUp.document){if(useDocumentWrite&&useOldPopUp&&isLoaded(popUp)){popUp.mainPageReloaded();finalInit();}else{if(useDocumentWrite){writeHtml(popUp.document);}\r\nvar popUpLoadedTest=function(win){return bool(win)&&isLoaded(win);};if(isLoaded(popUp)){finalInit();}else{pollConsoleWindow(popUpLoadedTest,100,finalInit,\"PopUpAppender.init: unable to create console window\");}}}else{isSupported=false;logLog.warn(\"PopUpAppender.init: pop-ups blocked, please unblock to use PopUpAppender\");if(complainAboutPopUpBlocking){handleError(\"log4javascript: pop-up windows appear to be blocked. Please unblock them to use pop-up logging.\");}}}catch(ex){handleError(\"PopUpAppender.init: error creating pop-up\",ex);}};createWindow=function(){if(!initiallyMinimized){open();}};init=function(){createWindow();initialized=true;};getConsoleWindow=function(){return popUp;};safeToAppend=function(){if(isSupported&&!isUndefined(popUp)&&!consoleClosed){if(popUp.closed||(consoleWindowLoaded&&isUndefined(popUp.closed))){appender.unload();logLog.debug(\"PopUpAppender: pop-up closed\");return false;}\r\nif(!consoleWindowLoaded&&isLoaded(popUp)){consoleWindowLoaded=true;}}\r\nreturn isSupported&&consoleWindowLoaded&&!consoleClosed;};}\r\nthis.getConsoleWindow=getConsoleWindow;};ConsoleAppender.addGlobalCommandLineFunction=function(functionName,commandLineFunction){defaultCommandLineFunctions.push([functionName,commandLineFunction]);};function PopUpAppender(lazyInit,initiallyMinimized,useDocumentWrite,width,height){this.create(false,null,lazyInit,initiallyMinimized,useDocumentWrite,width,height,this.defaults.focusPopUp);}\r\nPopUpAppender.prototype=new ConsoleAppender();PopUpAppender.prototype.defaults={layout:new PatternLayout(\"%d{HH:mm:ss} %-5p - %m{1}%n\"),initiallyMinimized:false,focusPopUp:false,lazyInit:true,useOldPopUp:true,complainAboutPopUpBlocking:true,newestMessageAtTop:false,scrollToLatestMessage:true,width:\"600\",height:\"400\",reopenWhenClosed:false,maxMessages:null,showCommandLine:true,commandLineObjectExpansionDepth:1,showHideButton:false,showCloseButton:true,useDocumentWrite:true};PopUpAppender.prototype.toString=function(){return\"PopUpAppender\";};log4javascript.PopUpAppender=PopUpAppender;function InPageAppender(container,lazyInit,initiallyMinimized,useDocumentWrite,width,height){this.create(true,container,lazyInit,initiallyMinimized,useDocumentWrite,width,height,false);}\r\nInPageAppender.prototype=new ConsoleAppender();InPageAppender.prototype.defaults={layout:new PatternLayout(\"%d{HH:mm:ss} %-5p - %m{1}%n\"),initiallyMinimized:false,lazyInit:true,newestMessageAtTop:false,scrollToLatestMessage:true,width:\"100%\",height:\"220px\",maxMessages:null,showCommandLine:true,commandLineObjectExpansionDepth:1,showHideButton:false,showCloseButton:false,showLogEntryDeleteButtons:true,useDocumentWrite:true};InPageAppender.prototype.toString=function(){return\"InPageAppender\";};log4javascript.InPageAppender=InPageAppender;log4javascript.InlineAppender=InPageAppender;})();function padWithSpaces(str,len){if(str.length<len){var spaces=[];var numberOfSpaces=Math.max(0,len-str.length);for(var i=0;i<numberOfSpaces;i++){spaces[i]=\" \";}\r\nstr+=spaces.join(\"\");}\r\nreturn str;}\r\n(function(){function dir(obj){var maxLen=0;for(var p in obj){maxLen=Math.max(toStr(p).length,maxLen);}\r\nvar propList=[];for(p in obj){var propNameStr=\" \"+padWithSpaces(toStr(p),maxLen+2);var propVal;try{propVal=splitIntoLines(toStr(obj[p])).join(padWithSpaces(newLine,maxLen+6));}catch(ex){propVal=\"[Error obtaining property. Details: \"+getExceptionMessage(ex)+\"]\";}\r\npropList.push(propNameStr+propVal);}\r\nreturn propList.join(newLine);}\r\nvar nodeTypes={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12};var preFormattedElements=[\"script\",\"pre\"];var emptyElements=[\"br\",\"img\",\"hr\",\"param\",\"link\",\"area\",\"input\",\"col\",\"base\",\"meta\"];var indentationUnit=\" \";function getXhtml(rootNode,includeRootNode,indentation,startNewLine,preformatted){includeRootNode=(typeof includeRootNode==\"undefined\")?true:!!includeRootNode;if(typeof indentation!=\"string\"){indentation=\"\";}\r\nstartNewLine=!!startNewLine;preformatted=!!preformatted;var xhtml;function isWhitespace(node){return((node.nodeType==nodeTypes.TEXT_NODE)&&/^[ \\t\\r\\n]*$/.test(node.nodeValue));}\r\nfunction fixAttributeValue(attrValue){return attrValue.toString().replace(/&/g,\"&\").replace(/</g,\"<\").replace(/\"/g,\""\");}\r\nfunction getStyleAttributeValue(el){var stylePairs=el.style.cssText.split(\";\");var styleValue=\"\";for(var j=0,len=stylePairs.length;j<len;j++){var nameValueBits=stylePairs[j].split(\":\");var props=[];if(!/^\\s*$/.test(nameValueBits[0])){props.push(trim(nameValueBits[0]).toLowerCase()+\":\"+trim(nameValueBits[1]));}\r\nstyleValue=props.join(\";\");}\r\nreturn styleValue;}\r\nfunction getNamespace(el){if(el.prefix){return el.prefix;}else if(el.outerHTML){var regex=new RegExp(\"<([^:]+):\"+el.tagName+\"[^>]*>\",\"i\");if(regex.test(el.outerHTML)){return RegExp.$1.toLowerCase();}}\r\nreturn\"\";}\r\nvar lt=\"<\";var gt=\">\";var i,len;if(includeRootNode&&rootNode.nodeType!=nodeTypes.DOCUMENT_FRAGMENT_NODE){switch(rootNode.nodeType){case nodeTypes.ELEMENT_NODE:var tagName=rootNode.tagName.toLowerCase();xhtml=startNewLine?newLine+indentation:\"\";xhtml+=lt;var prefix=getNamespace(rootNode);var hasPrefix=!!prefix;if(hasPrefix){xhtml+=prefix+\":\";}\r\nxhtml+=tagName;for(i=0,len=rootNode.attributes.length;i<len;i++){var currentAttr=rootNode.attributes[i];if(!currentAttr.specified||currentAttr.nodeValue===null||currentAttr.nodeName.toLowerCase()===\"style\"||typeof currentAttr.nodeValue!==\"string\"||currentAttr.nodeName.indexOf(\"_moz\")===0){continue;}\r\nxhtml+=\" \"+currentAttr.nodeName.toLowerCase()+\"=\\\"\";xhtml+=fixAttributeValue(currentAttr.nodeValue);xhtml+=\"\\\"\";}\r\nif(rootNode.style.cssText){var styleValue=getStyleAttributeValue(rootNode);if(styleValue!==\"\"){xhtml+=\" style=\\\"\"+getStyleAttributeValue(rootNode)+\"\\\"\";}}\r\nif(array_contains(emptyElements,tagName)||(hasPrefix&&!rootNode.hasChildNodes())){xhtml+=\"/\"+gt;}else{xhtml+=gt;var childStartNewLine=!(rootNode.childNodes.length===1&&rootNode.childNodes[0].nodeType===nodeTypes.TEXT_NODE);var childPreformatted=array_contains(preFormattedElements,tagName);for(i=0,len=rootNode.childNodes.length;i<len;i++){xhtml+=getXhtml(rootNode.childNodes[i],true,indentation+indentationUnit,childStartNewLine,childPreformatted);}\r\nvar endTag=lt+\"/\"+tagName+gt;xhtml+=childStartNewLine?newLine+indentation+endTag:endTag;}\r\nreturn xhtml;case nodeTypes.TEXT_NODE:if(isWhitespace(rootNode)){xhtml=\"\";}else{if(preformatted){xhtml=rootNode.nodeValue;}else{var lines=splitIntoLines(trim(rootNode.nodeValue));var trimmedLines=[];for(i=0,len=lines.length;i<len;i++){trimmedLines[i]=trim(lines[i]);}\r\nxhtml=trimmedLines.join(newLine+indentation);}\r\nif(startNewLine){xhtml=newLine+indentation+xhtml;}}\r\nreturn xhtml;case nodeTypes.CDATA_SECTION_NODE:return\"<![CDA\"+\"TA[\"+rootNode.nodeValue+\"]\"+\"]>\"+newLine;case nodeTypes.DOCUMENT_NODE:xhtml=\"\";for(i=0,len=rootNode.childNodes.length;i<len;i++){xhtml+=getXhtml(rootNode.childNodes[i],true,indentation);}\r\nreturn xhtml;default:return\"\";}}else{xhtml=\"\";for(i=0,len=rootNode.childNodes.length;i<len;i++){xhtml+=getXhtml(rootNode.childNodes[i],true,indentation+indentationUnit);}\r\nreturn xhtml;}}\r\nfunction createCommandLineFunctions(){ConsoleAppender.addGlobalCommandLineFunction(\"$\",function(appender,args,returnValue){return document.getElementById(args[0]);});ConsoleAppender.addGlobalCommandLineFunction(\"dir\",function(appender,args,returnValue){var lines=[];for(var i=0,len=args.length;i<len;i++){lines[i]=dir(args[i]);}\r\nreturn lines.join(newLine+newLine);});ConsoleAppender.addGlobalCommandLineFunction(\"dirxml\",function(appender,args,returnValue){var lines=[];for(var i=0,len=args.length;i<len;i++){lines[i]=getXhtml(args[i]);}\r\nreturn lines.join(newLine+newLine);});ConsoleAppender.addGlobalCommandLineFunction(\"cd\",function(appender,args,returnValue){var win,message;if(args.length===0||args[0]===\"\"){win=window;message=\"Command line set to run in main window\";}else{if(args[0].window==args[0]){win=args[0];message=\"Command line set to run in frame '\"+args[0].name+\"'\";}else{win=window.frames[args[0]];if(win){message=\"Command line set to run in frame '\"+args[0]+\"'\";}else{returnValue.isError=true;message=\"Frame '\"+args[0]+\"' does not exist\";win=appender.getCommandWindow();}}}\r\nappender.setCommandWindow(win);return message;});ConsoleAppender.addGlobalCommandLineFunction(\"clear\",function(appender,args,returnValue){returnValue.appendResult=false;appender.clear();});ConsoleAppender.addGlobalCommandLineFunction(\"keys\",function(appender,args,returnValue){var keys=[];for(var k in args[0]){keys.push(k);}\r\nreturn keys;});ConsoleAppender.addGlobalCommandLineFunction(\"values\",function(appender,args,returnValue){var values=[];for(var k in args[0]){try{values.push(args[0][k]);}catch(ex){logLog.warn(\"values(): Unable to obtain value for key \"+k+\". Details: \"+getExceptionMessage(ex));}}\r\nreturn values;});ConsoleAppender.addGlobalCommandLineFunction(\"expansionDepth\",function(appender,args,returnValue){var expansionDepth=parseInt(args[0],10);if(isNaN(expansionDepth)||expansionDepth<0){returnValue.isError=true;return\"\"+args[0]+\" is not a valid expansion depth\";}else{appender.setCommandLineObjectExpansionDepth(expansionDepth);return\"Object expansion depth set to \"+expansionDepth;}});}\r\nfunction init(){createCommandLineFunctions();}\r\ninit();})();function createDefaultLogger(){var logger=log4javascript.getLogger(defaultLoggerName);var a=new log4javascript.PopUpAppender();logger.addAppender(a);return logger;}\r\nlog4javascript.setDocumentReady=function(){pageLoaded=true;log4javascript.dispatchEvent(\"load\",{});};if(window.addEventListener){window.addEventListener(\"load\",log4javascript.setDocumentReady,false);}else if(window.attachEvent){window.attachEvent(\"onload\",log4javascript.setDocumentReady);}else{var oldOnload=window.onload;if(typeof window.onload!=\"function\"){window.onload=log4javascript.setDocumentReady;}else{window.onload=function(evt){if(oldOnload){oldOnload(evt);}\r\nlog4javascript.setDocumentReady();};}}\r\nreturn log4javascript;},this);\r\n","/**\n * lite-url - Small, JS lib that uses regex for parsing a URL into it's component parts.\n * @version v1.0.5\n * @link https://github.com/sadams/lite-url\n * @license BSD-3-Clause\n */\n(function(){\"use strict\";function r(r,n,t){var e=r.split(n),o=e.shift();return t(o,e.join(n))}function n(n){var t={hash:\"\",host:\"\",hostname:\"\",origin:\"\",pathname:\"\",protocol:\"\",search:\"\",password:\"\",username:\"\",port:\"\"};return r(n,\"#\",function(n,e){e&&(t.hash=e?\"#\"+e:\"\"),r(n,\"?\",function(n,e){e&&(t.search=\"?\"+e),n&&r(n,\"//\",function(n,e){t.protocol=n,r(e,\"/\",function(n,e){t.pathname=\"/\"+(e||\"\"),(t.protocol||n)&&(t.origin=t.protocol+\"//\"+n),r(n,\"@\",function(n,e){if(e){var o=n.split(\":\");t.username=o[0],t.password=o[1]}else e=n;t.host=e,r(e,\":\",function(r,n){t.hostname=r,n&&(t.port=n)})})})})})}),t.href=t.origin+t.pathname+t.search+t.hash,t}function t(r){var n={},t=r.search;if(t){t=t.replace(new RegExp(\"\\\\?\"),\"\");var e=t.split(\"&\");for(var o in e)if(e.hasOwnProperty(o)&&e[o]){var i=e[o].split(\"=\");n[i[0]]=i[1]}}return n}function e(r){var e=i[r];return\"undefined\"!=typeof e?e:(e=n(r),e.params=t(e),i[r]=e,e)}var o=this,i={};return e.changeQueryParser=function(r){t=r},\"undefined\"!=typeof exports?(\"undefined\"!=typeof module&&module.exports&&(exports=module.exports=e),exports.liteURL=e):o.liteURL=e,e}).call(this);\n","/*!\n * Platform.js v1.3.6\n * Copyright 2014-2020 Benjamin Tan\n * Copyright 2011-2013 John-David Dalton\n * Available under MIT license\n */\n;(function() {\n 'use strict';\n\n /** Used to determine if values are of the language type `Object`. */\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n /** Used as a reference to the global object. */\n var root = (objectTypes[typeof window] && window) || this;\n\n /** Backup possible global object. */\n var oldRoot = root;\n\n /** Detect free variable `exports`. */\n var freeExports = objectTypes[typeof exports] && exports;\n\n /** Detect free variable `module`. */\n var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;\n\n /** Detect free variable `global` from Node.js or Browserified code and use it as `root`. */\n var freeGlobal = freeExports && freeModule && typeof global == 'object' && global;\n if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {\n root = freeGlobal;\n }\n\n /**\n * Used as the maximum length of an array-like object.\n * See the [ES6 spec](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength)\n * for more details.\n */\n var maxSafeInteger = Math.pow(2, 53) - 1;\n\n /** Regular expression to detect Opera. */\n var reOpera = /\\bOpera/;\n\n /** Possible global object. */\n var thisBinding = this;\n\n /** Used for native method references. */\n var objectProto = Object.prototype;\n\n /** Used to check for own properties of an object. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to resolve the internal `[[Class]]` of values. */\n var toString = objectProto.toString;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Capitalizes a string value.\n *\n * @private\n * @param {string} string The string to capitalize.\n * @returns {string} The capitalized string.\n */\n function capitalize(string) {\n string = String(string);\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n /**\n * A utility function to clean up the OS name.\n *\n * @private\n * @param {string} os The OS name to clean up.\n * @param {string} [pattern] A `RegExp` pattern matching the OS name.\n * @param {string} [label] A label for the OS.\n */\n function cleanupOS(os, pattern, label) {\n // Platform tokens are defined at:\n // http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx\n // http://web.archive.org/web/20081122053950/http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx\n var data = {\n '10.0': '10',\n '6.4': '10 Technical Preview',\n '6.3': '8.1',\n '6.2': '8',\n '6.1': 'Server 2008 R2 / 7',\n '6.0': 'Server 2008 / Vista',\n '5.2': 'Server 2003 / XP 64-bit',\n '5.1': 'XP',\n '5.01': '2000 SP1',\n '5.0': '2000',\n '4.0': 'NT',\n '4.90': 'ME'\n };\n // Detect Windows version from platform tokens.\n if (pattern && label && /^Win/i.test(os) && !/^Windows Phone /i.test(os) &&\n (data = data[/[\\d.]+$/.exec(os)])) {\n os = 'Windows ' + data;\n }\n // Correct character case and cleanup string.\n os = String(os);\n\n if (pattern && label) {\n os = os.replace(RegExp(pattern, 'i'), label);\n }\n\n os = format(\n os.replace(/ ce$/i, ' CE')\n .replace(/\\bhpw/i, 'web')\n .replace(/\\bMacintosh\\b/, 'Mac OS')\n .replace(/_PowerPC\\b/i, ' OS')\n .replace(/\\b(OS X) [^ \\d]+/i, '$1')\n .replace(/\\bMac (OS X)\\b/, '$1')\n .replace(/\\/(\\d)/, ' $1')\n .replace(/_/g, '.')\n .replace(/(?: BePC|[ .]*fc[ \\d.]+)$/i, '')\n .replace(/\\bx86\\.64\\b/gi, 'x86_64')\n .replace(/\\b(Windows Phone) OS\\b/, '$1')\n .replace(/\\b(Chrome OS \\w+) [\\d.]+\\b/, '$1')\n .split(' on ')[0]\n );\n\n return os;\n }\n\n /**\n * An iteration utility for arrays and objects.\n *\n * @private\n * @param {Array|Object} object The object to iterate over.\n * @param {Function} callback The function called per iteration.\n */\n function each(object, callback) {\n var index = -1,\n length = object ? object.length : 0;\n\n if (typeof length == 'number' && length > -1 && length <= maxSafeInteger) {\n while (++index < length) {\n callback(object[index], index, object);\n }\n } else {\n forOwn(object, callback);\n }\n }\n\n /**\n * Trim and conditionally capitalize string values.\n *\n * @private\n * @param {string} string The string to format.\n * @returns {string} The formatted string.\n */\n function format(string) {\n string = trim(string);\n return /^(?:webOS|i(?:OS|P))/.test(string)\n ? string\n : capitalize(string);\n }\n\n /**\n * Iterates over an object's own properties, executing the `callback` for each.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} callback The function executed per own property.\n */\n function forOwn(object, callback) {\n for (var key in object) {\n if (hasOwnProperty.call(object, key)) {\n callback(object[key], key, object);\n }\n }\n }\n\n /**\n * Gets the internal `[[Class]]` of a value.\n *\n * @private\n * @param {*} value The value.\n * @returns {string} The `[[Class]]`.\n */\n function getClassOf(value) {\n return value == null\n ? capitalize(value)\n : toString.call(value).slice(8, -1);\n }\n\n /**\n * Host objects can return type values that are different from their actual\n * data type. The objects we are concerned with usually return non-primitive\n * types of \"object\", \"function\", or \"unknown\".\n *\n * @private\n * @param {*} object The owner of the property.\n * @param {string} property The property to check.\n * @returns {boolean} Returns `true` if the property value is a non-primitive, else `false`.\n */\n function isHostType(object, property) {\n var type = object != null ? typeof object[property] : 'number';\n return !/^(?:boolean|number|string|undefined)$/.test(type) &&\n (type == 'object' ? !!object[property] : true);\n }\n\n /**\n * Prepares a string for use in a `RegExp` by making hyphens and spaces optional.\n *\n * @private\n * @param {string} string The string to qualify.\n * @returns {string} The qualified string.\n */\n function qualify(string) {\n return String(string).replace(/([ -])(?!$)/g, '$1?');\n }\n\n /**\n * A bare-bones `Array#reduce` like utility function.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function called per iteration.\n * @returns {*} The accumulated result.\n */\n function reduce(array, callback) {\n var accumulator = null;\n each(array, function(value, index) {\n accumulator = callback(accumulator, value, index, array);\n });\n return accumulator;\n }\n\n /**\n * Removes leading and trailing whitespace from a string.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} The trimmed string.\n */\n function trim(string) {\n return String(string).replace(/^ +| +$/g, '');\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Creates a new platform object.\n *\n * @memberOf platform\n * @param {Object|string} [ua=navigator.userAgent] The user agent string or\n * context object.\n * @returns {Object} A platform object.\n */\n function parse(ua) {\n\n /** The environment context object. */\n var context = root;\n\n /** Used to flag when a custom context is provided. */\n var isCustomContext = ua && typeof ua == 'object' && getClassOf(ua) != 'String';\n\n // Juggle arguments.\n if (isCustomContext) {\n context = ua;\n ua = null;\n }\n\n /** Browser navigator object. */\n var nav = context.navigator || {};\n\n /** Browser user agent string. */\n var userAgent = nav.userAgent || '';\n\n ua || (ua = userAgent);\n\n /** Used to flag when `thisBinding` is the [ModuleScope]. */\n var isModuleScope = isCustomContext || thisBinding == oldRoot;\n\n /** Used to detect if browser is like Chrome. */\n var likeChrome = isCustomContext\n ? !!nav.likeChrome\n : /\\bChrome\\b/.test(ua) && !/internal|\\n/i.test(toString.toString());\n\n /** Internal `[[Class]]` value shortcuts. */\n var objectClass = 'Object',\n airRuntimeClass = isCustomContext ? objectClass : 'ScriptBridgingProxyObject',\n enviroClass = isCustomContext ? objectClass : 'Environment',\n javaClass = (isCustomContext && context.java) ? 'JavaPackage' : getClassOf(context.java),\n phantomClass = isCustomContext ? objectClass : 'RuntimeObject';\n\n /** Detect Java environments. */\n var java = /\\bJava/.test(javaClass) && context.java;\n\n /** Detect Rhino. */\n var rhino = java && getClassOf(context.environment) == enviroClass;\n\n /** A character to represent alpha. */\n var alpha = java ? 'a' : '\\u03b1';\n\n /** A character to represent beta. */\n var beta = java ? 'b' : '\\u03b2';\n\n /** Browser document object. */\n var doc = context.document || {};\n\n /**\n * Detect Opera browser (Presto-based).\n * http://www.howtocreate.co.uk/operaStuff/operaObject.html\n * http://dev.opera.com/articles/view/opera-mini-web-content-authoring-guidelines/#operamini\n */\n var opera = context.operamini || context.opera;\n\n /** Opera `[[Class]]`. */\n var operaClass = reOpera.test(operaClass = (isCustomContext && opera) ? opera['[[Class]]'] : getClassOf(opera))\n ? operaClass\n : (opera = null);\n\n /*------------------------------------------------------------------------*/\n\n /** Temporary variable used over the script's lifetime. */\n var data;\n\n /** The CPU architecture. */\n var arch = ua;\n\n /** Platform description array. */\n var description = [];\n\n /** Platform alpha/beta indicator. */\n var prerelease = null;\n\n /** A flag to indicate that environment features should be used to resolve the platform. */\n var useFeatures = ua == userAgent;\n\n /** The browser/environment version. */\n var version = useFeatures && opera && typeof opera.version == 'function' && opera.version();\n\n /** A flag to indicate if the OS ends with \"/ Version\" */\n var isSpecialCasedOS;\n\n /* Detectable layout engines (order is important). */\n var layout = getLayout([\n { 'label': 'EdgeHTML', 'pattern': 'Edge' },\n 'Trident',\n { 'label': 'WebKit', 'pattern': 'AppleWebKit' },\n 'iCab',\n 'Presto',\n 'NetFront',\n 'Tasman',\n 'KHTML',\n 'Gecko'\n ]);\n\n /* Detectable browser names (order is important). */\n var name = getName([\n 'Adobe AIR',\n 'Arora',\n 'Avant Browser',\n 'Breach',\n 'Camino',\n 'Electron',\n 'Epiphany',\n 'Fennec',\n 'Flock',\n 'Galeon',\n 'GreenBrowser',\n 'iCab',\n 'Iceweasel',\n 'K-Meleon',\n 'Konqueror',\n 'Lunascape',\n 'Maxthon',\n { 'label': 'Microsoft Edge', 'pattern': '(?:Edge|Edg|EdgA|EdgiOS)' },\n 'Midori',\n 'Nook Browser',\n 'PaleMoon',\n 'PhantomJS',\n 'Raven',\n 'Rekonq',\n 'RockMelt',\n { 'label': 'Samsung Internet', 'pattern': 'SamsungBrowser' },\n 'SeaMonkey',\n { 'label': 'Silk', 'pattern': '(?:Cloud9|Silk-Accelerated)' },\n 'Sleipnir',\n 'SlimBrowser',\n { 'label': 'SRWare Iron', 'pattern': 'Iron' },\n 'Sunrise',\n 'Swiftfox',\n 'Vivaldi',\n 'Waterfox',\n 'WebPositive',\n { 'label': 'Yandex Browser', 'pattern': 'YaBrowser' },\n { 'label': 'UC Browser', 'pattern': 'UCBrowser' },\n 'Opera Mini',\n { 'label': 'Opera Mini', 'pattern': 'OPiOS' },\n 'Opera',\n { 'label': 'Opera', 'pattern': 'OPR' },\n 'Chromium',\n 'Chrome',\n { 'label': 'Chrome', 'pattern': '(?:HeadlessChrome)' },\n { 'label': 'Chrome Mobile', 'pattern': '(?:CriOS|CrMo)' },\n { 'label': 'Firefox', 'pattern': '(?:Firefox|Minefield)' },\n { 'label': 'Firefox for iOS', 'pattern': 'FxiOS' },\n { 'label': 'IE', 'pattern': 'IEMobile' },\n { 'label': 'IE', 'pattern': 'MSIE' },\n 'Safari'\n ]);\n\n /* Detectable products (order is important). */\n var product = getProduct([\n { 'label': 'BlackBerry', 'pattern': 'BB10' },\n 'BlackBerry',\n { 'label': 'Galaxy S', 'pattern': 'GT-I9000' },\n { 'label': 'Galaxy S2', 'pattern': 'GT-I9100' },\n { 'label': 'Galaxy S3', 'pattern': 'GT-I9300' },\n { 'label': 'Galaxy S4', 'pattern': 'GT-I9500' },\n { 'label': 'Galaxy S5', 'pattern': 'SM-G900' },\n { 'label': 'Galaxy S6', 'pattern': 'SM-G920' },\n { 'label': 'Galaxy S6 Edge', 'pattern': 'SM-G925' },\n { 'label': 'Galaxy S7', 'pattern': 'SM-G930' },\n { 'label': 'Galaxy S7 Edge', 'pattern': 'SM-G935' },\n 'Google TV',\n 'Lumia',\n 'iPad',\n 'iPod',\n 'iPhone',\n 'Kindle',\n { 'label': 'Kindle Fire', 'pattern': '(?:Cloud9|Silk-Accelerated)' },\n 'Nexus',\n 'Nook',\n 'PlayBook',\n 'PlayStation Vita',\n 'PlayStation',\n 'TouchPad',\n 'Transformer',\n { 'label': 'Wii U', 'pattern': 'WiiU' },\n 'Wii',\n 'Xbox One',\n { 'label': 'Xbox 360', 'pattern': 'Xbox' },\n 'Xoom'\n ]);\n\n /* Detectable manufacturers. */\n var manufacturer = getManufacturer({\n 'Apple': { 'iPad': 1, 'iPhone': 1, 'iPod': 1 },\n 'Alcatel': {},\n 'Archos': {},\n 'Amazon': { 'Kindle': 1, 'Kindle Fire': 1 },\n 'Asus': { 'Transformer': 1 },\n 'Barnes & Noble': { 'Nook': 1 },\n 'BlackBerry': { 'PlayBook': 1 },\n 'Google': { 'Google TV': 1, 'Nexus': 1 },\n 'HP': { 'TouchPad': 1 },\n 'HTC': {},\n 'Huawei': {},\n 'Lenovo': {},\n 'LG': {},\n 'Microsoft': { 'Xbox': 1, 'Xbox One': 1 },\n 'Motorola': { 'Xoom': 1 },\n 'Nintendo': { 'Wii U': 1, 'Wii': 1 },\n 'Nokia': { 'Lumia': 1 },\n 'Oppo': {},\n 'Samsung': { 'Galaxy S': 1, 'Galaxy S2': 1, 'Galaxy S3': 1, 'Galaxy S4': 1 },\n 'Sony': { 'PlayStation': 1, 'PlayStation Vita': 1 },\n 'Xiaomi': { 'Mi': 1, 'Redmi': 1 }\n });\n\n /* Detectable operating systems (order is important). */\n var os = getOS([\n 'Windows Phone',\n 'KaiOS',\n 'Android',\n 'CentOS',\n { 'label': 'Chrome OS', 'pattern': 'CrOS' },\n 'Debian',\n { 'label': 'DragonFly BSD', 'pattern': 'DragonFly' },\n 'Fedora',\n 'FreeBSD',\n 'Gentoo',\n 'Haiku',\n 'Kubuntu',\n 'Linux Mint',\n 'OpenBSD',\n 'Red Hat',\n 'SuSE',\n 'Ubuntu',\n 'Xubuntu',\n 'Cygwin',\n 'Symbian OS',\n 'hpwOS',\n 'webOS ',\n 'webOS',\n 'Tablet OS',\n 'Tizen',\n 'Linux',\n 'Mac OS X',\n 'Macintosh',\n 'Mac',\n 'Windows 98;',\n 'Windows '\n ]);\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Picks the layout engine from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected layout engine.\n */\n function getLayout(guesses) {\n return reduce(guesses, function(result, guess) {\n return result || RegExp('\\\\b' + (\n guess.pattern || qualify(guess)\n ) + '\\\\b', 'i').exec(ua) && (guess.label || guess);\n });\n }\n\n /**\n * Picks the manufacturer from an array of guesses.\n *\n * @private\n * @param {Array} guesses An object of guesses.\n * @returns {null|string} The detected manufacturer.\n */\n function getManufacturer(guesses) {\n return reduce(guesses, function(result, value, key) {\n // Lookup the manufacturer by product or scan the UA for the manufacturer.\n return result || (\n value[product] ||\n value[/^[a-z]+(?: +[a-z]+\\b)*/i.exec(product)] ||\n RegExp('\\\\b' + qualify(key) + '(?:\\\\b|\\\\w*\\\\d)', 'i').exec(ua)\n ) && key;\n });\n }\n\n /**\n * Picks the browser name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected browser name.\n */\n function getName(guesses) {\n return reduce(guesses, function(result, guess) {\n return result || RegExp('\\\\b' + (\n guess.pattern || qualify(guess)\n ) + '\\\\b', 'i').exec(ua) && (guess.label || guess);\n });\n }\n\n /**\n * Picks the OS name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected OS name.\n */\n function getOS(guesses) {\n return reduce(guesses, function(result, guess) {\n var pattern = guess.pattern || qualify(guess);\n if (!result && (result =\n RegExp('\\\\b' + pattern + '(?:/[\\\\d.]+|[ \\\\w.]*)', 'i').exec(ua)\n )) {\n result = cleanupOS(result, pattern, guess.label || guess);\n }\n return result;\n });\n }\n\n /**\n * Picks the product name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected product name.\n */\n function getProduct(guesses) {\n return reduce(guesses, function(result, guess) {\n var pattern = guess.pattern || qualify(guess);\n if (!result && (result =\n RegExp('\\\\b' + pattern + ' *\\\\d+[.\\\\w_]*', 'i').exec(ua) ||\n RegExp('\\\\b' + pattern + ' *\\\\w+-[\\\\w]*', 'i').exec(ua) ||\n RegExp('\\\\b' + pattern + '(?:; *(?:[a-z]+[_-])?[a-z]+\\\\d+|[^ ();-]*)', 'i').exec(ua)\n )) {\n // Split by forward slash and append product version if needed.\n if ((result = String((guess.label && !RegExp(pattern, 'i').test(guess.label)) ? guess.label : result).split('/'))[1] && !/[\\d.]+/.test(result[0])) {\n result[0] += ' ' + result[1];\n }\n // Correct character case and cleanup string.\n guess = guess.label || guess;\n result = format(result[0]\n .replace(RegExp(pattern, 'i'), guess)\n .replace(RegExp('; *(?:' + guess + '[_-])?', 'i'), ' ')\n .replace(RegExp('(' + guess + ')[-_.]?(\\\\w)', 'i'), '$1 $2'));\n }\n return result;\n });\n }\n\n /**\n * Resolves the version using an array of UA patterns.\n *\n * @private\n * @param {Array} patterns An array of UA patterns.\n * @returns {null|string} The detected version.\n */\n function getVersion(patterns) {\n return reduce(patterns, function(result, pattern) {\n return result || (RegExp(pattern +\n '(?:-[\\\\d.]+/|(?: for [\\\\w-]+)?[ /-])([\\\\d.]+[^ ();/_-]*)', 'i').exec(ua) || 0)[1] || null;\n });\n }\n\n /**\n * Returns `platform.description` when the platform object is coerced to a string.\n *\n * @name toString\n * @memberOf platform\n * @returns {string} Returns `platform.description` if available, else an empty string.\n */\n function toStringPlatform() {\n return this.description || '';\n }\n\n /*------------------------------------------------------------------------*/\n\n // Convert layout to an array so we can add extra details.\n layout && (layout = [layout]);\n\n // Detect Android products.\n // Browsers on Android devices typically provide their product IDS after \"Android;\"\n // up to \"Build\" or \") AppleWebKit\".\n // Example:\n // \"Mozilla/5.0 (Linux; Android 8.1.0; Moto G (5) Plus) AppleWebKit/537.36\n // (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36\"\n if (/\\bAndroid\\b/.test(os) && !product &&\n (data = /\\bAndroid[^;]*;(.*?)(?:Build|\\) AppleWebKit)\\b/i.exec(ua))) {\n product = trim(data[1])\n // Replace any language codes (eg. \"en-US\").\n .replace(/^[a-z]{2}-[a-z]{2};\\s*/i, '')\n || null;\n }\n // Detect product names that contain their manufacturer's name.\n if (manufacturer && !product) {\n product = getProduct([manufacturer]);\n } else if (manufacturer && product) {\n product = product\n .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.\\\\s]', 'i'), manufacturer + ' ')\n .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.]?(\\\\w)', 'i'), manufacturer + ' $2');\n }\n // Clean up Google TV.\n if ((data = /\\bGoogle TV\\b/.exec(product))) {\n product = data[0];\n }\n // Detect simulators.\n if (/\\bSimulator\\b/i.test(ua)) {\n product = (product ? product + ' ' : '') + 'Simulator';\n }\n // Detect Opera Mini 8+ running in Turbo/Uncompressed mode on iOS.\n if (name == 'Opera Mini' && /\\bOPiOS\\b/.test(ua)) {\n description.push('running in Turbo/Uncompressed mode');\n }\n // Detect IE Mobile 11.\n if (name == 'IE' && /\\blike iPhone OS\\b/.test(ua)) {\n data = parse(ua.replace(/like iPhone OS/, ''));\n manufacturer = data.manufacturer;\n product = data.product;\n }\n // Detect iOS.\n else if (/^iP/.test(product)) {\n name || (name = 'Safari');\n os = 'iOS' + ((data = / OS ([\\d_]+)/i.exec(ua))\n ? ' ' + data[1].replace(/_/g, '.')\n : '');\n }\n // Detect Kubuntu.\n else if (name == 'Konqueror' && /^Linux\\b/i.test(os)) {\n os = 'Kubuntu';\n }\n // Detect Android browsers.\n else if ((manufacturer && manufacturer != 'Google' &&\n ((/Chrome/.test(name) && !/\\bMobile Safari\\b/i.test(ua)) || /\\bVita\\b/.test(product))) ||\n (/\\bAndroid\\b/.test(os) && /^Chrome/.test(name) && /\\bVersion\\//i.test(ua))) {\n name = 'Android Browser';\n os = /\\bAndroid\\b/.test(os) ? os : 'Android';\n }\n // Detect Silk desktop/accelerated modes.\n else if (name == 'Silk') {\n if (!/\\bMobi/i.test(ua)) {\n os = 'Android';\n description.unshift('desktop mode');\n }\n if (/Accelerated *= *true/i.test(ua)) {\n description.unshift('accelerated');\n }\n }\n // Detect UC Browser speed mode.\n else if (name == 'UC Browser' && /\\bUCWEB\\b/.test(ua)) {\n description.push('speed mode');\n }\n // Detect PaleMoon identifying as Firefox.\n else if (name == 'PaleMoon' && (data = /\\bFirefox\\/([\\d.]+)\\b/.exec(ua))) {\n description.push('identifying as Firefox ' + data[1]);\n }\n // Detect Firefox OS and products running Firefox.\n else if (name == 'Firefox' && (data = /\\b(Mobile|Tablet|TV)\\b/i.exec(ua))) {\n os || (os = 'Firefox OS');\n product || (product = data[1]);\n }\n // Detect false positives for Firefox/Safari.\n else if (!name || (data = !/\\bMinefield\\b/i.test(ua) && /\\b(?:Firefox|Safari)\\b/.exec(name))) {\n // Escape the `/` for Firefox 1.\n if (name && !product && /[\\/,]|^[^(]+?\\)/.test(ua.slice(ua.indexOf(data + '/') + 8))) {\n // Clear name of false positives.\n name = null;\n }\n // Reassign a generic name.\n if ((data = product || manufacturer || os) &&\n (product || manufacturer || /\\b(?:Android|Symbian OS|Tablet OS|webOS)\\b/.test(os))) {\n name = /[a-z]+(?: Hat)?/i.exec(/\\bAndroid\\b/.test(os) ? os : data) + ' Browser';\n }\n }\n // Add Chrome version to description for Electron.\n else if (name == 'Electron' && (data = (/\\bChrome\\/([\\d.]+)\\b/.exec(ua) || 0)[1])) {\n description.push('Chromium ' + data);\n }\n // Detect non-Opera (Presto-based) versions (order is important).\n if (!version) {\n version = getVersion([\n '(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\\\d.]+$)|UCBrowser|YaBrowser)',\n 'Version',\n qualify(name),\n '(?:Firefox|Minefield|NetFront)'\n ]);\n }\n // Detect stubborn layout engines.\n if ((data =\n layout == 'iCab' && parseFloat(version) > 3 && 'WebKit' ||\n /\\bOpera\\b/.test(name) && (/\\bOPR\\b/.test(ua) ? 'Blink' : 'Presto') ||\n /\\b(?:Midori|Nook|Safari)\\b/i.test(ua) && !/^(?:Trident|EdgeHTML)$/.test(layout) && 'WebKit' ||\n !layout && /\\bMSIE\\b/i.test(ua) && (os == 'Mac OS' ? 'Tasman' : 'Trident') ||\n layout == 'WebKit' && /\\bPlayStation\\b(?! Vita\\b)/i.test(name) && 'NetFront'\n )) {\n layout = [data];\n }\n // Detect Windows Phone 7 desktop mode.\n if (name == 'IE' && (data = (/; *(?:XBLWP|ZuneWP)(\\d+)/i.exec(ua) || 0)[1])) {\n name += ' Mobile';\n os = 'Windows Phone ' + (/\\+$/.test(data) ? data : data + '.x');\n description.unshift('desktop mode');\n }\n // Detect Windows Phone 8.x desktop mode.\n else if (/\\bWPDesktop\\b/i.test(ua)) {\n name = 'IE Mobile';\n os = 'Windows Phone 8.x';\n description.unshift('desktop mode');\n version || (version = (/\\brv:([\\d.]+)/.exec(ua) || 0)[1]);\n }\n // Detect IE 11 identifying as other browsers.\n else if (name != 'IE' && layout == 'Trident' && (data = /\\brv:([\\d.]+)/.exec(ua))) {\n if (name) {\n description.push('identifying as ' + name + (version ? ' ' + version : ''));\n }\n name = 'IE';\n version = data[1];\n }\n // Leverage environment features.\n if (useFeatures) {\n // Detect server-side environments.\n // Rhino has a global function while others have a global object.\n if (isHostType(context, 'global')) {\n if (java) {\n data = java.lang.System;\n arch = data.getProperty('os.arch');\n os = os || data.getProperty('os.name') + ' ' + data.getProperty('os.version');\n }\n if (rhino) {\n try {\n version = context.require('ringo/engine').version.join('.');\n name = 'RingoJS';\n } catch(e) {\n if ((data = context.system) && data.global.system == context.system) {\n name = 'Narwhal';\n os || (os = data[0].os || null);\n }\n }\n if (!name) {\n name = 'Rhino';\n }\n }\n else if (\n typeof context.process == 'object' && !context.process.browser &&\n (data = context.process)\n ) {\n if (typeof data.versions == 'object') {\n if (typeof data.versions.electron == 'string') {\n description.push('Node ' + data.versions.node);\n name = 'Electron';\n version = data.versions.electron;\n } else if (typeof data.versions.nw == 'string') {\n description.push('Chromium ' + version, 'Node ' + data.versions.node);\n name = 'NW.js';\n version = data.versions.nw;\n }\n }\n if (!name) {\n name = 'Node.js';\n arch = data.arch;\n os = data.platform;\n version = /[\\d.]+/.exec(data.version);\n version = version ? version[0] : null;\n }\n }\n }\n // Detect Adobe AIR.\n else if (getClassOf((data = context.runtime)) == airRuntimeClass) {\n name = 'Adobe AIR';\n os = data.flash.system.Capabilities.os;\n }\n // Detect PhantomJS.\n else if (getClassOf((data = context.phantom)) == phantomClass) {\n name = 'PhantomJS';\n version = (data = data.version || null) && (data.major + '.' + data.minor + '.' + data.patch);\n }\n // Detect IE compatibility modes.\n else if (typeof doc.documentMode == 'number' && (data = /\\bTrident\\/(\\d+)/i.exec(ua))) {\n // We're in compatibility mode when the Trident version + 4 doesn't\n // equal the document mode.\n version = [version, doc.documentMode];\n if ((data = +data[1] + 4) != version[1]) {\n description.push('IE ' + version[1] + ' mode');\n layout && (layout[1] = '');\n version[1] = data;\n }\n version = name == 'IE' ? String(version[1].toFixed(1)) : version[0];\n }\n // Detect IE 11 masking as other browsers.\n else if (typeof doc.documentMode == 'number' && /^(?:Chrome|Firefox)\\b/.test(name)) {\n description.push('masking as ' + name + ' ' + version);\n name = 'IE';\n version = '11.0';\n layout = ['Trident'];\n os = 'Windows';\n }\n os = os && format(os);\n }\n // Detect prerelease phases.\n if (version && (data =\n /(?:[ab]|dp|pre|[ab]\\d+pre)(?:\\d+\\+?)?$/i.exec(version) ||\n /(?:alpha|beta)(?: ?\\d)?/i.exec(ua + ';' + (useFeatures && nav.appMinorVersion)) ||\n /\\bMinefield\\b/i.test(ua) && 'a'\n )) {\n prerelease = /b/i.test(data) ? 'beta' : 'alpha';\n version = version.replace(RegExp(data + '\\\\+?$'), '') +\n (prerelease == 'beta' ? beta : alpha) + (/\\d+\\+?/.exec(data) || '');\n }\n // Detect Firefox Mobile.\n if (name == 'Fennec' || name == 'Firefox' && /\\b(?:Android|Firefox OS|KaiOS)\\b/.test(os)) {\n name = 'Firefox Mobile';\n }\n // Obscure Maxthon's unreliable version.\n else if (name == 'Maxthon' && version) {\n version = version.replace(/\\.[\\d.]+/, '.x');\n }\n // Detect Xbox 360 and Xbox One.\n else if (/\\bXbox\\b/i.test(product)) {\n if (product == 'Xbox 360') {\n os = null;\n }\n if (product == 'Xbox 360' && /\\bIEMobile\\b/.test(ua)) {\n description.unshift('mobile mode');\n }\n }\n // Add mobile postfix.\n else if ((/^(?:Chrome|IE|Opera)$/.test(name) || name && !product && !/Browser|Mobi/.test(name)) &&\n (os == 'Windows CE' || /Mobi/i.test(ua))) {\n name += ' Mobile';\n }\n // Detect IE platform preview.\n else if (name == 'IE' && useFeatures) {\n try {\n if (context.external === null) {\n description.unshift('platform preview');\n }\n } catch(e) {\n description.unshift('embedded');\n }\n }\n // Detect BlackBerry OS version.\n // http://docs.blackberry.com/en/developers/deliverables/18169/HTTP_headers_sent_by_BB_Browser_1234911_11.jsp\n else if ((/\\bBlackBerry\\b/.test(product) || /\\bBB10\\b/.test(ua)) && (data =\n (RegExp(product.replace(/ +/g, ' *') + '/([.\\\\d]+)', 'i').exec(ua) || 0)[1] ||\n version\n )) {\n data = [data, /BB10/.test(ua)];\n os = (data[1] ? (product = null, manufacturer = 'BlackBerry') : 'Device Software') + ' ' + data[0];\n version = null;\n }\n // Detect Opera identifying/masking itself as another browser.\n // http://www.opera.com/support/kb/view/843/\n else if (this != forOwn && product != 'Wii' && (\n (useFeatures && opera) ||\n (/Opera/.test(name) && /\\b(?:MSIE|Firefox)\\b/i.test(ua)) ||\n (name == 'Firefox' && /\\bOS X (?:\\d+\\.){2,}/.test(os)) ||\n (name == 'IE' && (\n (os && !/^Win/.test(os) && version > 5.5) ||\n /\\bWindows XP\\b/.test(os) && version > 8 ||\n version == 8 && !/\\bTrident\\b/.test(ua)\n ))\n ) && !reOpera.test((data = parse.call(forOwn, ua.replace(reOpera, '') + ';'))) && data.name) {\n // When \"identifying\", the UA contains both Opera and the other browser's name.\n data = 'ing as ' + data.name + ((data = data.version) ? ' ' + data : '');\n if (reOpera.test(name)) {\n if (/\\bIE\\b/.test(data) && os == 'Mac OS') {\n os = null;\n }\n data = 'identify' + data;\n }\n // When \"masking\", the UA contains only the other browser's name.\n else {\n data = 'mask' + data;\n if (operaClass) {\n name = format(operaClass.replace(/([a-z])([A-Z])/g, '$1 $2'));\n } else {\n name = 'Opera';\n }\n if (/\\bIE\\b/.test(data)) {\n os = null;\n }\n if (!useFeatures) {\n version = null;\n }\n }\n layout = ['Presto'];\n description.push(data);\n }\n // Detect WebKit Nightly and approximate Chrome/Safari versions.\n if ((data = (/\\bAppleWebKit\\/([\\d.]+\\+?)/i.exec(ua) || 0)[1])) {\n // Correct build number for numeric comparison.\n // (e.g. \"532.5\" becomes \"532.05\")\n data = [parseFloat(data.replace(/\\.(\\d)$/, '.0$1')), data];\n // Nightly builds are postfixed with a \"+\".\n if (name == 'Safari' && data[1].slice(-1) == '+') {\n name = 'WebKit Nightly';\n prerelease = 'alpha';\n version = data[1].slice(0, -1);\n }\n // Clear incorrect browser versions.\n else if (version == data[1] ||\n version == (data[2] = (/\\bSafari\\/([\\d.]+\\+?)/i.exec(ua) || 0)[1])) {\n version = null;\n }\n // Use the full Chrome version when available.\n data[1] = (/\\b(?:Headless)?Chrome\\/([\\d.]+)/i.exec(ua) || 0)[1];\n // Detect Blink layout engine.\n if (data[0] == 537.36 && data[2] == 537.36 && parseFloat(data[1]) >= 28 && layout == 'WebKit') {\n layout = ['Blink'];\n }\n // Detect JavaScriptCore.\n // http://stackoverflow.com/questions/6768474/how-can-i-detect-which-javascript-engine-v8-or-jsc-is-used-at-runtime-in-androi\n if (!useFeatures || (!likeChrome && !data[1])) {\n layout && (layout[1] = 'like Safari');\n data = (data = data[0], data < 400 ? 1 : data < 500 ? 2 : data < 526 ? 3 : data < 533 ? 4 : data < 534 ? '4+' : data < 535 ? 5 : data < 537 ? 6 : data < 538 ? 7 : data < 601 ? 8 : data < 602 ? 9 : data < 604 ? 10 : data < 606 ? 11 : data < 608 ? 12 : '12');\n } else {\n layout && (layout[1] = 'like Chrome');\n data = data[1] || (data = data[0], data < 530 ? 1 : data < 532 ? 2 : data < 532.05 ? 3 : data < 533 ? 4 : data < 534.03 ? 5 : data < 534.07 ? 6 : data < 534.10 ? 7 : data < 534.13 ? 8 : data < 534.16 ? 9 : data < 534.24 ? 10 : data < 534.30 ? 11 : data < 535.01 ? 12 : data < 535.02 ? '13+' : data < 535.07 ? 15 : data < 535.11 ? 16 : data < 535.19 ? 17 : data < 536.05 ? 18 : data < 536.10 ? 19 : data < 537.01 ? 20 : data < 537.11 ? '21+' : data < 537.13 ? 23 : data < 537.18 ? 24 : data < 537.24 ? 25 : data < 537.36 ? 26 : layout != 'Blink' ? '27' : '28');\n }\n // Add the postfix of \".x\" or \"+\" for approximate versions.\n layout && (layout[1] += ' ' + (data += typeof data == 'number' ? '.x' : /[.+]/.test(data) ? '' : '+'));\n // Obscure version for some Safari 1-2 releases.\n if (name == 'Safari' && (!version || parseInt(version) > 45)) {\n version = data;\n } else if (name == 'Chrome' && /\\bHeadlessChrome/i.test(ua)) {\n description.unshift('headless');\n }\n }\n // Detect Opera desktop modes.\n if (name == 'Opera' && (data = /\\bzbov|zvav$/.exec(os))) {\n name += ' ';\n description.unshift('desktop mode');\n if (data == 'zvav') {\n name += 'Mini';\n version = null;\n } else {\n name += 'Mobile';\n }\n os = os.replace(RegExp(' *' + data + '$'), '');\n }\n // Detect Chrome desktop mode.\n else if (name == 'Safari' && /\\bChrome\\b/.exec(layout && layout[1])) {\n description.unshift('desktop mode');\n name = 'Chrome Mobile';\n version = null;\n\n if (/\\bOS X\\b/.test(os)) {\n manufacturer = 'Apple';\n os = 'iOS 4.3+';\n } else {\n os = null;\n }\n }\n // Newer versions of SRWare Iron uses the Chrome tag to indicate its version number.\n else if (/\\bSRWare Iron\\b/.test(name) && !version) {\n version = getVersion('Chrome');\n }\n // Strip incorrect OS versions.\n if (version && version.indexOf((data = /[\\d.]+$/.exec(os))) == 0 &&\n ua.indexOf('/' + data + '-') > -1) {\n os = trim(os.replace(data, ''));\n }\n // Ensure OS does not include the browser name.\n if (os && os.indexOf(name) != -1 && !RegExp(name + ' OS').test(os)) {\n os = os.replace(RegExp(' *' + qualify(name) + ' *'), '');\n }\n // Add layout engine.\n if (layout && !/\\b(?:Avant|Nook)\\b/.test(name) && (\n /Browser|Lunascape|Maxthon/.test(name) ||\n name != 'Safari' && /^iOS/.test(os) && /\\bSafari\\b/.test(layout[1]) ||\n /^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(name) && layout[1])) {\n // Don't add layout details to description if they are falsey.\n (data = layout[layout.length - 1]) && description.push(data);\n }\n // Combine contextual information.\n if (description.length) {\n description = ['(' + description.join('; ') + ')'];\n }\n // Append manufacturer to description.\n if (manufacturer && product && product.indexOf(manufacturer) < 0) {\n description.push('on ' + manufacturer);\n }\n // Append product to description.\n if (product) {\n description.push((/^on /.test(description[description.length - 1]) ? '' : 'on ') + product);\n }\n // Parse the OS into an object.\n if (os) {\n data = / ([\\d.+]+)$/.exec(os);\n isSpecialCasedOS = data && os.charAt(os.length - data[0].length - 1) == '/';\n os = {\n 'architecture': 32,\n 'family': (data && !isSpecialCasedOS) ? os.replace(data[0], '') : os,\n 'version': data ? data[1] : null,\n 'toString': function() {\n var version = this.version;\n return this.family + ((version && !isSpecialCasedOS) ? ' ' + version : '') + (this.architecture == 64 ? ' 64-bit' : '');\n }\n };\n }\n // Add browser/OS architecture.\n if ((data = /\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b/i.exec(arch)) && !/\\bi686\\b/i.test(arch)) {\n if (os) {\n os.architecture = 64;\n os.family = os.family.replace(RegExp(' *' + data), '');\n }\n if (\n name && (/\\bWOW64\\b/i.test(ua) ||\n (useFeatures && /\\w(?:86|32)$/.test(nav.cpuClass || nav.platform) && !/\\bWin64; x64\\b/i.test(ua)))\n ) {\n description.unshift('32-bit');\n }\n }\n // Chrome 39 and above on OS X is always 64-bit.\n else if (\n os && /^OS X/.test(os.family) &&\n name == 'Chrome' && parseFloat(version) >= 39\n ) {\n os.architecture = 64;\n }\n\n ua || (ua = null);\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The platform object.\n *\n * @name platform\n * @type Object\n */\n var platform = {};\n\n /**\n * The platform description.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.description = ua;\n\n /**\n * The name of the browser's layout engine.\n *\n * The list of common layout engines include:\n * \"Blink\", \"EdgeHTML\", \"Gecko\", \"Trident\" and \"WebKit\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.layout = layout && layout[0];\n\n /**\n * The name of the product's manufacturer.\n *\n * The list of manufacturers include:\n * \"Apple\", \"Archos\", \"Amazon\", \"Asus\", \"Barnes & Noble\", \"BlackBerry\",\n * \"Google\", \"HP\", \"HTC\", \"LG\", \"Microsoft\", \"Motorola\", \"Nintendo\",\n * \"Nokia\", \"Samsung\" and \"Sony\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.manufacturer = manufacturer;\n\n /**\n * The name of the browser/environment.\n *\n * The list of common browser names include:\n * \"Chrome\", \"Electron\", \"Firefox\", \"Firefox for iOS\", \"IE\",\n * \"Microsoft Edge\", \"PhantomJS\", \"Safari\", \"SeaMonkey\", \"Silk\",\n * \"Opera Mini\" and \"Opera\"\n *\n * Mobile versions of some browsers have \"Mobile\" appended to their name:\n * eg. \"Chrome Mobile\", \"Firefox Mobile\", \"IE Mobile\" and \"Opera Mobile\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.name = name;\n\n /**\n * The alpha/beta release indicator.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.prerelease = prerelease;\n\n /**\n * The name of the product hosting the browser.\n *\n * The list of common products include:\n *\n * \"BlackBerry\", \"Galaxy S4\", \"Lumia\", \"iPad\", \"iPod\", \"iPhone\", \"Kindle\",\n * \"Kindle Fire\", \"Nexus\", \"Nook\", \"PlayBook\", \"TouchPad\" and \"Transformer\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.product = product;\n\n /**\n * The browser's user agent string.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.ua = ua;\n\n /**\n * The browser/environment version.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.version = name && version;\n\n /**\n * The name of the operating system.\n *\n * @memberOf platform\n * @type Object\n */\n platform.os = os || {\n\n /**\n * The CPU architecture the OS is built for.\n *\n * @memberOf platform.os\n * @type number|null\n */\n 'architecture': null,\n\n /**\n * The family of the OS.\n *\n * Common values include:\n * \"Windows\", \"Windows Server 2008 R2 / 7\", \"Windows Server 2008 / Vista\",\n * \"Windows XP\", \"OS X\", \"Linux\", \"Ubuntu\", \"Debian\", \"Fedora\", \"Red Hat\",\n * \"SuSE\", \"Android\", \"iOS\" and \"Windows Phone\"\n *\n * @memberOf platform.os\n * @type string|null\n */\n 'family': null,\n\n /**\n * The version of the OS.\n *\n * @memberOf platform.os\n * @type string|null\n */\n 'version': null,\n\n /**\n * Returns the OS string.\n *\n * @memberOf platform.os\n * @returns {string} The OS string.\n */\n 'toString': function() { return 'null'; }\n };\n\n platform.parse = parse;\n platform.toString = toStringPlatform;\n\n if (platform.version) {\n description.unshift(version);\n }\n if (platform.name) {\n description.unshift(name);\n }\n if (os && name && !(os == String(os).split(' ')[0] && (os == name.split(' ')[0] || product))) {\n description.push(product ? '(' + os + ')' : 'on ' + os);\n }\n if (description.length) {\n platform.description = description.join(' ');\n }\n return platform;\n }\n\n /*--------------------------------------------------------------------------*/\n\n // Export platform.\n var platform = parse();\n\n // Some AMD build optimizers, like r.js, check for condition patterns like the following:\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n // Expose platform on the global object to prevent errors when platform is\n // loaded by a script tag in the presence of an AMD loader.\n // See http://requirejs.org/docs/errors.html#mismatch for more details.\n root.platform = platform;\n\n // Define as an anonymous module so platform can be aliased through path mapping.\n define(function() {\n return platform;\n });\n }\n // Check for `exports` after `define` in case a build optimizer adds an `exports` object.\n else if (freeExports && freeModule) {\n // Export for CommonJS support.\n forOwn(platform, function(value, key) {\n freeExports[key] = value;\n });\n }\n else {\n // Export to the global object.\n root.platform = platform;\n }\n}.call(this));\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adapter/adapter.js\n # Provides an empty object for later loaded adapter objects\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n/*!\n * J1 Adapter\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function ( j1, window ) {\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the adapter object\n // -------------------------------------------------------------------------\n _init_: function () {\n return;\n } // END _init_\n\n }; // END return\n\n})( j1, window );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/j1_template/core.js\n # Provides an empty object for later loaded core objects\n #\n # Product/Info:\n # https://jekyll.one\n # http://getbootstrap.com/\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// module.exports = function core ( options ) {\n/*!\n * J1 Core\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function (options) {\n\n // ---------------------------------------------------------------------------\n // Global variables\n // ---------------------------------------------------------------------------\n // var messageCatalog = {};\n // var state;\n // var logger;\n // var logText;\n\n // ---------------------------------------------------------------------------\n // Default settings\n // ---------------------------------------------------------------------------\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n var state = 'loaded';\n\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the core object\n // -------------------------------------------------------------------------\n _init_: function (options) {\n\n //\n // Place handling of options here\n //\n\n return;\n }, // END _init_\n\n // -------------------------------------------------------------------------\n // Returns the current (processing) state of the module\n // -------------------------------------------------------------------------\n getState: function () {\n return state;\n }, // END state\n\n // -------------------------------------------------------------------------\n // isMobile\n // Return true if the current platform is a mobile device\n // -------------------------------------------------------------------------\n isMobile: function (ua_name) {\n var mobile = false;\n (function(a){if(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(a.substr(0,4))) mobile = true;})(navigator.userAgent||navigator.vendor||window.opera);\n return mobile;\n }, // END isMobile\n\n // -------------------------------------------------------------------------\n // Clear button for input fields (forms)\n // -------------------------------------------------------------------------\n bsFormClearButton: function () {\n// $('.position-relative :input').on('keydown focus', function() {\n $(':input').on('keydown focus change mouseover', function() {\n if ($(this).val().length > 0) {\n $(this).nextAll('.form-clear').removeClass('d-none');\n }\n }).on('keydown keyup blur', function() {\n if ($(this).val().length === 0) {\n $(this).nextAll('.form-clear').addClass('d-none');\n }\n });\n\n // $('.form-clear').on('click', function() {\n // $(this).addClass('d-none').prevAll(':input').val('');\n // // hide|clear results from top search\n // $('#search-results').hide();\n // $('#search-results').html('');\n // });\n }\n\n }; // end return (object)\n\n//})( jQuery, window );\n})(); // END IFFE\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/navigator/navigator.js\n # Provides all JavaScript core functions for J1 Navigator\n #\n # Product/Info:\n # https://jekyll.one\n # https://github.com/adamnurdin01/navigator\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 adamnurdin01\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Bootsnav is licensed under MIT License.\n # See: https://github.com/adamnurdin01/navigator\n #\n # -----------------------------------------------------------------------------\n # NOTE:\n # jadams, 2020-06-21:\n # J1 Navigator needs a general revision on BS4 code and functionalities\n # Current, only base function are tested with BS4 (was coded for BS3)\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// TODO: Height of dropdowns are to be limited in general\n\n// -----------------------------------------------------------------------------\n// Navigator core registered as 'j1.core.navigator'\n// -----------------------------------------------------------------------------\n\nmodule.exports = function navigator ( options ) {\n\n // ---------------------------------------------------------------------------\n // global vars\n // ---------------------------------------------------------------------------\n var message = {};\n var state;\n var logger;\n var logText;\n\n // -----------------------------------------------------------------------\n // default settings\n // -----------------------------------------------------------------------\n var settings = $.extend ({\n foo: 'bar',\n bar: 'foo',\n }, options );\n\n // ---------------------------------------------------------------------------\n // main object\n // ---------------------------------------------------------------------------\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function( defaultOptions, menuOptions ) {\n logger = log4javascript.getLogger('j1.core.navigator');\n logText = 'core is being initialized';\n\n logger.info(logText);\n this.manageDropdownMenu(defaultOptions, menuOptions);\n this.navbarSticky();\n this.eventHandler(); // jadams, 2021-07-03: initialize events early\n\n message.type = 'command';\n message.action = 'core_initialized';\n message.text = 'navigator core initialized';\n j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n\n return true;\n },\n\n // -------------------------------------------------------------------------\n // event handler\n // -------------------------------------------------------------------------\n eventHandler: function() {\n var logger = log4javascript.getLogger('j1.core.navigator.eventHandler');\n var $getNav = $('nav.navbar.navigator');\n var json_data;\n // const seeMe = 'https://smee.io/wlNIFNiJN0GClm2';\n // const middleware = 'localhost:5000/state';\n // const web_server_dev = 'http://localhost:41000/status';\n // const utility_server = 'http://localhost:41001/git?request=pull';\n // var sender = seeMe;\n // var payload;\n\n // if (j1.checkUserAgent('IE') || j1.checkUserAgent('Edge')) {\n // logger.warn('HTML5 server side events (SSE) not supported for: ' + userAgent);\n // logger.warn('Middleware messages disabled');\n // } else {\n // const middleware_status = new EventSource(sender);\n //\n // // -----------------------------------------------------------------------\n // // middleware event handler ( SSE currently NOT used)\n // // -----------------------------------------------------------------------\n // middleware_status.onmessage = (event) => {\n // const payload = JSON.parse(event.data);\n //\n // logger.debug('middleware: event received');\n //\n // json_data = JSON.stringify(payload, undefined, 2);\n // logText = 'payload: ' + json_data;\n // logger.debug(logText);\n //\n // message.type = 'command';\n // message.action = 'status';\n // message.text = payload;\n // j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n //\n // return true;\n // }; // END event onMessage\n // }\n\n // bind click event to all links with \"#\" to suppress default action\n // See: https://stackoverflow.com/questions/134845/which-href-value-should-i-use-for-javascript-links-or-javascriptvoid0\n //\n $('a[href=\"#\"]').click(function(e) {\n e.preventDefault ? e.preventDefault() : e.returnValue = false;\n logger.info('bound click event to \"#\", suppress default action');\n });\n\n // -----------------------------------------------------------------------\n // Navbar Sticky\n // -----------------------------------------------------------------------\n var navSticky = $getNav.hasClass('navbar-sticky');\n if( navSticky ){\n // Wraped navigation\n $getNav.wrap('<div class=\\'wrap-sticky\\'></div>');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Center\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('brand-center') ){\n var postsArr = new Array();\n var index = $('nav.brand-center');\n var $postsList = index.find('ul.navbar-nav');\n\n //Create array of all posts in lists\n index.find('ul.navbar-nav > li').each(function(){\n postsArr.push($(this).html());\n });\n\n // Split the array at this point. The original array is altered.\n var firstList = postsArr.splice(0, Math.round(postsArr.length / 2));\n var secondList = postsArr;\n var ListHTML = '';\n\n var createHTML = function(list) {\n ListHTML = '';\n for (var i = 0; i < list.length; i++) {\n ListHTML += '<li>' + list[i] + '</li>';\n }\n };\n\n // Generate HTML for first list\n createHTML(firstList);\n $postsList.html(ListHTML);\n index.find('ul.nav').first().addClass('navbar-left');\n\n // Generate HTML for second list\n createHTML(secondList);\n //Create new list after original one\n $postsList.after('<ul class=\"nav navbar-nav\"></ul>').next().html(ListHTML);\n index.find('ul.nav').last().addClass('navbar-right');\n\n // Wrap navigation menu\n index.find('ul.nav.navbar-left').wrap('<div class=\\'col_half left\\'></div>');\n index.find('ul.nav.navbar-right').wrap('<div class=\\'col_half right\\'></div>');\n\n // Selection Class\n index.find('ul.navbar-nav > li').each(function() {\n var dropDown = $('ul.dropdown-menu', this),\n megaMenu = $('ul.megamenu-content', this);\n dropDown.closest('li').addClass('dropdown');\n megaMenu.closest('li').addClass('megamenu-fw');\n });\n }\n\n // -----------------------------------------------------------------------\n // Menu Center\n // -----------------------------------------------------------------------\n if( $getNav.find('ul.nav').hasClass('navbar-center')) {\n $getNav.addClass('menu-center');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Full\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')) {\n // Add Class to body\n $('nav.navbar.navigator').find('ul.nav').wrap('<div class=\\'wrap-full-menu\\'></div>');\n $('.wrap-full-menu').wrap('<div class=\\'nav-full\\'></div>');\n $('ul.nav.navbar-nav').prepend('<li class=\\'close-full-menu\\'><a href=\\'#\\'><i class=\\'mdi mdi-close\\'></i></a></li>');\n } else if( $getNav.hasClass('navbar-mobile') ) {\n $getNav.removeClass('no-full');\n } else {\n $getNav.addClass('no-full');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Fixed\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('no-background') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('no-background');\n } else {\n $('.navbar-fixed').addClass('no-background');\n }\n });\n }\n\n if( $getNav.hasClass('navbar-transparent') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('navbar-transparent');\n $('.navbar-fixed').addClass('navbar-scrolled');\n } else {\n $('.navbar-fixed').removeClass('navbar-scrolled');\n $('.navbar-fixed').addClass('navbar-transparent');\n }\n });\n }\n\n // -----------------------------------------------------------------------\n // Toggle Search\n // https://stackoverflow.com/questions/178325/how-do-i-check-if-an-element-is-hidden-in-jquery\n // https://stackoverflow.com/questions/4770025/how-to-disable-scrolling-temporarily\n // https://stackoverflow.com/questions/5963669/whats-the-difference-between-event-stoppropagation-and-event-preventdefault\n // -----------------------------------------------------------------------\n// $('nav.navbar.navigator .attr-nav').each(function() {\n $('.attr-nav').each(function() {\n logger.debug('register OPEN event|s for QuickSearch');\n $('li.search > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action OPEN');\n $('html,body').animate({scrollTop: 0}, 0);\n $('.top-search').slideToggle('slow', 'swing', function() {\n if ( $('.top-search').is(':visible') ) {\n // disable scrolling (desktop)\n $('body').addClass('stop-scrolling');\n // disable scrolling (mobile)\n $('body').bind('touchmove', function(e){e.preventDefault();});\n } else {\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n }\n });\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n logger.debug('register CLOSE event|s for QuickSearch');\n $('.input-group-addon.close-search').on('click', function(e) {\n e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action CLOSE');\n $('.top-search').slideUp('slow', 'swing');\n $('html,body').animate({scrollTop: 0}, 0);\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n e.stopPropagation(); // don't bubble up the event\n });\n\n // -----------------------------------------------------------------------\n // Toggle Translator SHOW|HIDE\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n logger.debug('register SHOW|HIDE event|s for J1 Translator');\n $('li.translator > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n // window.location.reload(true);\n logger.debug('toggle translator icon SHOW|HIDE');\n // See: https://api.jquery.com/toggle/\n // With no parameters, the .toggle() method simply toggles the visibility of elements\n $('#google_translate_element').toggle();\n if ($('#google_translate_element').css('display') !== 'none') {\n $('html,body').animate({scrollTop: 0}, 'slow');\n }\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n\n // -----------------------------------------------------------------------\n // Wrapper\n // -----------------------------------------------------------------------\n $('body').wrapInner( '<div class=\\'wrapper\\'></div>');\n\n }, // end event\n\n // -------------------------------------------------------------------------\n // Manage the Menu Dropdowns for Desktop|Mobile\n // -------------------------------------------------------------------------\n manageDropdownMenu : function( defaultOptions, menuOptions ) {\n\n var navDefaultOptions = defaultOptions;\n var navMenuOptions = menuOptions;\n\n var $getNav = $('nav.navbar.navigator');\n var $windowOrientation = window.matchMedia('(orientation: landscape)').matches ? 'landscape' : 'portrait';\n var $getWindow = $(window).width();\n var $getNavWidth = $('nav').width();\n var $getIn = $getNav.find('ul.nav').data('in');\n var $getOut = $getNav.find('ul.nav').data('out');\n\n var menuSelector = '#' +navMenuOptions.xhr_container_id+ '.collapse';\n var delayMenuOpen = navMenuOptions.delay_menu_open;\n\n var $menu;\n var breakPoint;\n var $dropDown;\n var timeoutHandle;\n\n // BS4 @media MAX breakpoints\n // NOTE: a media query is always a range\n // -----------------------------------------------------------------------\n var gridBreakpoint_lg = 992; // bs-breakpoint-lg\n var gridBreakpoint_md = 768; // bs-breakpoint-md\n var gridBreakpoint_sm = 576; // bs-breakpoint-sm\n\n // BS4 @media MIN breakpoints\n // -----------------------------------------------------------------------\n // NOTE: a media query is always a range\n // var gridBreakpoint_lg = 991;\n // var gridBreakpoint_md = 767;\n // var gridBreakpoint_sm = 575;\n\n // @media ranges\n // -----------------------------------------------------------------------\n var small_range = {min: '0em', max: '40em'}; /* 0, 640px */\n var medium_range = {min: '40.063em', max: '64em'}; /* 641px, 1024px */\n var large_range = {min: '64.063em', max: '90em'}; /* 1025px, 1440px */\n var xlarge_range = {min: '90.063em', max: '120em'}; /* 1441px, 1920px */\n var xxlarge_range = {min: '120.063em'}; /* 1921px */\n\n\n // jadams, 2019-05-01: Set Media Breakpoint for Desktop|Mobile Navigation\n if ( navDefaultOptions.nav_bar.media_breakpoint === 'lg' ) {\n breakPoint = gridBreakpoint_lg;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'md' ) {\n breakPoint = gridBreakpoint_md;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'sm' ) {\n breakPoint = gridBreakpoint_sm;\n } else{\n breakPoint = gridBreakpoint_lg;\n }\n\n // -----------------------------------------------------------------------\n // Tablet or Mobile\n // NOTE:\n // Managing the mobile menu is moved to MMenu Plugin\n // Only base functions like QuickLinks are managed by\n // J1 Navigator\n // -----------------------------------------------------------------------\n // MIN media breakpoint\n if ( $getWindow <= breakPoint ) {\n\n // Collapse Navbar\n $(menuSelector).addClass('navbar-collapse');\n $(menuSelector).removeClass('show'); //\n $('#navigator_nav_quicklinks').addClass('show');\n\n // Enable click Quicklink Navigation\n $('nav.navbar.navigator .attr-nav').each(function() {\n $('.dropdown-menu', this).removeClass('animated');\n $('li.dropdown', this).off('mouseenter');\n $('li.dropdown', this).off('mouseleave');\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n $(this).closest('li.dropdown').find('.dropdown-menu').first().stop().fadeToggle();\n $('.navbar-toggle').each(function(){\n $('.mdi', this).removeClass('mdi-close');\n $('.mdi', this).addClass('mdi-menu');\n $('.navbar-collapse').removeClass('in');\n $('.navbar-collapse').removeClass('open');\n });\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).stop().fadeOut();\n $('li.dropdown', this).removeClass('open');\n // return false;\n });\n });\n\n $('#desktop_menu').hide();\n\n // -----------------------------------------------------------------------\n // Desktop Navigation does NOT work on physical devices like iPad|Pro\n // Config DISABLED\n //\n// } else if ( $getWindow > breakPoint || $getWindow <= 1024 && $windowOrientation == 'portrait' ) {\n } else if ( $getWindow > breakPoint ) {\n // -----------------------------------------------------------------------\n // Desktop\n // -----------------------------------------------------------------------\n $('#navigator_nav_quicklinks').removeClass('show');\n $('#desktop_menu').show();\n\n // jadams, 2021-03-05: manage dropdown menus\n // ---------------------------------------------------------------------\n\n $('.dropdown-menu > li').on('mouseenter', function(){\n if ($('body').hasClass('stop-scrolling')){\n return false;\n } else {\n $('body').addClass('stop-scrolling');\n }\n });\n\n $('.dropdown-menu > li').on('mouseleave', function(){\n // stop scrolling if top search or any (mmenu) drawer is opened\n if ($('body').hasClass('stop-scrolling')){\n $('body').removeClass('stop-scrolling');\n }\n });\n\n // limit the dropdown menu lenght if needed\n $('.dropdown-menu > li').hover(function() {\n var $container = $(this);\n var $list = $container.find('ul');\n\n // limit LAST menu ONLY\n //\n if ( $list.length == 1 ) {\n $list.addClass('scrollable-menu');\n }\n });\n\n // jadams, 2021-03-06: Enable|Show Desktop Menu|s\n //\n $(menuSelector).removeClass('navbar-collapse');\n $(menuSelector).addClass('show');\n\n // Navbar Sidebar\n // jadams, 2021-03-05: Sidebar NOT used anymore\n\n // Open Desktop Menu|s on hover\n //\n $('nav.navbar.navigator ul.nav').each(function() {\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.megamenu-fw', this).each(function(){\n $('.title', this).off('click');\n $('a.dropdown-toggle', this).off('click');\n $('.content').removeClass('animated');\n });\n $('.dropdown-menu', this).addClass('animated');\n\n $('li.dropdown', this).on('mouseenter', function(){\n $menu = $('.dropdown-menu', this).eq(0);\n $dropDown = $(this);\n\n $menu.removeClass($getOut);\n $menu.removeClass('open');\n $dropDown.addClass('open');\n // Get|Set the timeout object to delay the dropdown open\n timeoutHandle = window.setTimeout(function () {\n if ($dropDown.hasClass('open')){\n $menu.stop().fadeIn().addClass($getIn);\n $menu.addClass('open');\n $dropDown.addClass('open');\n }\n }, delayMenuOpen);\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n $(this).removeClass('open').removeClass('open');\n\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n\n $(this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle);\n $('li.dropdown', this).removeClass('open');\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n }); // END Desktop Menu\n\n } // end Desktop\n\n // -----------------------------------------------------------------------\n // Hover Open on Quicklink Navigation\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.dropdown-menu', this).addClass('animated');\n $('li.dropdown', this).on('mouseenter', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getOut);\n $('.dropdown-menu', this).eq(0).stop().fadeIn().addClass($getIn);\n $(this).addClass('open');\n //return false;\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $(this).removeClass('open');\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $('li.dropdown', this).removeClass('open');\n //return false;\n });\n });\n\n // -----------------------------------------------------------------------\n // Fullscreen Menu\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')){\n var windowHeight = $(window).height(),\n windowWidth = $(window).width();\n\n $('.nav-full').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('width', windowWidth + 'px');\n\n $('.navbar-collapse').addClass('animated');\n $('.navbar-toggle').each(function(){\n var getId = $(this).data('target');\n $(this).off('click');\n $(this).on('click', function(e){\n e.preventDefault();\n $(getId).removeClass($getOut);\n $(getId).addClass('in');\n $(getId).addClass($getIn);\n // e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n\n $('li.close-full-menu').on('click', function(e){\n e.preventDefault();\n $(getId).addClass($getOut);\n setTimeout(function(){\n $(getId).removeClass('in');\n $(getId).removeClass($getIn);\n }, 500);\n //e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n });\n }\n }, // end manageDropdownMenu\n\n // -------------------------------------------------------------------------\n // Sticky Navbar\n // -------------------------------------------------------------------------\n navbarSticky : function() {\n var $getNav = $('nav.navbar.navigator'),\n navSticky = $getNav.hasClass('navbar-sticky');\n\n if (navSticky) {\n // Set Height Navigation\n var $getHeight = $getNav.height();\n $('.wrap-sticky').height($getHeight);\n\n // Windown on scroll\n var getOffset = $('.wrap-sticky').offset().top;\n $(window).on('scroll', function(){\n var scrollTop = $(window).scrollTop();\n if(scrollTop > getOffset){\n $getNav.addClass('sticked');\n }else {\n $getNav.removeClass('sticked');\n }\n });\n }\n }, // end navbarSticky\n\n // -------------------------------------------------------------------------\n // updateSidebar\n // Note:\n // -------------------------------------------------------------------------\n updateSidebar: function (user_data) {\n var logger = log4javascript.getLogger('j1.core.navigator.updateSidebar');\n var json_message;\n\n// json_message = JSON.stringify(user_data, undefined, 2); // multiline\n json_message = JSON.stringify(user_data);\n logText = 'user state data: ' + json_message;\n logger.debug(logText);\n\n // Replace Macro placeholders to values\n j1.resolveMacros(user_data);\n // Replace Macro values only\n j1.updateMacros(user_data);\n\n return true;\n\n }, // END updateSidebar\n\n }; // end return (object)\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~200_template_js/js/asciidoctor/asciidoctor.js\n # Provides JS functions to (dynamically) modify Asciidoctor HTML elements\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # NOTE:\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* global window */\n\n// TODO:\n\n// -----------------------------------------------------------------------------\n// J1 Asciidoctor registered as \"asciidoctor\"\n// -----------------------------------------------------------------------------\n/*!\n * J1 Asciidoctor\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = function asciidoctor (options) {\n\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function (options) {\n\n var moduleOptions = options;\n var logger = log4javascript.getLogger('j1.core.asciidoctor');\n\n var moduleDefaults = {\n dummyOption: false, // placeholder\n };\n var options = $.extend(moduleDefaults,moduleOptions);\n\n logText = 'J1 Asciidoctor is being initialized';\n logger.info(logText);\n\n this.callouts();\n\n }, // end initializer\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n // see: https://stackoverflow.com/questions/19393493/add-colgroup-for-each-table-column\n callouts: function( options ) {\n var colgroupList = '';\n\n // If the colist does not have a <colgroup> structure\n //\n \tif($('.colist > table > colgroup').length == 0) {\n colgroupList += '<!-- [INFO ] [j1.core.asciidoctor ] [ place a colgroup dynamically ] -->' + '\\n';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n \t\t$(\".colist > table\").prepend(colgroupList);\n }\n\n }, // end callouts\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n conums: function( options ) {\n var dependencies_met_page_finished = setInterval(function() {\n if (j1.getState() == 'finished') {\n // If the colist does not have a <colgroup> structure\n \tif($('.colist > table > colgroup').length == 0) {\n\n \t\tvar colgroupList = '';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n\n \t\t$(\".colist > table\").prepend(colgroupList);\n clearInterval(dependencies_met_page_finished);\n \t}\n }\n });\n }, // end conums\n\n }; // END return\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/scroll-smooth/scroll-smooth.js\n # Provides Javascript functions for smooth scrolling\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2020 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* eslint indent: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// scrollSmooth core registered as \"scrollSmooth\"\n// -----------------------------------------------------------------------------\nmodule.exports = function scrollSmooth ( options ) {\n\n // Default settings\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n // -----------------------------------------------------------------------\n // Helper functions\n // -----------------------------------------------------------------------\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'));\n }\n\n function isCssSmoothScrollSupported () {\n return 'scrollBehavior' in document.documentElement.style;\n }\n\n return {\n // -------------------------------------------------------------------------\n // Initialize scrollSmooth\n // -------------------------------------------------------------------------\n scroll: function ( target, options ) {\n\n var logger;\n var logText;\n\n logger = log4javascript.getLogger('j1.core.scrollSmooth');\n\n // indicator|check currently NOT used\n // if (isCssSmoothScrollSupported()) { }\n\n logText = 'run module scrollSmooth';\n logger.info(logText);\n\n var duration = options.duration;\n var offset = options.offset;\n\n // var pageUrl = options.location.hash\n // ? stripHash(options.location.href)\n // : options.location.href;\n\n this.scrollTo(target, {\n duration: duration,\n offset: offset,\n callback: null\n });\n\n logText = 'scrollSmooth finished';\n logger.info(logText);\n },\n\n // -------------------------------------------------------------------------\n // scrollTo\n // -------------------------------------------------------------------------\n scrollTo: function ( target, options ) {\n var start = window.pageYOffset;\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n };\n\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]');\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target;\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration;\n var timeStart;\n var timeElapsed;\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time); });\n function loop (time) {\n timeElapsed = time - timeStart;\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration));\n\n if (timeElapsed < duration) { requestAnimationFrame(loop); } else { end(); }\n }\n\n function end () {\n window.scrollTo(0, start + distance);\n\n // jadams, 2020-07-04: on (some?) mobile devices, the navbar\n // background is NOT switched (always?) correctly on a\n // page RELOAD.\n //\n // Solution: scroll the page one pixel back and forth (trigger)\n // to get the right position for the Toccer and adjust the\n // Navigator to display the (tranparent) navbar correctly based\n // on their onscroll events registered.\n //\n $(window).scrollTop($(window).scrollTop()+1);\n $(window).scrollTop($(window).scrollTop()-1);\n\n if (typeof opt.callback === 'function') { opt.callback(); }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2;\n if (t < 1) return c / 2 * t * t + b;\n t--;\n return -c / 2 * (t * (t - 2) - 1) + b;\n }\n } // END scrollTo\n\n }; // END return\n}( jQuery );\n","/*\n * anime.js v3.2.0\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n'use strict';\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; }\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (getAttribute(el, prop) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width / viewBox[2],\n h: height / viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n switch (path.property) {\n case 'x': return (p.x - svg.x) * svg.w;\n case 'y': return (p.y - svg.y) * svg.h;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\nvar pausedInstances = [];\nvar raf;\n\nvar engine = (function () {\n function play() { \n raf = requestAnimationFrame(step);\n }\n function step(t) {\n var activeInstancesLength = activeInstances.length;\n if (activeInstancesLength) {\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n } else {\n var instanceIndex = activeInstances.indexOf(activeInstance);\n if (instanceIndex > -1) {\n activeInstances.splice(instanceIndex, 1);\n activeInstancesLength = activeInstances.length;\n }\n }\n i++;\n }\n play();\n } else {\n raf = cancelAnimationFrame(raf);\n }\n }\n return play;\n})();\n\nfunction handleVisibilityChange() {\n if (document.hidden) {\n activeInstances.forEach(function (ins) { return ins.pause(); });\n pausedInstances = activeInstances.slice(0);\n anime.running = activeInstances = [];\n } else {\n pausedInstances.forEach(function (ins) { return ins.play(); });\n }\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n if (!raf) { engine(); }\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargets(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.2.0';\nanime.speed = 1;\nanime.running = activeInstances;\nanime.remove = removeTargets;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nmodule.exports = anime;\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/tocbot.js\n # Tocbot v4.12.0 implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # rules:\n # \"eslint:tocbot\": \"eslint --ignore-path .eslintignore src/tocbot/js\"\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\n/**\n * Tocbot\n * Tocbot creates a toble of contents based on HTML headings on a page,\n * this allows users to easily jump to different sections of the document.\n * Tocbot was inspired by tocify (http://gregfranko.com/jquery.tocify.js/).\n * The main differences are that it works natively without any need for jquery or jquery UI).\n *\n * @author Tim Scanlin\n */\n\n/* globals define */\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory(root))\n } else if (typeof exports === 'object') {\n module.exports = factory(root)\n } else {\n root.tocbot = factory(root)\n }\n})(typeof global !== 'undefined' ? global : this.window || this.global, function (root) {\n 'use strict'\n\n // Default options.\n var defaultOptions = require('./default-options.js')\n // Object to store current options.\n var options = {}\n // Object for public APIs.\n var tocbot = {}\n\n var BuildHtml = require('./build-html.js')\n var ParseContent = require('./parse-content.js')\n var updateTocScroll = require('./update-toc-scroll.js')\n // Keep these variables at top scope once options are passed in.\n var buildHtml\n var parseContent\n\n // Just return if its not a browser.\n var supports = !!root && !!root.document && !!root.document.querySelector && !!root.addEventListener // Feature test\n if (typeof window === 'undefined' && !supports) {\n return\n }\n var headingsArray\n\n // From: https://github.com/Raynos/xtend\n var hasOwnProperty = Object.prototype.hasOwnProperty\n function extend () {\n var target = {}\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n return target\n }\n\n // From: https://remysharp.com/2010/07/21/throttling-function-calls\n function throttle (fn, threshold, scope) {\n threshold || (threshold = 250)\n var last\n var deferTimer\n return function () {\n var context = scope || this\n var now = +new Date()\n var args = arguments\n if (last && now < last + threshold) {\n // hold on to it\n clearTimeout(deferTimer)\n deferTimer = setTimeout(function () {\n last = now\n fn.apply(context, args)\n }, threshold)\n } else {\n last = now\n fn.apply(context, args)\n }\n }\n }\n\n /**\n * Destroy tocbot.\n */\n tocbot.destroy = function () {\n if (!options.skipRendering) {\n // Clear HTML.\n try {\n document.querySelector(options.tocSelector).innerHTML = ''\n } catch (e) {\n console.warn('Element not found: ' + options.tocSelector); // eslint-disable-line\n }\n }\n\n // Remove event listeners.\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).removeEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.querySelector(options.scrollContainer).removeEventListener('click', this._clickListener, false)\n }\n } else {\n document.removeEventListener('scroll', this._scrollListener, false)\n document.removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.removeEventListener('click', this._clickListener, false)\n }\n }\n }\n\n /**\n * Initialize tocbot.\n * @param {object} customOptions\n */\n tocbot.init = function (customOptions) {\n // feature test\n if (!supports) {\n return\n }\n\n // Merge defaults with user options.\n // Set to options variable at the top.\n options = extend(defaultOptions, customOptions || {})\n this.options = options\n this.state = {}\n\n // Init smooth scroll if enabled (default).\n if (options.scrollSmooth) {\n options.duration = options.scrollSmoothDuration\n options.offset = options.scrollSmoothOffset\n tocbot.scrollSmooth = require('./scroll-smooth').initSmoothScrolling(options)\n }\n\n // Pass options to these modules.\n buildHtml = BuildHtml(options)\n parseContent = ParseContent(options)\n\n // For testing purposes.\n this._buildHtml = buildHtml\n this._parseContent = parseContent\n\n // Destroy it if it exists first.\n tocbot.destroy()\n\n // Get headings array.\n headingsArray = parseContent.selectHeadings(options.contentSelector, options.headingSelector)\n // Return if no headings are found.\n if (headingsArray === null) {\n return\n }\n\n // Build nested headings array.\n var nestedHeadingsObj = parseContent.nestHeadingsArray(headingsArray)\n var nestedHeadings = nestedHeadingsObj.nest\n\n // Render.\n if (!options.skipRendering) {\n buildHtml.render(options.tocSelector, nestedHeadings)\n }\n\n // Update Sidebar and bind listeners.\n this._scrollListener = throttle(function (e) {\n buildHtml.updateToc(headingsArray)\n !options.disableTocScrollSync && updateTocScroll(options)\n var isTop = e && e.target && e.target.scrollingElement && e.target.scrollingElement.scrollTop === 0\n if ((e && (e.eventPhase === 0 || e.currentTarget === null)) || isTop) {\n buildHtml.updateToc(headingsArray)\n if (options.scrollEndCallback) {\n options.scrollEndCallback(e)\n }\n }\n }, options.throttleTimeout)\n this._scrollListener()\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).addEventListener('resize', this._scrollListener, false)\n } else {\n document.addEventListener('scroll', this._scrollListener, false)\n document.addEventListener('resize', this._scrollListener, false)\n }\n\n // Bind click listeners to disable animation.\n var timeout = null\n this._clickListener = throttle(function (event) {\n if (options.scrollSmooth) {\n buildHtml.disableTocAnimation(event)\n }\n buildHtml.updateToc(headingsArray)\n // Timeout to re-enable the animation.\n timeout && clearTimeout(timeout)\n timeout = setTimeout(function () {\n buildHtml.enableTocAnimation()\n }, options.scrollSmoothDuration)\n }, options.throttleTimeout)\n\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('click', this._clickListener, false)\n } else {\n document.addEventListener('click', this._clickListener, false)\n }\n\n return this\n }\n\n /**\n * Refresh tocbot.\n */\n tocbot.refresh = function (customOptions) {\n tocbot.destroy()\n tocbot.init(customOptions || this.options)\n }\n\n // Make tocbot available globally.\n root.tocbot = tocbot\n\n return tocbot\n})\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = {\n // Where to render the table of contents.\n tocSelector: '.js-toc',\n // Where to grab the headings to build the table of contents.\n contentSelector: '.js-toc-content',\n // Which headings to grab inside of the contentSelector element.\n headingSelector: 'h1, h2, h3',\n // Headings that match the ignoreSelector will be skipped.\n ignoreSelector: '.js-toc-ignore',\n // For headings inside relative or absolute positioned containers within content\n hasInnerContainers: false,\n // Main class to add to links.\n linkClass: 'toc-link',\n // Extra classes to add to links.\n extraLinkClasses: '',\n // Class to add to active links,\n // the link corresponding to the top most heading on the page.\n activeLinkClass: 'is-active-link',\n // Main class to add to lists.\n listClass: 'toc-list',\n // Extra classes to add to lists.\n extraListClasses: '',\n // Class that gets added when a list should be collapsed.\n isCollapsedClass: 'is-collapsed',\n // Class that gets added when a list should be able\n // to be collapsed but isn't necessarily collapsed.\n collapsibleClass: 'is-collapsible',\n // Class to add to list items.\n listItemClass: 'toc-list-item',\n // Class to add to active list items.\n activeListItemClass: 'is-active-li',\n // How many heading levels should not be collapsed.\n // For example, number 6 will show everything since\n // there are only 6 heading levels and number 0 will collapse them all.\n // The sections that are hidden will open\n // and close as you scroll to headings within them.\n collapseDepth: 0,\n // Smooth scrolling enabled.\n scrollSmooth: true,\n // Smooth scroll duration.\n scrollSmoothDuration: 420,\n // Smooth scroll offset.\n scrollSmoothOffset: 0,\n // Callback for scroll end.\n scrollEndCallback: function (e) {},\n // Headings offset between the headings and the top of the document (this is meant for minor adjustments).\n headingsOffset: 1,\n // Timeout between events firing to make sure it's\n // not too rapid (for performance reasons).\n throttleTimeout: 50,\n // Element to add the positionFixedClass to.\n positionFixedSelector: null,\n // Fixed position class to add to make sidebar fixed after scrolling\n // down past the fixedSidebarOffset.\n positionFixedClass: 'is-position-fixed',\n // fixedSidebarOffset can be any number but by default is set\n // to auto which sets the fixedSidebarOffset to the sidebar\n // element's offsetTop from the top of the document on init.\n fixedSidebarOffset: 'auto',\n // includeHtml can be set to true to include the HTML markup from the\n // heading node instead of just including the textContent.\n includeHtml: false,\n // onclick function to apply to all links in toc. will be called with\n // the event as the first parameter, and this can be used to stop,\n // propagation, prevent default or perform action\n onClick: function (e) {},\n // orderedList can be set to false to generate unordered lists (ul)\n // instead of ordered lists (ol)\n orderedList: true,\n // If there is a fixed article scroll container, set to calculate titles' offset\n scrollContainer: null,\n // prevent ToC DOM rendering if it's already rendered by an external system\n skipRendering: false,\n // Optional callback to change heading labels.\n // For example it can be used to cut down and put ellipses on multiline headings you deem too long.\n // Called each time a heading is parsed. Expects a string in return, the modified label to display.\n // function (string) => string\n headingLabelCallback: false,\n // ignore headings that are hidden in DOM\n ignoreHiddenElements: false,\n // Optional callback to modify properties of parsed headings.\n // The heading element is passed in node parameter and information parsed by default parser is provided in obj parameter.\n // Function has to return the same or modified obj.\n // The heading will be excluded from TOC if nothing is returned.\n // function (object, HTMLElement) => object | void\n headingObjectCallback: null,\n // Set the base path, useful if you use a `base` tag in `head`.\n basePath: '',\n // Only takes affect when `tocSelector` is scrolling,\n // keep the toc scroll position in sync with the content.\n disableTocScrollSync: false,\n};\n","/**\n * This file is responsible for building the DOM and updating DOM state.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function (options) {\n var forEach = [].forEach\n var some = [].some\n var body = document.body\n var currentlyHighlighting = true\n var SPACE_CHAR = ' '\n\n /**\n * Create link and list elements.\n * @param {Object} d\n * @param {HTMLElement} container\n * @return {HTMLElement}\n */\n function createEl (d, container) {\n var link = container.appendChild(createLink(d))\n if (d.children.length) {\n var list = createList(d.isCollapsed)\n d.children.forEach(function (child) {\n createEl(child, list)\n })\n link.appendChild(list)\n }\n }\n\n /**\n * Render nested heading array data into a given selector.\n * @param {String} selector\n * @param {Array} data\n * @return {HTMLElement}\n */\n function render (selector, data) {\n var collapsed = false\n var container = createList(collapsed)\n\n data.forEach(function (d) {\n createEl(d, container)\n })\n\n var parent = document.querySelector(selector)\n\n // Return if no parent is found.\n if (parent === null) {\n return\n }\n\n // Remove existing child if it exists.\n if (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n\n // Just return the parent and don't append the list if no links are found.\n if (data.length === 0) {\n return parent\n }\n\n // Append the Elements that have been created\n return parent.appendChild(container)\n }\n\n /**\n * Create link element.\n * @param {Object} data\n * @return {HTMLElement}\n */\n function createLink (data) {\n var item = document.createElement('li')\n var a = document.createElement('a')\n if (options.listItemClass) {\n item.setAttribute('class', options.listItemClass)\n }\n\n if (options.onClick) {\n a.onclick = options.onClick\n }\n\n if (options.includeHtml && data.childNodes.length) {\n forEach.call(data.childNodes, function (node) {\n a.appendChild(node.cloneNode(true))\n })\n } else {\n // Default behavior.\n a.textContent = data.textContent\n }\n a.setAttribute('href', options.basePath + '#' + data.id)\n a.setAttribute('class', options.linkClass +\n SPACE_CHAR + 'node-name--' + data.nodeName +\n SPACE_CHAR + options.extraLinkClasses)\n item.appendChild(a)\n return item\n }\n\n /**\n * Create list element.\n * @param {Boolean} isCollapsed\n * @return {HTMLElement}\n */\n function createList (isCollapsed) {\n var listElement = (options.orderedList) ? 'ol' : 'ul'\n var list = document.createElement(listElement)\n var classes = options.listClass +\n SPACE_CHAR + options.extraListClasses\n if (isCollapsed) {\n classes += SPACE_CHAR + options.collapsibleClass\n classes += SPACE_CHAR + options.isCollapsedClass\n }\n list.setAttribute('class', classes)\n return list\n }\n\n /**\n * Update fixed sidebar class.\n * @return {HTMLElement}\n */\n function updateFixedSidebarClass () {\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n var posFixedEl = document.querySelector(options.positionFixedSelector)\n\n if (options.fixedSidebarOffset === 'auto') {\n options.fixedSidebarOffset = document.querySelector(options.tocSelector).offsetTop\n }\n\n if (top > options.fixedSidebarOffset) {\n if (posFixedEl.className.indexOf(options.positionFixedClass) === -1) {\n posFixedEl.className += SPACE_CHAR + options.positionFixedClass\n }\n } else {\n posFixedEl.className = posFixedEl.className.split(SPACE_CHAR + options.positionFixedClass).join('')\n }\n }\n\n /**\n * Get top position of heading\n * @param {HTMLElement}\n * @return {integer} position\n */\n function getHeadingTopPos (obj) {\n var position = 0\n if (obj !== document.querySelector(options.contentSelector && obj != null)) {\n position = obj.offsetTop\n if (options.hasInnerContainers) { position += getHeadingTopPos(obj.offsetParent) }\n }\n return position\n }\n\n /**\n * Update TOC highlighting and collapsed groups\n */\n function updateToc (headingsArray) {\n // If a fixed content container was set\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n\n // Add fixed class at offset\n if (options.positionFixedSelector) {\n updateFixedSidebarClass()\n }\n\n // Get the most TOP heading currently visible on the page to\n // identify what element to be highlighted\n var headings = headingsArray;\n var topHeader;\n var headingTopPos;\n\n // Using some instead of each so that we can escape early\n if (currentlyHighlighting &&\n document.querySelector(options.tocSelector) !== null &&\n headings.length > 0) {\n some.call(headings, function (heading, i) {\n headingTopPos = getHeadingTopPos(heading)\n if (headingTopPos > top + options.headingsOffset + 10) {\n // Don't allow negative index value\n // var index = (i === 0) ? i : i - 1;\n // topHeader = headings[index];\n // jadams, index correction seems NOT needed\n topHeader = headings[i];\n return true\n } else if (i === headings.length - 1) {\n // This allows scrolling for the last heading on the page\n topHeader = headings[headings.length - 1]\n return true\n }\n })\n\n // Remove the active class from the other tocLinks.\n var tocLinks = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.linkClass)\n forEach.call(tocLinks, function (tocLink) {\n tocLink.className = tocLink.className.split(SPACE_CHAR + options.activeLinkClass).join('')\n })\n var tocLis = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listItemClass)\n forEach.call(tocLis, function (tocLi) {\n tocLi.className = tocLi.className.split(SPACE_CHAR + options.activeListItemClass).join('')\n })\n\n // Add the active class to the active tocLink.\n var activeTocLink = document.querySelector(options.tocSelector)\n .querySelector('.' + options.linkClass +\n '.node-name--' + topHeader.nodeName +\n '[href=\"' + options.basePath + '#' + topHeader.id.replace(/([ #;&,.+*~':\"!^$[\\]()=>|/@])/g, '\\\\$1') + '\"]')\n if (activeTocLink.className.indexOf(options.activeLinkClass) === -1) {\n activeTocLink.className += SPACE_CHAR + options.activeLinkClass\n }\n var li = activeTocLink.parentNode\n if (li && li.className.indexOf(options.activeListItemClass) === -1) {\n li.className += SPACE_CHAR + options.activeListItemClass\n }\n\n var tocLists = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listClass + '.' + options.collapsibleClass)\n\n // Collapse the other collapsible lists.\n forEach.call(tocLists, function (list) {\n if (list.className.indexOf(options.isCollapsedClass) === -1) {\n list.className += SPACE_CHAR + options.isCollapsedClass\n }\n })\n\n // Expand the active link's collapsible list and its sibling if applicable.\n if (activeTocLink.nextSibling && activeTocLink.nextSibling.className.indexOf(options.isCollapsedClass) !== -1) {\n activeTocLink.nextSibling.className = activeTocLink.nextSibling.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n }\n removeCollapsedFromParents(activeTocLink.parentNode.parentNode)\n }\n }\n\n /**\n * Remove collpased class from parent elements.\n * @param {HTMLElement} element\n * @return {HTMLElement}\n */\n function removeCollapsedFromParents (element) {\n if (element.className.indexOf(options.collapsibleClass) !== -1 && element.className.indexOf(options.isCollapsedClass) !== -1) {\n element.className = element.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n return removeCollapsedFromParents(element.parentNode.parentNode)\n }\n return element\n }\n\n /**\n * Disable TOC Animation when a link is clicked.\n * @param {Event} event\n */\n function disableTocAnimation (event) {\n var target = event.target || event.srcElement\n if (typeof target.className !== 'string' || target.className.indexOf(options.linkClass) === -1) {\n return\n }\n // Bind to tocLink clicks to temporarily disable highlighting\n // while smoothScroll is animating.\n currentlyHighlighting = false\n }\n\n /**\n * Enable TOC Animation.\n */\n function enableTocAnimation () {\n currentlyHighlighting = true\n }\n\n return {\n enableTocAnimation: enableTocAnimation,\n disableTocAnimation: disableTocAnimation,\n render: render,\n updateToc: updateToc\n }\n}\n","/**\n * This file is responsible for parsing the content from the DOM and making\n * sure data is nested properly.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function parseContent (options) {\n var reduce = [].reduce\n\n /**\n * Get the last item in an array and return a reference to it.\n * @param {Array} array\n * @return {Object}\n */\n function getLastItem (array) {\n return array[array.length - 1]\n }\n\n /**\n * Get heading level for a heading dom node.\n * @param {HTMLElement} heading\n * @return {Number}\n */\n function getHeadingLevel (heading) {\n return +heading.nodeName.split('H').join('')\n }\n\n /**\n * Get important properties from a heading element and store in a plain object.\n * @param {HTMLElement} heading\n * @return {Object}\n */\n function getHeadingObject (heading) {\n // each node is processed twice by this method because nestHeadingsArray() and addNode() calls it\n // first time heading is real DOM node element, second time it is obj\n // that is causing problem so I am processing only original DOM node\n if (!(heading instanceof window.HTMLElement)) return heading\n\n if (options.ignoreHiddenElements && (!heading.offsetHeight || !heading.offsetParent)) {\n return null\n }\n\n var obj = {\n id: heading.id,\n children: [],\n nodeName: heading.nodeName,\n headingLevel: getHeadingLevel(heading),\n textContent: options.headingLabelCallback ? String(options.headingLabelCallback(heading.textContent)) : heading.textContent.trim()\n }\n\n if (options.includeHtml) {\n obj.childNodes = heading.childNodes\n }\n\n if (options.headingObjectCallback) {\n return options.headingObjectCallback(obj, heading)\n }\n\n return obj\n }\n\n /**\n * Add a node to the nested array.\n * @param {Object} node\n * @param {Array} nest\n * @return {Array}\n */\n function addNode (node, nest) {\n var obj = getHeadingObject(node)\n var level = obj.headingLevel\n var array = nest\n var lastItem = getLastItem(array)\n var lastItemLevel = lastItem\n ? lastItem.headingLevel\n : 0\n var counter = level - lastItemLevel\n\n while (counter > 0) {\n lastItem = getLastItem(array)\n if (lastItem && lastItem.children !== undefined) {\n array = lastItem.children\n }\n counter--\n }\n\n if (level >= options.collapseDepth) {\n obj.isCollapsed = true\n }\n\n array.push(obj)\n return array\n }\n\n /**\n * Select headings in content area, exclude any selector in options.ignoreSelector\n * @param {String} contentSelector\n * @param {Array} headingSelector\n * @return {Array}\n */\n function selectHeadings (contentSelector, headingSelector) {\n var selectors = headingSelector\n if (options.ignoreSelector) {\n selectors = headingSelector.split(',')\n .map(function mapSelectors (selector) {\n return selector.trim() + ':not(' + options.ignoreSelector + ')'\n })\n }\n try {\n return document.querySelector(contentSelector)\n .querySelectorAll(selectors)\n } catch (e) {\n console.warn('Element not found: ' + contentSelector); // eslint-disable-line\n return null\n }\n }\n\n /**\n * Nest headings array into nested arrays with 'children' property.\n * @param {Array} headingsArray\n * @return {Object}\n */\n function nestHeadingsArray (headingsArray) {\n return reduce.call(headingsArray, function reducer (prev, curr) {\n var currentHeading = getHeadingObject(curr)\n if (currentHeading) {\n addNode(currentHeading, prev.nest)\n }\n return prev\n }, {\n nest: []\n })\n }\n\n return {\n nestHeadingsArray: nestHeadingsArray,\n selectHeadings: selectHeadings\n }\n}\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function updateTocScroll(options) {\n var toc = document.querySelector(options.tocSelector);\n if (toc && toc.scrollHeight > toc.clientHeight) {\n var activeItem = toc.querySelector('.' + options.activeListItemClass);\n if (activeItem) {\n toc.scrollTop = activeItem.offsetTop;\n }\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/scroll-smooth/index.js\n # Scroll-Smooth (Tocbot v4.12.0) implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-redeclare: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-empty: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n/* globals location, requestAnimationFrame */\n\nexports.initSmoothScrolling = initSmoothScrolling\n\nfunction initSmoothScrolling (options) {\n if (isCssSmoothSCrollSupported()) { }\n\n var duration = options.duration\n var offset = options.offset\n\n var pageUrl = location.hash\n ? stripHash(location.href)\n : location.href\n\n delegatedLinkHijacking()\n\n function delegatedLinkHijacking () {\n document.body.addEventListener('click', onClick, false)\n\n function onClick (e) {\n if (\n !isInPageLink(e.target) ||\n e.target.className.indexOf('no-smooth-scroll') > -1 ||\n (e.target.href.charAt(e.target.href.length - 2) === '#' &&\n e.target.href.charAt(e.target.href.length - 1) === '!') ||\n e.target.className.indexOf(options.linkClass) === -1) {\n return\n }\n\n // Don't prevent default or hash doesn't change.\n // e.preventDefault()\n\n jump(e.target.hash, {\n duration: duration,\n offset: offset,\n callback: function () {\n setFocus(e.target.hash)\n }\n })\n }\n }\n\n function isInPageLink (n) {\n return n.tagName.toLowerCase() === 'a' &&\n (n.hash.length > 0 || n.href.charAt(n.href.length - 1) === '#') &&\n (stripHash(n.href) === pageUrl || stripHash(n.href) + '#' === pageUrl)\n }\n\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'))\n }\n\n function isCssSmoothSCrollSupported () {\n return 'scrollBehavior' in document.documentElement.style\n }\n\n // Adapted from:\n // https://www.nczonline.net/blog/2013/01/15/fixing-skip-to-content-links/\n function setFocus (hash) {\n var element = document.getElementById(hash.substring(1))\n\n if (element) {\n if (!/^(?:a|select|input|button|textarea)$/i.test(element.tagName)) {\n element.tabIndex = -1\n }\n\n element.focus()\n }\n }\n}\n\nfunction jump (target, options) {\n var start = window.pageYOffset\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n }\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration\n var timeStart\n var timeElapsed\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time) })\n function loop (time) {\n timeElapsed = time - timeStart\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration))\n\n if (timeElapsed < duration) { requestAnimationFrame(loop) } else { end() }\n }\n\n function end () {\n window.scrollTo(0, start + distance)\n\n if (typeof opt.callback === 'function') { opt.callback() }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2\n if (t < 1) return c / 2 * t * t + b\n t--\n return -c / 2 * (t * (t - 2) - 1) + b\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adoc_result_viewer/view_results.js\n # Provides JavaScript functions displaying results for Asciidoctor\n # example block\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # TODO: Improve lanuage settings\n # TODO: Improve auto-hide functionality for the results block\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* global $ */\n// -----------------------------------------------------------------------------\n\nvar timeoutHandle;\n// var language = 'de';\nvar language = document.documentElement.lang;\n\nfunction toggle_result_block(result_block) {\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n result_block.prev().toggleClass('stacked');\n result_block.toggle();\n\n // jadams: Improve auto-hide functionality for the results block\n //\n // timeoutHandle = window.setTimeout(function () {\n // result_block.hide();\n // }, 5000);\n}\n\nfunction insert_result_links() {\n $('.result').each(function(idx, node) {\n var view_result_link;\n var result_block = $(node);\n var title_div = result_block.prev().find('.title');\n\n if (language == 'en') {\n view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"toggle results\" data-original-title=\"toggle results\">View</span></div>');\n } else if (language == 'de') {\n view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"Anzeige umschalten\" data-original-title=\"toggle results\">Anzeige</span></div>');\n } else {\n view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"toggle results\" data-original-title=\"toggle results\">View</span></div>');\n }\n\n title_div.append(view_result_link);\n view_result_link.on('click', function(event) {\n event.preventDefault();\n toggle_result_block(result_block);\n });\n });\n}\n\n$(insert_result_links);\n"],"sourceRoot":""}
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///(webpack)/buildin/global.js","webpack:///./template.js","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./node_modules/log4javascript/log4javascript.js","webpack:///./node_modules/lite-url/dist/lite-url.min.js","webpack:///./node_modules/platform/platform.js","webpack:///(webpack)/buildin/module.js","webpack:///./js/adapter/adapter.js","webpack:///./js/core/core.js","webpack:///./js/navigator/navigator.js","webpack:///./js/asciidoctor/asciidoctor.js","webpack:///./js/scroll-smooth/scroll-smooth.js","webpack:///./js/anime/anime.js","webpack:///./js/tocbot/tocbot.js","webpack:///./js/tocbot/default-options.js","webpack:///./js/tocbot/build-html.js","webpack:///./js/tocbot/parse-content.js","webpack:///./js/tocbot/update-toc-scroll.js","webpack:///./js/tocbot/scroll-smooth/index.js","webpack:///./js/adoc_result_viewer/view_results.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","g","this","Function","e","window","Cookies","require","log4javascript","liteURL","platform","j1","adapter","core","navigator","asciidoctor","scrollSmooth","anime","factory","OldCookies","api","noConflict","extend","result","arguments","length","attributes","decode","replace","decodeURIComponent","init","converter","set","document","path","defaults","expires","Date","toUTCString","JSON","stringify","test","write","encodeURIComponent","String","escape","stringifiedAttributes","attributeName","split","cookie","json","jar","cookies","parts","slice","join","charAt","read","parse","getJSON","remove","withConverter","isUndefined","obj","EventSupport","Array","push","len","shift","firstItem","splice","startIndex","deleteCount","itemsAfterDeleted","itemsDeleted","argumentsArray","itemsToAppend","concat","eventTypes","eventListeners","setEventTypes","eventTypesParam","handleError","addEventListener","eventType","listener","array_contains","removeEventListener","array_remove","dispatchEvent","eventArgs","listeners","applicationStartDate","uniqueId","getTime","Math","floor","random","emptyFunction","newLine","pageLoaded","Log4JavaScript","toStr","toString","getExceptionMessage","ex","message","description","getUrlFileName","url","lastSlashIndex","max","lastIndexOf","substr","getExceptionStringRep","exStr","lineNumber","fileName","localEx","logLog","warn","showStackTraces","stack","bool","Boolean","trim","str","splitIntoLines","text","version","edition","urlEncode","arr","val","index","extractBooleanFromParam","param","defaultValue","extractStringFromParam","extractIntFromParam","parseInt","isNaN","extractFunctionFromParam","isError","err","Error","apply","args","methodName","argsStrings","script","returnValue","eval","quietMode","debugMessages","setQuietMode","numberOfErrors","alertAllErrors","setAlertAllErrors","debug","displayDebug","alert","exception","error","alertMessage","enabled","log4javascript_disabled","setEnabled","enable","isEnabled","useTimeStampsInMilliseconds","setTimeStampsInMilliseconds","timeStampsInMilliseconds","isTimeStampsInMilliseconds","evalInScope","expr","setShowStackTraces","show","Level","level","Timer","INFO","start","equals","isGreaterOrEqual","ALL","Number","MIN_VALUE","TRACE","DEBUG","WARN","ERROR","FATAL","OFF","MAX_VALUE","getElapsedTime","anonymousLoggerName","defaultLoggerName","nullLoggerName","rootLoggerName","Logger","parent","children","appenders","loggerLevel","isRoot","isNull","appenderCache","appenderCacheInvalidated","addChild","childLogger","invalidateAppenderCache","additive","getAdditivity","setAdditivity","additivity","valueChanged","addAppender","appender","Appender","setAddedToLogger","removeAppender","setRemovedFromLogger","removeAllAppenders","appenderCount","getEffectiveAppenders","parentEffectiveAppenders","log","params","getEffectiveLevel","finalParamIndex","lastParam","messages","loggingEvent","LoggingEvent","callAppenders","effectiveAppenders","doAppend","setLevel","getLevel","logger","group","initiallyExpanded","groupEnd","timers","time","timeEnd","timer","milliseconds","assert","trace","info","fatal","isEnabledFor","isTraceEnabled","isDebugEnabled","isInfoEnabled","isWarnEnabled","isErrorEnabled","isFatalEnabled","isEntryPoint","loggers","loggerNames","ROOT_LOGGER_DEFAULT_LEVEL","rootLogger","getRootLogger","getLogger","loggerName","parentLogger","lastDotIndex","parentLoggerName","substring","defaultLogger","getDefaultLogger","createDefaultLogger","nullLogger","getNullLogger","resetConfiguration","timeStamp","timeStampInMilliseconds","timeStampInSeconds","getMilliseconds","getThrowableStrRep","getCombinedMessages","Layout","loggerKey","timeStampKey","millisecondsKey","levelKey","messageKey","exceptionKey","urlKey","batchHeader","batchFooter","batchSeparator","returnsPostData","overrideTimeStampsSetting","format","ignoresThrowable","getContentType","allowBatching","getTimeStampValue","getDataValues","combineMessages","dataValues","location","href","hasCustomFields","customFields","setKeys","setCustomField","fieldUpdated","formatWithException","formatted","SimpleDateFormat","SimpleLayout","NullLayout","XmlLayout","escapeNewLines","JsonLayout","readable","colon","tab","lineBreak","HttpPostDataLayout","formatObjectExpansion","depth","indentation","objectsExpanded","doFormat","childDepth","childIndentation","childLines","expansion","childExpansion","formatString","lines","j","jLen","PatternLayout","pattern","DEFAULT_CONVERSION_PATTERN","AlertAppender","BrowserConsoleAppender","layout","threshold","append","setLayout","getLayout","setThreshold","getThreshold","isCombinedMessages","escapeCdata","formatMessage","isReadable","formatValue","prefix","expand","formattedValue","valType","childPrefix","queryBits","regex","monthNames","dayNames","types","G","y","M","w","W","D","F","E","a","H","k","K","h","S","Z","newDateAtMidnight","year","month","day","setMilliseconds","getDifference","date","isBefore","getUTCTime","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getTimeSince","getPreviousSunday","midday","previousSunday","getDay","getWeekInYear","minimalDaysInFirstWeek","startOfYear","weekInYear","getWeekInMonth","startOfMonth","weekInMonth","getDayInYear","setMinimalDaysInFirstWeek","days","getMinimalDaysInFirstWeek","padWithZeroes","formatText","data","numberOfLetters","minLength","formatNumber","formattedString","searchString","exec","quotedString","patternLetters","otherLetters","otherCharacters","patternLetter","rawData","getTimezoneOffset","absData","abs","hours","minutes","TTCC_CONVERSION_PATTERN","ISO8601_DATEFORMAT","DATETIME_DATEFORMAT","ABSOLUTETIME_DATEFORMAT","matchedString","padding","truncation","conversionCharacter","specifier","replacement","precision","loggerNameBits","dateFormat","fieldIndex","strLen","consoleMethodName","getFormattedMessage","concatenate","formattedMessage","console","opera","postError","xhrFactory","XMLHttpRequest","xmlHttpFactories","ActiveXObject","withCredentialsSupported","getXmlHttp","errorHandler","xmlHttp","ConsoleAppender","isHttpRequestSuccessful","status","AjaxAppender","withCredentials","isSupported","timed","waitForResponse","batchSize","timerInterval","requestSuccessCallback","failCallback","postVarName","sendAllOnUnload","contentType","sessionId","queuedLoggingEvents","queuedRequests","headers","sending","initialized","checkCanConfigure","configOptionName","sendAll","currentRequestBatch","sendRequest","preparePostData","scheduleSending","sendAllRemaining","sendingAnything","currentLoggingEvent","actualBatchSize","batchedLoggingEvents","formattedMessages","postData","setTimeout","xmlHttpErrorHandler","msg","successCallback","onreadystatechange","readyState","open","header","setRequestHeader","headerEx","send","errMsg","getSessionId","setSessionId","sessionIdParam","layoutParam","isTimed","setTimed","timedParam","getTimerInterval","setTimerInterval","timerIntervalParam","isWaitForResponse","setWaitForResponse","waitForResponseParam","getBatchSize","setBatchSize","batchSizeParam","isSendAllOnUnload","setSendAllOnUnload","sendAllOnUnloadParam","setRequestSuccessCallback","requestSuccessCallbackParam","setFailCallback","failCallbackParam","getPostVarName","setPostVarName","postVarNameParam","getHeaders","addHeader","toLowerCase","oldBeforeUnload","onbeforeunload","setCookie","setTime","toGMTString","getCookie","nameEquals","ca","indexOf","unescape","getBaseUrl","scripts","getElementsByTagName","src","lastSlash","isLoaded","win","loaded","padWithSpaces","spaces","numberOfSpaces","PopUpAppender","defaultCommandLineFunctions","consoleAppenderIdCounter","lazyInit","initiallyMinimized","useDocumentWrite","width","height","focusPopUp","InPageAppender","container","inPage","focusConsoleWindow","consoleWindowCreated","consoleWindowLoaded","consoleClosed","consoleAppenderId","newestMessageAtTop","scrollToLatestMessage","createWindow","safeToAppend","getConsoleWindow","maxMessages","showCommandLine","commandLineObjectExpansionDepth","showHideButton","showCloseButton","appenderName","consoleWindowExists","isNewestMessageAtTop","setNewestMessageAtTop","newestMessageAtTopParam","setNewestAtTop","isScrollToLatestMessage","setScrollToLatestMessage","scrollToLatestMessageParam","setScrollToLatest","getWidth","setWidth","widthParam","getHeight","setHeight","heightParam","getMaxMessages","setMaxMessages","maxMessagesParam","isShowCommandLine","setShowCommandLine","showCommandLineParam","isShowHideButton","setShowHideButton","showHideButtonParam","isShowCloseButton","setShowCloseButton","showCloseButtonParam","getCommandLineObjectExpansionDepth","setCommandLineObjectExpansionDepth","commandLineObjectExpansionDepthParam","minimized","QueuedLoggingEvent","levelName","QueuedGroup","QueuedGroupEnd","isInitiallyMinimized","setInitiallyMinimized","initiallyMinimizedParam","isUseDocumentWrite","setUseDocumentWrite","useDocumentWriteParam","checkAndAppend","reopenWhenClosed","appendQueuedLoggingEvents","focus","clear","clearLog","focusCommandLine","focusSearch","commandWindow","getCommandWindow","setCommandWindow","commandWindowParam","executeLastCommand","evalLastCommand","commandLayout","getCommandLayout","setCommandLayout","commandLayoutParam","evalCommandAndAppend","commandReturnValue","appendResult","commandOutput","execScript","commandLineFunctionsHash","commandLineFunctions","objectsToRestore","addObjectToRestore","addFunctionToWindow","evalExpr","mainLayout","addCommandLineFunction","functionName","commandLineFunction","storeCommandHistory","commandHistory","writeHtml","doc","writeln","close","consoleWindowLoadHandler","setAppender","setMainWindow","storedValue","currentCommandIndex","unload","caller","pollConsoleWindow","windowTest","interval","errorMessage","poll","setInterval","clearInterval","getConsoleUrl","documentDomainSet","domain","hostname","containerElement","cssProperties","addCssProperty","iframeContainerDiv","windowCreationStarted","iframeId","hide","$","blur","style","display","isVisible","fromButton","confirm","parentNode","removeChild","initErrorMessage","finalInit","writeToDocument","appendChild","createElement","border","iframeSrc","innerHTML","iframeDocumentExistsTest","pageLoadHandler","el","getElementById","nodeType","position","left","right","bottom","body","iframe","frames","popUp","useOldPopUp","complainAboutPopUpBlocking","isUseOldPopUp","setUseOldPopUp","useOldPopUpParam","isComplainAboutPopUpBlocking","setComplainAboutPopUpBlocking","complainAboutPopUpBlockingParam","isFocusPopUp","setFocusPopUp","focusPopUpParam","isReopenWhenClosed","setReopenWhenClosed","reopenWhenClosedParam","windowProperties","frameInfo","frameEl","frameElement","tagName","id","windowName","host","checkPopUpClosed","closed","popUpClosedCallback","setCloseIfOpenerCloses","mainPageReloaded","addGlobalCommandLineFunction","showLogEntryDeleteButtons","InlineAppender","dir","maxLen","propList","propVal","propNameStr","nodeTypes","preFormattedElements","emptyElements","getXhtml","rootNode","includeRootNode","startNewLine","preformatted","xhtml","node","getStyleAttributeValue","stylePairs","cssText","styleValue","nameValueBits","props","childNodes","outerHTML","RegExp","$1","hasPrefix","currentAttr","specified","nodeValue","nodeName","hasChildNodes","childStartNewLine","childPreformatted","endTag","lt","trimmedLines","keys","values","expansionDepth","setDocumentReady","attachEvent","oldOnload","onload","evt","hash","origin","pathname","protocol","search","password","username","port","changeQueryParser","objectTypes","root","freeExports","freeModule","freeGlobal","global","self","maxSafeInteger","pow","reOpera","objectProto","capitalize","string","toUpperCase","forOwn","callback","getClassOf","qualify","reduce","array","accumulator","each","ua","context","isCustomContext","nav","userAgent","isSpecialCasedOS","type","likeChrome","airRuntimeClass","enviroClass","javaClass","java","phantomClass","rhino","environment","alpha","beta","operamini","operaClass","arch","prerelease","useFeatures","guess","label","guesses","getName","product","getProduct","manufacturer","getManufacturer","os","cleanupOS","getOS","getVersion","patterns","unshift","parseFloat","runtime","flash","system","Capabilities","phantom","major","minor","patch","documentMode","toFixed","lang","System","getProperty","process","browser","versions","electron","nw","appMinorVersion","external","family","architecture","cpuClass","webpackPolyfill","deprecate","paths","_init_","options","foo","bar","getState","isMobile","ua_name","mobile","vendor","bsFormClearButton","on","nextAll","removeClass","addClass","createDropCap","$p","firstLetter","marginalDropCap","html","logText","defaultOptions","menuOptions","manageDropdownMenu","navbarSticky","eventHandler","action","sendMessage","$getNav","click","preventDefault","hasClass","wrap","postsArr","$postsList","find","firstList","round","secondList","ListHTML","createHTML","list","first","after","next","last","dropDown","megaMenu","closest","prepend","navbarHeighth","outerHeight","scrollTop","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","$menu","breakPoint","$dropDown","timeoutHandle","navDefaultOptions","navMenuOptions","$getWindow","matchMedia","matches","$getIn","$getOut","menuSelector","xhr_container_id","delayMenuOpen","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hover","$list","eq","fadeIn","clearTimeout","windowHeight","windowWidth","getId","$getHeight","getOffset","offset","top","updateSidebar","user_data","json_message","resolveMacros","updateMacros","jQuery","moduleOptions","dummyOption","callouts","colgroupList","conums","dependencies_met_page_finished","scroll","target","duration","scrollTo","timeStart","timeElapsed","pageYOffset","opt","easing","b","tgt","querySelector","decodeURI","distance","getBoundingClientRect","documentElement","loop","requestAnimationFrame","defaultInstanceSettings","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","direction","autoplay","timelineOffset","defaultTweenSettings","delay","endDelay","validTransforms","cache","CSS","springs","minMax","min","stringContains","applyArguments","func","isArray","pth","svg","SVGElement","inp","HTMLInputElement","dom","fnc","und","hex","rgb","hsl","col","parseEasingParameters","match","map","spring","mass","stiffness","damping","velocity","w0","sqrt","zeta","wd","solver","progress","exp","cos","sin","cached","elapsed","rest","steps","ceil","eases","functionEasings","bezier","A","aA1","aA2","B","C","calcBezier","aT","getSlope","mX1","mY1","mX2","mY2","sampleValues","Float32Array","x","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","penner","linear","Sine","PI","Circ","Back","Bounce","pow2","Elastic","amplitude","period","asin","forEach","easeIn","parseEasings","ease","selectString","querySelectorAll","filterArray","thisArg","flattenArray","toArray","NodeList","HTMLCollection","arrayContains","some","cloneObject","clone","replaceObjectProps","o1","o2","mergeObjects","colorToRgb","rgbValue","hexValue","hexToRgba","hslValue","hue2rgb","q","hslToRgba","getUnit","getFunctionValue","animatable","total","getAttribute","prop","convertPxToUnit","unit","tempEl","parentEl","factor","offsetWidth","convertedUnit","getCSSValue","uppercasePropName","getComputedStyle","getPropertyValue","getAnimationType","getElementTransforms","transform","reg","transforms","Map","getTransformValue","propName","defaultVal","getTransformUnit","getOriginalTargetValue","getRelativeValue","to","from","operator","u","validateValue","originalUnit","unitLess","getDistance","p1","p2","getPolylineLength","previousPos","points","totalLength","numberOfItems","currentPos","getItem","getTotalLength","getCircleLength","getRectLength","getLineLength","getPolygonLength","getParentSvg","pathEl","svgData","parentSvgEl","getParentSvgEl","rect","viewBoxAttr","viewBox","getPathProgress","point","getPointAtLength","p0","atan2","decomposeValue","rgx","original","numbers","strings","parseTargets","targets","item","pos","getAnimatables","parsed","normalizePropertyTweens","tweenSettings","settings","propArray","v","getProperties","properties","keyframes","propertyNames","newKey","flattenKeyframes","tweens","normalizeTweens","previousTween","tween","normalizeTweenValues","tweenValue","toUnit","originalValue","previousValue","fromUnit","end","isPath","isColor","setProgressValue","attribute","setAttribute","manual","setTargetsValue","valueUnit","animType","getAnimations","animatables","lastTween","createAnimation","getInstanceTimings","animations","animLength","getTlOffset","anim","timings","instanceID","raf","activeInstances","pausedInstances","engine","play","step","activeInstancesLength","activeInstance","paused","instanceIndex","tick","cancelAnimationFrame","startTime","lastTime","now","childrenLength","resolve","makePromise","instance","promise","Promise","_resolve","finished","instanceSettings","createNewInstance","toggleInstanceDirection","reversed","child","adjustTime","resetTime","currentTime","speed","seekChild","seek","setAnimationsProgress","insTime","animationsLength","tweenLength","eased","toNumbersLength","toNumber","fromNumber","stringsLength","n$1","currentValue","setCallback","cb","passThrough","setInstanceProgress","engineTime","insDuration","insDelay","insEndDelay","reversePlayback","i$1","syncInstanceChildren","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","reverse","restart","removeTargetsFromAnimations","targetsArray","hidden","ins","running","childAnimations","convertPx","percent","setDashoffset","pathLength","stagger","grid","axis","fromIndex","fromFirst","fromCenter","fromLast","isRange","val1","val2","maxValue","fromX","fromY","distanceX","distanceY","timeline","tl","add","instanceParams","tlIndex","insParams","tlDuration","define","buildHtml","parseContent","headingsArray","tocbot","BuildHtml","ParseContent","updateTocScroll","supports","destroy","skipRendering","tocSelector","scrollContainer","_scrollListener","_clickListener","customOptions","source","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestedHeadings","nestHeadingsArray","nest","render","throttle","updateToc","disableTocScrollSync","isTop","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","timeout","event","disableTocAnimation","enableTocAnimation","refresh","fn","scope","deferTimer","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","currentlyHighlighting","createEl","link","onclick","cloneNode","textContent","createLink","createList","isCollapsed","listElement","classes","srcElement","className","selector","firstChild","posFixedEl","offsetTop","updateFixedSidebarClass","topHeader","headings","heading","getHeadingTopPos","offsetParent","tocLinks","tocLink","tocLis","tocLi","activeTocLink","li","tocLists","nextSibling","removeCollapsedFromParents","element","getLastItem","getHeadingLevel","getHeadingObject","HTMLElement","offsetHeight","headingLevel","prev","curr","currentHeading","lastItem","counter","undefined","addNode","selectors","toc","scrollHeight","clientHeight","activeItem","pageUrl","stripHash","jump","tabIndex","language","idx","view_result_link","result_block","title_div","toggleClass","toggle_result_block"],"mappings":"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","file":"template.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/assets/themes/j1/core/js\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/*\n # -----------------------------------------------------------------------------\n # ~/src/template.js\n # J1 Template Javascript Core library\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n #\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint-disable no-unused-vars */\n/* global window */\n\n// -----------------------------------------------------------------------------\n// Import SASS sources for HMR\n// -----------------------------------------------------------------------------\n// import '../100_template_css/scss/theme_uno/components/_footer.scss';\n// import '../100_template_css/theme_uno.css'; // <-- yes, also require (s)css. This is a Webpack thing\n\n// Core Libraries - imported|required from NODE|NPM modules\n// -----------------------------------------------------------------------------\n//\n// Following objects (framework modules) are *conditionaly* forced to be\n// exposed for run-time to the global namespace (window) by WP config\n// file (expose-loader):\n// jQuery\n// Popper ('popper.js/dist/umd/popper', https://github.com/twbs/bootstrap/issues/23381)\n// -----------------------------------------------------------------------------\n\n// Core Utilities (moved to modules)\n// -----------------------------------------------------------------------------\n// Following objects (native node modules) are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\nwindow.Cookies = require('js-cookie');\nwindow.log4javascript = require('log4javascript');\nwindow.liteURL = require('lite-url');\nwindow.platform = require('platform');\n// window.yaml = require('js-yaml'); # NOT longer used/needed\n// window.uuid = require('uuid/v4'); # NOT longer used/needed\n\n// Core Libraries - build|required from SOURCE\n// -----------------------------------------------------------------------------\n\n// Following source objects|modules are *explicitely* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\nwindow.j1.adapter = require('./js/adapter/adapter.js');\nwindow.j1.core = require('./js/core/core.js');\nwindow.j1.core.navigator = require('./js/navigator/navigator.js');\n// window.j1.core.cookiebar = require('./js/cookiebar/cookiebar.js');\n// window.j1.core.cookieconsent = require('./js/cookieconsent/cookieconsent.js');\nwindow.j1.core.asciidoctor = require('./js/asciidoctor/asciidoctor.js');\nwindow.j1.core.scrollSmooth = require('./js/scroll-smooth/scroll-smooth.js');\nwindow.j1.anime = require('./js/anime/anime.js'); // added for fam\n// window.j1.fam = require('./js/fam/fam.js'); // cannot used until NOT rewritten to jQuery\n\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n//const Bootstrap = require('./js/bootstrap/bootstrap.js');\n//const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js');\nconst J1Tocbot = require('./js/tocbot/tocbot.js');\n//const J1ThemeSwitcher = require('./js/bs_theme_switcher/switcher.js');\n// const J1MmenuLight = require('./js/mmenu-light/mmenu.js');\n\n// Passing log data over Internet|SeeMe (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.log4javascript = require('./js/logger/client/webhook.js');\n\n// BMD Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// window.bootstrapMaterialDesign = require('./js/bmd/js/bmd.js');\n\n// Github Webhooks (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1.core.webhooks = require('./js/webhooks/octokit/client.js');\n\n\n// Test|Custom modules (currently NOT used)\n// -----------------------------------------------------------------------------\n// window.j1promiseTest = require('./js/custom/test_promises.js');\n// window.j1Example = require('./js/custom/example_module.js');\n\n// BS Libraries (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the global namespace (window).\n// -----------------------------------------------------------------------------\n// const Bootstrap = require('./js/bootstrap/bootstrap.js');\n\n// const J1JekyllSearch = require('./js/jekyll_search/jekyll_search.js'); // Buffer Kack\n// const J1Tocbot = require('./js/tocbot/tocbot.js');\n\n// Backstretch (moved to modules)\n// -----------------------------------------------------------------------------\n// Following source objects|modules are *implicetly* forced to be\n// exposed for run-time to the namespace of jQuery ($).\n// -----------------------------------------------------------------------------\n// const J1Attics = require('./js/backstretch/backstretch.js');\n\n// Additional Vanilla JS helpers\n// -----------------------------------------------------------------------------\nconst J1AdocResultViewer = require('./js/adoc_result_viewer/view_results.js');\n// const MSIEPolyfills = require('./js/polyfills/ms-ie.js');\n\n// HMR messages (currently NOT used)\n// -----------------------------------------------------------------------------\n// if (module.hot) {\n// var logtext;\n// var stat;\n// var stat=module.hot.status();\n//\n// logtext='[INFO ] [HMR ] [Hot Module Replacement enabled]';\n// console.log(logtext);\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n//\n// module.hot.accept('./template.js', function() {\n// console.log('[HMR] Accepting the updated template.js module!');\n// });\n//\n// module.hot.accept('../100_template_css/theme_uno.scss', function () {\n// console.log('[HMR] Accepting the updated style.css module!');\n// require('../100_template_css/theme_uno.scss')\n// })\n//\n// React to the current status...\n// module.hot.addStatusHandler(status => {\n// stat=module.hot.status();\n// logtext='[INFO ] [HMR ] [Status: ' + stat + ']';\n// console.log(logtext);\n// });\n//}\n\n// -----------------------------------------------------------------------------\n// END\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","/**\r\n * Copyright 2015 Tim Down.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n\r\n(function(factory,root){if(typeof define==\"function\"&&define.amd){define(factory);}else if(typeof module!=\"undefined\"&&typeof exports==\"object\"){module.exports=factory();}else{root.log4javascript=factory();}})(function(){if(!Array.prototype.push){Array.prototype.push=function(){for(var i=0,len=arguments.length;i<len;i++){this[this.length]=arguments[i];}\r\nreturn this.length;};}\r\nif(!Array.prototype.shift){Array.prototype.shift=function(){if(this.length>0){var firstItem=this[0];for(var i=0,len=this.length-1;i<len;i++){this[i]=this[i+1];}\r\nthis.length=this.length-1;return firstItem;}};}\r\nif(!Array.prototype.splice){Array.prototype.splice=function(startIndex,deleteCount){var itemsAfterDeleted=this.slice(startIndex+deleteCount);var itemsDeleted=this.slice(startIndex,startIndex+deleteCount);this.length=startIndex;var argumentsArray=[];for(var i=0,len=arguments.length;i<len;i++){argumentsArray[i]=arguments[i];}\r\nvar itemsToAppend=(argumentsArray.length>2)?itemsAfterDeleted=argumentsArray.slice(2).concat(itemsAfterDeleted):itemsAfterDeleted;for(i=0,len=itemsToAppend.length;i<len;i++){this.push(itemsToAppend[i]);}\r\nreturn itemsDeleted;};}\r\nfunction isUndefined(obj){return typeof obj==\"undefined\";}\r\nfunction EventSupport(){}\r\nEventSupport.prototype={eventTypes:[],eventListeners:{},setEventTypes:function(eventTypesParam){if(eventTypesParam instanceof Array){this.eventTypes=eventTypesParam;this.eventListeners={};for(var i=0,len=this.eventTypes.length;i<len;i++){this.eventListeners[this.eventTypes[i]]=[];}}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: setEventTypes: eventTypes parameter must be an Array\");}},addEventListener:function(eventType,listener){if(typeof listener==\"function\"){if(!array_contains(this.eventTypes,eventType)){handleError(\"log4javascript.EventSupport [\"+this+\"]: addEventListener: no event called '\"+eventType+\"'\");}\r\nthis.eventListeners[eventType].push(listener);}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: addEventListener: listener must be a function\");}},removeEventListener:function(eventType,listener){if(typeof listener==\"function\"){if(!array_contains(this.eventTypes,eventType)){handleError(\"log4javascript.EventSupport [\"+this+\"]: removeEventListener: no event called '\"+eventType+\"'\");}\r\narray_remove(this.eventListeners[eventType],listener);}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: removeEventListener: listener must be a function\");}},dispatchEvent:function(eventType,eventArgs){if(array_contains(this.eventTypes,eventType)){var listeners=this.eventListeners[eventType];for(var i=0,len=listeners.length;i<len;i++){listeners[i](this,eventType,eventArgs);}}else{handleError(\"log4javascript.EventSupport [\"+this+\"]: dispatchEvent: no event called '\"+eventType+\"'\");}}};var applicationStartDate=new Date();var uniqueId=\"log4javascript_\"+applicationStartDate.getTime()+\"_\"+\r\nMath.floor(Math.random()*100000000);var emptyFunction=function(){};var newLine=\"\\r\\n\";var pageLoaded=false;function Log4JavaScript(){}\r\nLog4JavaScript.prototype=new EventSupport();var log4javascript=new Log4JavaScript();log4javascript.version=\"1.4.13\";log4javascript.edition=\"log4javascript\";function toStr(obj){if(obj&&obj.toString){return obj.toString();}else{return String(obj);}}\r\nfunction getExceptionMessage(ex){if(ex.message){return ex.message;}else if(ex.description){return ex.description;}else{return toStr(ex);}}\r\nfunction getUrlFileName(url){var lastSlashIndex=Math.max(url.lastIndexOf(\"/\"),url.lastIndexOf(\"\\\\\"));return url.substr(lastSlashIndex+1);}\r\nfunction getExceptionStringRep(ex){if(ex){var exStr=\"Exception: \"+getExceptionMessage(ex);try{if(ex.lineNumber){exStr+=\" on line number \"+ex.lineNumber;}\r\nif(ex.fileName){exStr+=\" in file \"+getUrlFileName(ex.fileName);}}catch(localEx){logLog.warn(\"Unable to obtain file and line information for error\");}\r\nif(showStackTraces&&ex.stack){exStr+=newLine+\"Stack trace:\"+newLine+ex.stack;}\r\nreturn exStr;}\r\nreturn null;}\r\nfunction bool(obj){return Boolean(obj);}\r\nfunction trim(str){return str.replace(/^\\s+/,\"\").replace(/\\s+$/,\"\");}\r\nfunction splitIntoLines(text){var text2=text.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");return text2.split(\"\\n\");}\r\nvar urlEncode=(typeof window.encodeURIComponent!=\"undefined\")?function(str){return encodeURIComponent(str);}:function(str){return escape(str).replace(/\\+/g,\"%2B\").replace(/\"/g,\"%22\").replace(/'/g,\"%27\").replace(/\\//g,\"%2F\").replace(/=/g,\"%3D\");};function array_remove(arr,val){var index=-1;for(var i=0,len=arr.length;i<len;i++){if(arr[i]===val){index=i;break;}}\r\nif(index>=0){arr.splice(index,1);return true;}else{return false;}}\r\nfunction array_contains(arr,val){for(var i=0,len=arr.length;i<len;i++){if(arr[i]==val){return true;}}\r\nreturn false;}\r\nfunction extractBooleanFromParam(param,defaultValue){if(isUndefined(param)){return defaultValue;}else{return bool(param);}}\r\nfunction extractStringFromParam(param,defaultValue){if(isUndefined(param)){return defaultValue;}else{return String(param);}}\r\nfunction extractIntFromParam(param,defaultValue){if(isUndefined(param)){return defaultValue;}else{try{var value=parseInt(param,10);return isNaN(value)?defaultValue:value;}catch(ex){logLog.warn(\"Invalid int param \"+param,ex);return defaultValue;}}}\r\nfunction extractFunctionFromParam(param,defaultValue){if(typeof param==\"function\"){return param;}else{return defaultValue;}}\r\nfunction isError(err){return(err instanceof Error);}\r\nif(!Function.prototype.apply){Function.prototype.apply=function(obj,args){var methodName=\"__apply__\";if(typeof obj[methodName]!=\"undefined\"){methodName+=String(Math.random()).substr(2);}\r\nobj[methodName]=this;var argsStrings=[];for(var i=0,len=args.length;i<len;i++){argsStrings[i]=\"args[\"+i+\"]\";}\r\nvar script=\"obj.\"+methodName+\"(\"+argsStrings.join(\",\")+\")\";var returnValue=eval(script);delete obj[methodName];return returnValue;};}\r\nif(!Function.prototype.call){Function.prototype.call=function(obj){var args=[];for(var i=1,len=arguments.length;i<len;i++){args[i-1]=arguments[i];}\r\nreturn this.apply(obj,args);};}\r\nvar logLog={quietMode:false,debugMessages:[],setQuietMode:function(quietMode){this.quietMode=bool(quietMode);},numberOfErrors:0,alertAllErrors:false,setAlertAllErrors:function(alertAllErrors){this.alertAllErrors=alertAllErrors;},debug:function(message){this.debugMessages.push(message);},displayDebug:function(){alert(this.debugMessages.join(newLine));},warn:function(message,exception){},error:function(message,exception){if(++this.numberOfErrors==1||this.alertAllErrors){if(!this.quietMode){var alertMessage=\"log4javascript error: \"+message;if(exception){alertMessage+=newLine+newLine+\"Original error: \"+getExceptionStringRep(exception);}\r\nalert(alertMessage);}}}};log4javascript.logLog=logLog;log4javascript.setEventTypes([\"load\",\"error\"]);function handleError(message,exception){logLog.error(message,exception);log4javascript.dispatchEvent(\"error\",{\"message\":message,\"exception\":exception});}\r\nlog4javascript.handleError=handleError;var enabled=!((typeof log4javascript_disabled!=\"undefined\")&&log4javascript_disabled);log4javascript.setEnabled=function(enable){enabled=bool(enable);};log4javascript.isEnabled=function(){return enabled;};var useTimeStampsInMilliseconds=true;log4javascript.setTimeStampsInMilliseconds=function(timeStampsInMilliseconds){useTimeStampsInMilliseconds=bool(timeStampsInMilliseconds);};log4javascript.isTimeStampsInMilliseconds=function(){return useTimeStampsInMilliseconds;};log4javascript.evalInScope=function(expr){return eval(expr);};var showStackTraces=false;log4javascript.setShowStackTraces=function(show){showStackTraces=bool(show);};var Level=function(level,name){this.level=level;this.name=name;};Level.prototype={toString:function(){return this.name;},equals:function(level){return this.level==level.level;},isGreaterOrEqual:function(level){return this.level>=level.level;}};Level.ALL=new Level(Number.MIN_VALUE,\"ALL\");Level.TRACE=new Level(10000,\"TRACE\");Level.DEBUG=new Level(20000,\"DEBUG\");Level.INFO=new Level(30000,\"INFO\");Level.WARN=new Level(40000,\"WARN\");Level.ERROR=new Level(50000,\"ERROR\");Level.FATAL=new Level(60000,\"FATAL\");Level.OFF=new Level(Number.MAX_VALUE,\"OFF\");log4javascript.Level=Level;function Timer(name,level){this.name=name;this.level=isUndefined(level)?Level.INFO:level;this.start=new Date();}\r\nTimer.prototype.getElapsedTime=function(){return new Date().getTime()-this.start.getTime();};var anonymousLoggerName=\"[anonymous]\";var defaultLoggerName=\"[default]\";var nullLoggerName=\"[null]\";var rootLoggerName=\"root\";function Logger(name){this.name=name;this.parent=null;this.children=[];var appenders=[];var loggerLevel=null;var isRoot=(this.name===rootLoggerName);var isNull=(this.name===nullLoggerName);var appenderCache=null;var appenderCacheInvalidated=false;this.addChild=function(childLogger){this.children.push(childLogger);childLogger.parent=this;childLogger.invalidateAppenderCache();};var additive=true;this.getAdditivity=function(){return additive;};this.setAdditivity=function(additivity){var valueChanged=(additive!=additivity);additive=additivity;if(valueChanged){this.invalidateAppenderCache();}};this.addAppender=function(appender){if(isNull){handleError(\"Logger.addAppender: you may not add an appender to the null logger\");}else{if(appender instanceof log4javascript.Appender){if(!array_contains(appenders,appender)){appenders.push(appender);appender.setAddedToLogger(this);this.invalidateAppenderCache();}}else{handleError(\"Logger.addAppender: appender supplied ('\"+\r\ntoStr(appender)+\"') is not a subclass of Appender\");}}};this.removeAppender=function(appender){array_remove(appenders,appender);appender.setRemovedFromLogger(this);this.invalidateAppenderCache();};this.removeAllAppenders=function(){var appenderCount=appenders.length;if(appenderCount>0){for(var i=0;i<appenderCount;i++){appenders[i].setRemovedFromLogger(this);}\r\nappenders.length=0;this.invalidateAppenderCache();}};this.getEffectiveAppenders=function(){if(appenderCache===null||appenderCacheInvalidated){var parentEffectiveAppenders=(isRoot||!this.getAdditivity())?[]:this.parent.getEffectiveAppenders();appenderCache=parentEffectiveAppenders.concat(appenders);appenderCacheInvalidated=false;}\r\nreturn appenderCache;};this.invalidateAppenderCache=function(){appenderCacheInvalidated=true;for(var i=0,len=this.children.length;i<len;i++){this.children[i].invalidateAppenderCache();}};this.log=function(level,params){if(enabled&&level.isGreaterOrEqual(this.getEffectiveLevel())){var exception;var finalParamIndex=params.length-1;var lastParam=params[finalParamIndex];if(params.length>1&&isError(lastParam)){exception=lastParam;finalParamIndex--;}\r\nvar messages=[];for(var i=0;i<=finalParamIndex;i++){messages[i]=params[i];}\r\nvar loggingEvent=new LoggingEvent(this,new Date(),level,messages,exception);this.callAppenders(loggingEvent);}};this.callAppenders=function(loggingEvent){var effectiveAppenders=this.getEffectiveAppenders();for(var i=0,len=effectiveAppenders.length;i<len;i++){effectiveAppenders[i].doAppend(loggingEvent);}};this.setLevel=function(level){if(isRoot&&level===null){handleError(\"Logger.setLevel: you cannot set the level of the root logger to null\");}else if(level instanceof Level){loggerLevel=level;}else{handleError(\"Logger.setLevel: level supplied to logger \"+\r\nthis.name+\" is not an instance of log4javascript.Level\");}};this.getLevel=function(){return loggerLevel;};this.getEffectiveLevel=function(){for(var logger=this;logger!==null;logger=logger.parent){var level=logger.getLevel();if(level!==null){return level;}}};this.group=function(name,initiallyExpanded){if(enabled){var effectiveAppenders=this.getEffectiveAppenders();for(var i=0,len=effectiveAppenders.length;i<len;i++){effectiveAppenders[i].group(name,initiallyExpanded);}}};this.groupEnd=function(){if(enabled){var effectiveAppenders=this.getEffectiveAppenders();for(var i=0,len=effectiveAppenders.length;i<len;i++){effectiveAppenders[i].groupEnd();}}};var timers={};this.time=function(name,level){if(enabled){if(isUndefined(name)){handleError(\"Logger.time: a name for the timer must be supplied\");}else if(level&&!(level instanceof Level)){handleError(\"Logger.time: level supplied to timer \"+\r\nname+\" is not an instance of log4javascript.Level\");}else{timers[name]=new Timer(name,level);}}};this.timeEnd=function(name){if(enabled){if(isUndefined(name)){handleError(\"Logger.timeEnd: a name for the timer must be supplied\");}else if(timers[name]){var timer=timers[name];var milliseconds=timer.getElapsedTime();this.log(timer.level,[\"Timer \"+toStr(name)+\" completed in \"+milliseconds+\"ms\"]);delete timers[name];}else{logLog.warn(\"Logger.timeEnd: no timer found with name \"+name);}}};this.assert=function(expr){if(enabled&&!expr){var args=[];for(var i=1,len=arguments.length;i<len;i++){args.push(arguments[i]);}\r\nargs=(args.length>0)?args:[\"Assertion Failure\"];args.push(newLine);args.push(expr);this.log(Level.ERROR,args);}};this.toString=function(){return\"Logger[\"+this.name+\"]\";};}\r\nLogger.prototype={trace:function(){this.log(Level.TRACE,arguments);},debug:function(){this.log(Level.DEBUG,arguments);},info:function(){this.log(Level.INFO,arguments);},warn:function(){this.log(Level.WARN,arguments);},error:function(){this.log(Level.ERROR,arguments);},fatal:function(){this.log(Level.FATAL,arguments);},isEnabledFor:function(level){return level.isGreaterOrEqual(this.getEffectiveLevel());},isTraceEnabled:function(){return this.isEnabledFor(Level.TRACE);},isDebugEnabled:function(){return this.isEnabledFor(Level.DEBUG);},isInfoEnabled:function(){return this.isEnabledFor(Level.INFO);},isWarnEnabled:function(){return this.isEnabledFor(Level.WARN);},isErrorEnabled:function(){return this.isEnabledFor(Level.ERROR);},isFatalEnabled:function(){return this.isEnabledFor(Level.FATAL);}};Logger.prototype.trace.isEntryPoint=true;Logger.prototype.debug.isEntryPoint=true;Logger.prototype.info.isEntryPoint=true;Logger.prototype.warn.isEntryPoint=true;Logger.prototype.error.isEntryPoint=true;Logger.prototype.fatal.isEntryPoint=true;var loggers={};var loggerNames=[];var ROOT_LOGGER_DEFAULT_LEVEL=Level.DEBUG;var rootLogger=new Logger(rootLoggerName);rootLogger.setLevel(ROOT_LOGGER_DEFAULT_LEVEL);log4javascript.getRootLogger=function(){return rootLogger;};log4javascript.getLogger=function(loggerName){if(typeof loggerName!=\"string\"){loggerName=anonymousLoggerName;logLog.warn(\"log4javascript.getLogger: non-string logger name \"+\r\ntoStr(loggerName)+\" supplied, returning anonymous logger\");}\r\nif(loggerName==rootLoggerName){handleError(\"log4javascript.getLogger: root logger may not be obtained by name\");}\r\nif(!loggers[loggerName]){var logger=new Logger(loggerName);loggers[loggerName]=logger;loggerNames.push(loggerName);var lastDotIndex=loggerName.lastIndexOf(\".\");var parentLogger;if(lastDotIndex>-1){var parentLoggerName=loggerName.substring(0,lastDotIndex);parentLogger=log4javascript.getLogger(parentLoggerName);}else{parentLogger=rootLogger;}\r\nparentLogger.addChild(logger);}\r\nreturn loggers[loggerName];};var defaultLogger=null;log4javascript.getDefaultLogger=function(){if(!defaultLogger){defaultLogger=createDefaultLogger();}\r\nreturn defaultLogger;};var nullLogger=null;log4javascript.getNullLogger=function(){if(!nullLogger){nullLogger=new Logger(nullLoggerName);nullLogger.setLevel(Level.OFF);}\r\nreturn nullLogger;};log4javascript.resetConfiguration=function(){rootLogger.setLevel(ROOT_LOGGER_DEFAULT_LEVEL);loggers={};};var LoggingEvent=function(logger,timeStamp,level,messages,exception){this.logger=logger;this.timeStamp=timeStamp;this.timeStampInMilliseconds=timeStamp.getTime();this.timeStampInSeconds=Math.floor(this.timeStampInMilliseconds/1000);this.milliseconds=this.timeStamp.getMilliseconds();this.level=level;this.messages=messages;this.exception=exception;};LoggingEvent.prototype={getThrowableStrRep:function(){return this.exception?getExceptionStringRep(this.exception):\"\";},getCombinedMessages:function(){return(this.messages.length==1)?this.messages[0]:this.messages.join(newLine);},toString:function(){return\"LoggingEvent[\"+this.level+\"]\";}};log4javascript.LoggingEvent=LoggingEvent;var Layout=function(){};Layout.prototype={defaults:{loggerKey:\"logger\",timeStampKey:\"timestamp\",millisecondsKey:\"milliseconds\",levelKey:\"level\",messageKey:\"message\",exceptionKey:\"exception\",urlKey:\"url\"},loggerKey:\"logger\",timeStampKey:\"timestamp\",millisecondsKey:\"milliseconds\",levelKey:\"level\",messageKey:\"message\",exceptionKey:\"exception\",urlKey:\"url\",batchHeader:\"\",batchFooter:\"\",batchSeparator:\"\",returnsPostData:false,overrideTimeStampsSetting:false,useTimeStampsInMilliseconds:null,format:function(){handleError(\"Layout.format: layout supplied has no format() method\");},ignoresThrowable:function(){handleError(\"Layout.ignoresThrowable: layout supplied has no ignoresThrowable() method\");},getContentType:function(){return\"text/plain\";},allowBatching:function(){return true;},setTimeStampsInMilliseconds:function(timeStampsInMilliseconds){this.overrideTimeStampsSetting=true;this.useTimeStampsInMilliseconds=bool(timeStampsInMilliseconds);},isTimeStampsInMilliseconds:function(){return this.overrideTimeStampsSetting?this.useTimeStampsInMilliseconds:useTimeStampsInMilliseconds;},getTimeStampValue:function(loggingEvent){return this.isTimeStampsInMilliseconds()?loggingEvent.timeStampInMilliseconds:loggingEvent.timeStampInSeconds;},getDataValues:function(loggingEvent,combineMessages){var dataValues=[[this.loggerKey,loggingEvent.logger.name],[this.timeStampKey,this.getTimeStampValue(loggingEvent)],[this.levelKey,loggingEvent.level.name],[this.urlKey,window.location.href],[this.messageKey,combineMessages?loggingEvent.getCombinedMessages():loggingEvent.messages]];if(!this.isTimeStampsInMilliseconds()){dataValues.push([this.millisecondsKey,loggingEvent.milliseconds]);}\r\nif(loggingEvent.exception){dataValues.push([this.exceptionKey,getExceptionStringRep(loggingEvent.exception)]);}\r\nif(this.hasCustomFields()){for(var i=0,len=this.customFields.length;i<len;i++){var val=this.customFields[i].value;if(typeof val===\"function\"){val=val(this,loggingEvent);}\r\ndataValues.push([this.customFields[i].name,val]);}}\r\nreturn dataValues;},setKeys:function(loggerKey,timeStampKey,levelKey,messageKey,exceptionKey,urlKey,millisecondsKey){this.loggerKey=extractStringFromParam(loggerKey,this.defaults.loggerKey);this.timeStampKey=extractStringFromParam(timeStampKey,this.defaults.timeStampKey);this.levelKey=extractStringFromParam(levelKey,this.defaults.levelKey);this.messageKey=extractStringFromParam(messageKey,this.defaults.messageKey);this.exceptionKey=extractStringFromParam(exceptionKey,this.defaults.exceptionKey);this.urlKey=extractStringFromParam(urlKey,this.defaults.urlKey);this.millisecondsKey=extractStringFromParam(millisecondsKey,this.defaults.millisecondsKey);},setCustomField:function(name,value){var fieldUpdated=false;for(var i=0,len=this.customFields.length;i<len;i++){if(this.customFields[i].name===name){this.customFields[i].value=value;fieldUpdated=true;}}\r\nif(!fieldUpdated){this.customFields.push({\"name\":name,\"value\":value});}},hasCustomFields:function(){return(this.customFields.length>0);},formatWithException:function(loggingEvent){var formatted=this.format(loggingEvent);if(loggingEvent.exception&&this.ignoresThrowable()){formatted+=loggingEvent.getThrowableStrRep();}\r\nreturn formatted;},toString:function(){handleError(\"Layout.toString: all layouts must override this method\");}};log4javascript.Layout=Layout;var Appender=function(){};Appender.prototype=new EventSupport();Appender.prototype.layout=new PatternLayout();Appender.prototype.threshold=Level.ALL;Appender.prototype.loggers=[];Appender.prototype.doAppend=function(loggingEvent){if(enabled&&loggingEvent.level.level>=this.threshold.level){this.append(loggingEvent);}};Appender.prototype.append=function(loggingEvent){};Appender.prototype.setLayout=function(layout){if(layout instanceof Layout){this.layout=layout;}else{handleError(\"Appender.setLayout: layout supplied to \"+\r\nthis.toString()+\" is not a subclass of Layout\");}};Appender.prototype.getLayout=function(){return this.layout;};Appender.prototype.setThreshold=function(threshold){if(threshold instanceof Level){this.threshold=threshold;}else{handleError(\"Appender.setThreshold: threshold supplied to \"+\r\nthis.toString()+\" is not a subclass of Level\");}};Appender.prototype.getThreshold=function(){return this.threshold;};Appender.prototype.setAddedToLogger=function(logger){this.loggers.push(logger);};Appender.prototype.setRemovedFromLogger=function(logger){array_remove(this.loggers,logger);};Appender.prototype.group=emptyFunction;Appender.prototype.groupEnd=emptyFunction;Appender.prototype.toString=function(){handleError(\"Appender.toString: all appenders must override this method\");};log4javascript.Appender=Appender;function SimpleLayout(){this.customFields=[];}\r\nSimpleLayout.prototype=new Layout();SimpleLayout.prototype.format=function(loggingEvent){return loggingEvent.level.name+\" - \"+loggingEvent.getCombinedMessages();};SimpleLayout.prototype.ignoresThrowable=function(){return true;};SimpleLayout.prototype.toString=function(){return\"SimpleLayout\";};log4javascript.SimpleLayout=SimpleLayout;function NullLayout(){this.customFields=[];}\r\nNullLayout.prototype=new Layout();NullLayout.prototype.format=function(loggingEvent){return loggingEvent.messages;};NullLayout.prototype.ignoresThrowable=function(){return true;};NullLayout.prototype.formatWithException=function(loggingEvent){var messages=loggingEvent.messages,ex=loggingEvent.exception;return ex?messages.concat([ex]):messages;};NullLayout.prototype.toString=function(){return\"NullLayout\";};log4javascript.NullLayout=NullLayout;function XmlLayout(combineMessages){this.combineMessages=extractBooleanFromParam(combineMessages,true);this.customFields=[];}\r\nXmlLayout.prototype=new Layout();XmlLayout.prototype.isCombinedMessages=function(){return this.combineMessages;};XmlLayout.prototype.getContentType=function(){return\"text/xml\";};XmlLayout.prototype.escapeCdata=function(str){return str.replace(/\\]\\]>/,\"]]>]]><![CDATA[\");};XmlLayout.prototype.format=function(loggingEvent){var layout=this;var i,len;function formatMessage(message){message=(typeof message===\"string\")?message:toStr(message);return\"<log4javascript:message><![CDATA[\"+\r\nlayout.escapeCdata(message)+\"]]></log4javascript:message>\";}\r\nvar str=\"<log4javascript:event logger=\\\"\"+loggingEvent.logger.name+\"\\\" timestamp=\\\"\"+this.getTimeStampValue(loggingEvent)+\"\\\"\";if(!this.isTimeStampsInMilliseconds()){str+=\" milliseconds=\\\"\"+loggingEvent.milliseconds+\"\\\"\";}\r\nstr+=\" level=\\\"\"+loggingEvent.level.name+\"\\\">\"+newLine;if(this.combineMessages){str+=formatMessage(loggingEvent.getCombinedMessages());}else{str+=\"<log4javascript:messages>\"+newLine;for(i=0,len=loggingEvent.messages.length;i<len;i++){str+=formatMessage(loggingEvent.messages[i])+newLine;}\r\nstr+=\"</log4javascript:messages>\"+newLine;}\r\nif(this.hasCustomFields()){for(i=0,len=this.customFields.length;i<len;i++){str+=\"<log4javascript:customfield name=\\\"\"+\r\nthis.customFields[i].name+\"\\\"><![CDATA[\"+\r\nthis.customFields[i].value.toString()+\"]]></log4javascript:customfield>\"+newLine;}}\r\nif(loggingEvent.exception){str+=\"<log4javascript:exception><![CDATA[\"+\r\ngetExceptionStringRep(loggingEvent.exception)+\"]]></log4javascript:exception>\"+newLine;}\r\nstr+=\"</log4javascript:event>\"+newLine+newLine;return str;};XmlLayout.prototype.ignoresThrowable=function(){return false;};XmlLayout.prototype.toString=function(){return\"XmlLayout\";};log4javascript.XmlLayout=XmlLayout;function escapeNewLines(str){return str.replace(/\\r\\n|\\r|\\n/g,\"\\\\r\\\\n\");}\r\nfunction JsonLayout(readable,combineMessages){this.readable=extractBooleanFromParam(readable,false);this.combineMessages=extractBooleanFromParam(combineMessages,true);this.batchHeader=this.readable?\"[\"+newLine:\"[\";this.batchFooter=this.readable?\"]\"+newLine:\"]\";this.batchSeparator=this.readable?\",\"+newLine:\",\";this.setKeys();this.colon=this.readable?\": \":\":\";this.tab=this.readable?\"\\t\":\"\";this.lineBreak=this.readable?newLine:\"\";this.customFields=[];}\r\nJsonLayout.prototype=new Layout();JsonLayout.prototype.isReadable=function(){return this.readable;};JsonLayout.prototype.isCombinedMessages=function(){return this.combineMessages;};JsonLayout.prototype.format=function(loggingEvent){var layout=this;var dataValues=this.getDataValues(loggingEvent,this.combineMessages);var str=\"{\"+this.lineBreak;var i,len;function formatValue(val,prefix,expand){var formattedValue;var valType=typeof val;if(val instanceof Date){formattedValue=String(val.getTime());}else if(expand&&(val instanceof Array)){formattedValue=\"[\"+layout.lineBreak;for(var i=0,len=val.length;i<len;i++){var childPrefix=prefix+layout.tab;formattedValue+=childPrefix+formatValue(val[i],childPrefix,false);if(i<val.length-1){formattedValue+=\",\";}\r\nformattedValue+=layout.lineBreak;}\r\nformattedValue+=prefix+\"]\";}else if(valType!==\"number\"&&valType!==\"boolean\"){formattedValue=\"\\\"\"+escapeNewLines(toStr(val).replace(/\\\"/g,\"\\\\\\\"\"))+\"\\\"\";}else{formattedValue=val;}\r\nreturn formattedValue;}\r\nfor(i=0,len=dataValues.length-1;i<=len;i++){str+=this.tab+\"\\\"\"+dataValues[i][0]+\"\\\"\"+this.colon+formatValue(dataValues[i][1],this.tab,true);if(i<len){str+=\",\";}\r\nstr+=this.lineBreak;}\r\nstr+=\"}\"+this.lineBreak;return str;};JsonLayout.prototype.ignoresThrowable=function(){return false;};JsonLayout.prototype.toString=function(){return\"JsonLayout\";};JsonLayout.prototype.getContentType=function(){return\"application/json\";};log4javascript.JsonLayout=JsonLayout;function HttpPostDataLayout(){this.setKeys();this.customFields=[];this.returnsPostData=true;}\r\nHttpPostDataLayout.prototype=new Layout();HttpPostDataLayout.prototype.allowBatching=function(){return false;};HttpPostDataLayout.prototype.format=function(loggingEvent){var dataValues=this.getDataValues(loggingEvent);var queryBits=[];for(var i=0,len=dataValues.length;i<len;i++){var val=(dataValues[i][1]instanceof Date)?String(dataValues[i][1].getTime()):dataValues[i][1];queryBits.push(urlEncode(dataValues[i][0])+\"=\"+urlEncode(val));}\r\nreturn queryBits.join(\"&\");};HttpPostDataLayout.prototype.ignoresThrowable=function(loggingEvent){return false;};HttpPostDataLayout.prototype.toString=function(){return\"HttpPostDataLayout\";};log4javascript.HttpPostDataLayout=HttpPostDataLayout;function formatObjectExpansion(obj,depth,indentation){var objectsExpanded=[];function doFormat(obj,depth,indentation){var i,len,childDepth,childIndentation,childLines,expansion,childExpansion;if(!indentation){indentation=\"\";}\r\nfunction formatString(text){var lines=splitIntoLines(text);for(var j=1,jLen=lines.length;j<jLen;j++){lines[j]=indentation+lines[j];}\r\nreturn lines.join(newLine);}\r\nif(obj===null){return\"null\";}else if(typeof obj==\"undefined\"){return\"undefined\";}else if(typeof obj==\"string\"){return formatString(obj);}else if(typeof obj==\"object\"&&array_contains(objectsExpanded,obj)){try{expansion=toStr(obj);}catch(ex){expansion=\"Error formatting property. Details: \"+getExceptionStringRep(ex);}\r\nreturn expansion+\" [already expanded]\";}else if((obj instanceof Array)&&depth>0){objectsExpanded.push(obj);expansion=\"[\"+newLine;childDepth=depth-1;childIndentation=indentation+\" \";childLines=[];for(i=0,len=obj.length;i<len;i++){try{childExpansion=doFormat(obj[i],childDepth,childIndentation);childLines.push(childIndentation+childExpansion);}catch(ex){childLines.push(childIndentation+\"Error formatting array member. Details: \"+\r\ngetExceptionStringRep(ex)+\"\");}}\r\nexpansion+=childLines.join(\",\"+newLine)+newLine+indentation+\"]\";return expansion;}else if(Object.prototype.toString.call(obj)==\"[object Date]\"){return obj.toString();}else if(typeof obj==\"object\"&&depth>0){objectsExpanded.push(obj);expansion=\"{\"+newLine;childDepth=depth-1;childIndentation=indentation+\" \";childLines=[];for(i in obj){try{childExpansion=doFormat(obj[i],childDepth,childIndentation);childLines.push(childIndentation+i+\": \"+childExpansion);}catch(ex){childLines.push(childIndentation+i+\": Error formatting property. Details: \"+\r\ngetExceptionStringRep(ex));}}\r\nexpansion+=childLines.join(\",\"+newLine)+newLine+indentation+\"}\";return expansion;}else{return formatString(toStr(obj));}}\r\nreturn doFormat(obj,depth,indentation);}\r\nvar SimpleDateFormat;(function(){var regex=/('[^']*')|(G+|y+|M+|w+|W+|D+|d+|F+|E+|a+|H+|k+|K+|h+|m+|s+|S+|Z+)|([a-zA-Z]+)|([^a-zA-Z']+)/;var monthNames=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];var dayNames=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var TEXT2=0,TEXT3=1,NUMBER=2,YEAR=3,MONTH=4,TIMEZONE=5;var types={G:TEXT2,y:YEAR,M:MONTH,w:NUMBER,W:NUMBER,D:NUMBER,d:NUMBER,F:NUMBER,E:TEXT3,a:TEXT2,H:NUMBER,k:NUMBER,K:NUMBER,h:NUMBER,m:NUMBER,s:NUMBER,S:NUMBER,Z:TIMEZONE};var ONE_DAY=24*60*60*1000;var ONE_WEEK=7*ONE_DAY;var DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK=1;var newDateAtMidnight=function(year,month,day){var d=new Date(year,month,day,0,0,0);d.setMilliseconds(0);return d;};Date.prototype.getDifference=function(date){return this.getTime()-date.getTime();};Date.prototype.isBefore=function(d){return this.getTime()<d.getTime();};Date.prototype.getUTCTime=function(){return Date.UTC(this.getFullYear(),this.getMonth(),this.getDate(),this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds());};Date.prototype.getTimeSince=function(d){return this.getUTCTime()-d.getUTCTime();};Date.prototype.getPreviousSunday=function(){var midday=new Date(this.getFullYear(),this.getMonth(),this.getDate(),12,0,0);var previousSunday=new Date(midday.getTime()-this.getDay()*ONE_DAY);return newDateAtMidnight(previousSunday.getFullYear(),previousSunday.getMonth(),previousSunday.getDate());};Date.prototype.getWeekInYear=function(minimalDaysInFirstWeek){if(isUndefined(this.minimalDaysInFirstWeek)){minimalDaysInFirstWeek=DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK;}\r\nvar previousSunday=this.getPreviousSunday();var startOfYear=newDateAtMidnight(this.getFullYear(),0,1);var numberOfSundays=previousSunday.isBefore(startOfYear)?0:1+Math.floor(previousSunday.getTimeSince(startOfYear)/ONE_WEEK);var numberOfDaysInFirstWeek=7-startOfYear.getDay();var weekInYear=numberOfSundays;if(numberOfDaysInFirstWeek<minimalDaysInFirstWeek){weekInYear--;}\r\nreturn weekInYear;};Date.prototype.getWeekInMonth=function(minimalDaysInFirstWeek){if(isUndefined(this.minimalDaysInFirstWeek)){minimalDaysInFirstWeek=DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK;}\r\nvar previousSunday=this.getPreviousSunday();var startOfMonth=newDateAtMidnight(this.getFullYear(),this.getMonth(),1);var numberOfSundays=previousSunday.isBefore(startOfMonth)?0:1+Math.floor(previousSunday.getTimeSince(startOfMonth)/ONE_WEEK);var numberOfDaysInFirstWeek=7-startOfMonth.getDay();var weekInMonth=numberOfSundays;if(numberOfDaysInFirstWeek>=minimalDaysInFirstWeek){weekInMonth++;}\r\nreturn weekInMonth;};Date.prototype.getDayInYear=function(){var startOfYear=newDateAtMidnight(this.getFullYear(),0,1);return 1+Math.floor(this.getTimeSince(startOfYear)/ONE_DAY);};SimpleDateFormat=function(formatString){this.formatString=formatString;};SimpleDateFormat.prototype.setMinimalDaysInFirstWeek=function(days){this.minimalDaysInFirstWeek=days;};SimpleDateFormat.prototype.getMinimalDaysInFirstWeek=function(){return isUndefined(this.minimalDaysInFirstWeek)?DEFAULT_MINIMAL_DAYS_IN_FIRST_WEEK:this.minimalDaysInFirstWeek;};var padWithZeroes=function(str,len){while(str.length<len){str=\"0\"+str;}\r\nreturn str;};var formatText=function(data,numberOfLetters,minLength){return(numberOfLetters>=4)?data:data.substr(0,Math.max(minLength,numberOfLetters));};var formatNumber=function(data,numberOfLetters){var dataString=\"\"+data;return padWithZeroes(dataString,numberOfLetters);};SimpleDateFormat.prototype.format=function(date){var formattedString=\"\";var result;var searchString=this.formatString;while((result=regex.exec(searchString))){var quotedString=result[1];var patternLetters=result[2];var otherLetters=result[3];var otherCharacters=result[4];if(quotedString){if(quotedString==\"''\"){formattedString+=\"'\";}else{formattedString+=quotedString.substring(1,quotedString.length-1);}}else if(otherLetters){}else if(otherCharacters){formattedString+=otherCharacters;}else if(patternLetters){var patternLetter=patternLetters.charAt(0);var numberOfLetters=patternLetters.length;var rawData=\"\";switch(patternLetter){case\"G\":rawData=\"AD\";break;case\"y\":rawData=date.getFullYear();break;case\"M\":rawData=date.getMonth();break;case\"w\":rawData=date.getWeekInYear(this.getMinimalDaysInFirstWeek());break;case\"W\":rawData=date.getWeekInMonth(this.getMinimalDaysInFirstWeek());break;case\"D\":rawData=date.getDayInYear();break;case\"d\":rawData=date.getDate();break;case\"F\":rawData=1+Math.floor((date.getDate()-1)/7);break;case\"E\":rawData=dayNames[date.getDay()];break;case\"a\":rawData=(date.getHours()>=12)?\"PM\":\"AM\";break;case\"H\":rawData=date.getHours();break;case\"k\":rawData=date.getHours()||24;break;case\"K\":rawData=date.getHours()%12;break;case\"h\":rawData=(date.getHours()%12)||12;break;case\"m\":rawData=date.getMinutes();break;case\"s\":rawData=date.getSeconds();break;case\"S\":rawData=date.getMilliseconds();break;case\"Z\":rawData=date.getTimezoneOffset();break;}\r\nswitch(types[patternLetter]){case TEXT2:formattedString+=formatText(rawData,numberOfLetters,2);break;case TEXT3:formattedString+=formatText(rawData,numberOfLetters,3);break;case NUMBER:formattedString+=formatNumber(rawData,numberOfLetters);break;case YEAR:if(numberOfLetters<=3){var dataString=\"\"+rawData;formattedString+=dataString.substr(2,2);}else{formattedString+=formatNumber(rawData,numberOfLetters);}\r\nbreak;case MONTH:if(numberOfLetters>=3){formattedString+=formatText(monthNames[rawData],numberOfLetters,numberOfLetters);}else{formattedString+=formatNumber(rawData+1,numberOfLetters);}\r\nbreak;case TIMEZONE:var isPositive=(rawData>0);var prefix=isPositive?\"-\":\"+\";var absData=Math.abs(rawData);var hours=\"\"+Math.floor(absData/60);hours=padWithZeroes(hours,2);var minutes=\"\"+(absData%60);minutes=padWithZeroes(minutes,2);formattedString+=prefix+hours+minutes;break;}}\r\nsearchString=searchString.substr(result.index+result[0].length);}\r\nreturn formattedString;};})();log4javascript.SimpleDateFormat=SimpleDateFormat;function PatternLayout(pattern){if(pattern){this.pattern=pattern;}else{this.pattern=PatternLayout.DEFAULT_CONVERSION_PATTERN;}\r\nthis.customFields=[];}\r\nPatternLayout.TTCC_CONVERSION_PATTERN=\"%r %p %c - %m%n\";PatternLayout.DEFAULT_CONVERSION_PATTERN=\"%m%n\";PatternLayout.ISO8601_DATEFORMAT=\"yyyy-MM-dd HH:mm:ss,SSS\";PatternLayout.DATETIME_DATEFORMAT=\"dd MMM yyyy HH:mm:ss,SSS\";PatternLayout.ABSOLUTETIME_DATEFORMAT=\"HH:mm:ss,SSS\";PatternLayout.prototype=new Layout();PatternLayout.prototype.format=function(loggingEvent){var regex=/%(-?[0-9]+)?(\\.?[0-9]+)?([acdfmMnpr%])(\\{([^\\}]+)\\})?|([^%]+)/;var formattedString=\"\";var result;var searchString=this.pattern;while((result=regex.exec(searchString))){var matchedString=result[0];var padding=result[1];var truncation=result[2];var conversionCharacter=result[3];var specifier=result[5];var text=result[6];if(text){formattedString+=\"\"+text;}else{var replacement=\"\";switch(conversionCharacter){case\"a\":case\"m\":var depth=0;if(specifier){depth=parseInt(specifier,10);if(isNaN(depth)){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character '\"+conversionCharacter+\"' - should be a number\");depth=0;}}\r\nvar messages=(conversionCharacter===\"a\")?loggingEvent.messages[0]:loggingEvent.messages;for(var i=0,len=messages.length;i<len;i++){if(i>0&&(replacement.charAt(replacement.length-1)!==\" \")){replacement+=\" \";}\r\nif(depth===0){replacement+=messages[i];}else{replacement+=formatObjectExpansion(messages[i],depth);}}\r\nbreak;case\"c\":var loggerName=loggingEvent.logger.name;if(specifier){var precision=parseInt(specifier,10);var loggerNameBits=loggingEvent.logger.name.split(\".\");if(precision>=loggerNameBits.length){replacement=loggerName;}else{replacement=loggerNameBits.slice(loggerNameBits.length-precision).join(\".\");}}else{replacement=loggerName;}\r\nbreak;case\"d\":var dateFormat=PatternLayout.ISO8601_DATEFORMAT;if(specifier){dateFormat=specifier;if(dateFormat==\"ISO8601\"){dateFormat=PatternLayout.ISO8601_DATEFORMAT;}else if(dateFormat==\"ABSOLUTE\"){dateFormat=PatternLayout.ABSOLUTETIME_DATEFORMAT;}else if(dateFormat==\"DATE\"){dateFormat=PatternLayout.DATETIME_DATEFORMAT;}}\r\nreplacement=(new SimpleDateFormat(dateFormat)).format(loggingEvent.timeStamp);break;case\"f\":if(this.hasCustomFields()){var fieldIndex=0;if(specifier){fieldIndex=parseInt(specifier,10);if(isNaN(fieldIndex)){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character 'f' - should be a number\");}else if(fieldIndex===0){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character 'f' - must be greater than zero\");}else if(fieldIndex>this.customFields.length){handleError(\"PatternLayout.format: invalid specifier '\"+\r\nspecifier+\"' for conversion character 'f' - there aren't that many custom fields\");}else{fieldIndex=fieldIndex-1;}}\r\nvar val=this.customFields[fieldIndex].value;if(typeof val==\"function\"){val=val(this,loggingEvent);}\r\nreplacement=val;}\r\nbreak;case\"n\":replacement=newLine;break;case\"p\":replacement=loggingEvent.level.name;break;case\"r\":replacement=\"\"+loggingEvent.timeStamp.getDifference(applicationStartDate);break;case\"%\":replacement=\"%\";break;default:replacement=matchedString;break;}\r\nvar l;if(truncation){l=parseInt(truncation.substr(1),10);var strLen=replacement.length;if(l<strLen){replacement=replacement.substring(strLen-l,strLen);}}\r\nif(padding){if(padding.charAt(0)==\"-\"){l=parseInt(padding.substr(1),10);while(replacement.length<l){replacement+=\" \";}}else{l=parseInt(padding,10);while(replacement.length<l){replacement=\" \"+replacement;}}}\r\nformattedString+=replacement;}\r\nsearchString=searchString.substr(result.index+result[0].length);}\r\nreturn formattedString;};PatternLayout.prototype.ignoresThrowable=function(){return true;};PatternLayout.prototype.toString=function(){return\"PatternLayout\";};log4javascript.PatternLayout=PatternLayout;function AlertAppender(){}\r\nAlertAppender.prototype=new Appender();AlertAppender.prototype.layout=new SimpleLayout();AlertAppender.prototype.append=function(loggingEvent){alert(this.getLayout().formatWithException(loggingEvent));};AlertAppender.prototype.toString=function(){return\"AlertAppender\";};log4javascript.AlertAppender=AlertAppender;function BrowserConsoleAppender(){}\r\nBrowserConsoleAppender.prototype=new log4javascript.Appender();BrowserConsoleAppender.prototype.layout=new NullLayout();BrowserConsoleAppender.prototype.threshold=Level.DEBUG;BrowserConsoleAppender.prototype.append=function(loggingEvent){var appender=this;var getFormattedMessage=function(concatenate){var formattedMessage=appender.getLayout().formatWithException(loggingEvent);return(typeof formattedMessage==\"string\")?(concatenate?formattedMessage:[formattedMessage]):(concatenate?formattedMessage.join(\" \"):formattedMessage);};var console=window.console;if(console&&console.log){var consoleMethodName;if(console.debug&&Level.DEBUG.isGreaterOrEqual(loggingEvent.level)){consoleMethodName=\"debug\";}else if(console.info&&Level.INFO.equals(loggingEvent.level)){consoleMethodName=\"info\";}else if(console.warn&&Level.WARN.equals(loggingEvent.level)){consoleMethodName=\"warn\";}else if(console.error&&loggingEvent.level.isGreaterOrEqual(Level.ERROR)){consoleMethodName=\"error\";}else{consoleMethodName=\"log\";}\r\nif(typeof console[consoleMethodName].apply==\"function\"){console[consoleMethodName].apply(console,getFormattedMessage(false));}else{console[consoleMethodName](getFormattedMessage(true));}}else if((typeof opera!=\"undefined\")&&opera.postError){opera.postError(getFormattedMessage(true));}};BrowserConsoleAppender.prototype.group=function(name){if(window.console&&window.console.group){window.console.group(name);}};BrowserConsoleAppender.prototype.groupEnd=function(){if(window.console&&window.console.groupEnd){window.console.groupEnd();}};BrowserConsoleAppender.prototype.toString=function(){return\"BrowserConsoleAppender\";};log4javascript.BrowserConsoleAppender=BrowserConsoleAppender;var xhrFactory=function(){return new XMLHttpRequest();};var xmlHttpFactories=[xhrFactory,function(){return new ActiveXObject(\"Msxml2.XMLHTTP\");},function(){return new ActiveXObject(\"Microsoft.XMLHTTP\");}];var withCredentialsSupported=false;var getXmlHttp=function(errorHandler){var xmlHttp=null,factory;for(var i=0,len=xmlHttpFactories.length;i<len;i++){factory=xmlHttpFactories[i];try{xmlHttp=factory();withCredentialsSupported=(factory==xhrFactory&&(\"withCredentials\"in xmlHttp));getXmlHttp=factory;return xmlHttp;}catch(e){}}\r\nif(errorHandler){errorHandler();}else{handleError(\"getXmlHttp: unable to obtain XMLHttpRequest object\");}};function isHttpRequestSuccessful(xmlHttp){return isUndefined(xmlHttp.status)||xmlHttp.status===0||(xmlHttp.status>=200&&xmlHttp.status<300)||xmlHttp.status==1223;}\r\nfunction AjaxAppender(url,withCredentials){var appender=this;var isSupported=true;if(!url){handleError(\"AjaxAppender: URL must be specified in constructor\");isSupported=false;}\r\nvar timed=this.defaults.timed;var waitForResponse=this.defaults.waitForResponse;var batchSize=this.defaults.batchSize;var timerInterval=this.defaults.timerInterval;var requestSuccessCallback=this.defaults.requestSuccessCallback;var failCallback=this.defaults.failCallback;var postVarName=this.defaults.postVarName;var sendAllOnUnload=this.defaults.sendAllOnUnload;var contentType=this.defaults.contentType;var sessionId=null;var queuedLoggingEvents=[];var queuedRequests=[];var headers=[];var sending=false;var initialized=false;function checkCanConfigure(configOptionName){if(initialized){handleError(\"AjaxAppender: configuration option '\"+\r\nconfigOptionName+\"' may not be set after the appender has been initialized\");return false;}\r\nreturn true;}\r\nthis.getSessionId=function(){return sessionId;};this.setSessionId=function(sessionIdParam){sessionId=extractStringFromParam(sessionIdParam,null);this.layout.setCustomField(\"sessionid\",sessionId);};this.setLayout=function(layoutParam){if(checkCanConfigure(\"layout\")){this.layout=layoutParam;if(sessionId!==null){this.setSessionId(sessionId);}}};this.isTimed=function(){return timed;};this.setTimed=function(timedParam){if(checkCanConfigure(\"timed\")){timed=bool(timedParam);}};this.getTimerInterval=function(){return timerInterval;};this.setTimerInterval=function(timerIntervalParam){if(checkCanConfigure(\"timerInterval\")){timerInterval=extractIntFromParam(timerIntervalParam,timerInterval);}};this.isWaitForResponse=function(){return waitForResponse;};this.setWaitForResponse=function(waitForResponseParam){if(checkCanConfigure(\"waitForResponse\")){waitForResponse=bool(waitForResponseParam);}};this.getBatchSize=function(){return batchSize;};this.setBatchSize=function(batchSizeParam){if(checkCanConfigure(\"batchSize\")){batchSize=extractIntFromParam(batchSizeParam,batchSize);}};this.isSendAllOnUnload=function(){return sendAllOnUnload;};this.setSendAllOnUnload=function(sendAllOnUnloadParam){if(checkCanConfigure(\"sendAllOnUnload\")){sendAllOnUnload=extractBooleanFromParam(sendAllOnUnloadParam,sendAllOnUnload);}};this.setRequestSuccessCallback=function(requestSuccessCallbackParam){requestSuccessCallback=extractFunctionFromParam(requestSuccessCallbackParam,requestSuccessCallback);};this.setFailCallback=function(failCallbackParam){failCallback=extractFunctionFromParam(failCallbackParam,failCallback);};this.getPostVarName=function(){return postVarName;};this.setPostVarName=function(postVarNameParam){if(checkCanConfigure(\"postVarName\")){postVarName=extractStringFromParam(postVarNameParam,postVarName);}};this.getHeaders=function(){return headers;};this.addHeader=function(name,value){if(name.toLowerCase()==\"content-type\"){contentType=value;}else{headers.push({name:name,value:value});}};function sendAll(){if(isSupported&&enabled){sending=true;var currentRequestBatch;if(waitForResponse){if(queuedRequests.length>0){currentRequestBatch=queuedRequests.shift();sendRequest(preparePostData(currentRequestBatch),sendAll);}else{sending=false;if(timed){scheduleSending();}}}else{while((currentRequestBatch=queuedRequests.shift())){sendRequest(preparePostData(currentRequestBatch));}\r\nsending=false;if(timed){scheduleSending();}}}}\r\nthis.sendAll=sendAll;function sendAllRemaining(){var sendingAnything=false;if(isSupported&&enabled){var actualBatchSize=appender.getLayout().allowBatching()?batchSize:1;var currentLoggingEvent;var batchedLoggingEvents=[];while((currentLoggingEvent=queuedLoggingEvents.shift())){batchedLoggingEvents.push(currentLoggingEvent);if(queuedLoggingEvents.length>=actualBatchSize){queuedRequests.push(batchedLoggingEvents);batchedLoggingEvents=[];}}\r\nif(batchedLoggingEvents.length>0){queuedRequests.push(batchedLoggingEvents);}\r\nsendingAnything=(queuedRequests.length>0);waitForResponse=false;timed=false;sendAll();}\r\nreturn sendingAnything;}\r\nthis.sendAllRemaining=sendAllRemaining;function preparePostData(batchedLoggingEvents){var formattedMessages=[];var currentLoggingEvent;var postData=\"\";while((currentLoggingEvent=batchedLoggingEvents.shift())){formattedMessages.push(appender.getLayout().formatWithException(currentLoggingEvent));}\r\nif(batchedLoggingEvents.length==1){postData=formattedMessages.join(\"\");}else{postData=appender.getLayout().batchHeader+\r\nformattedMessages.join(appender.getLayout().batchSeparator)+\r\nappender.getLayout().batchFooter;}\r\nif(contentType==appender.defaults.contentType){postData=appender.getLayout().returnsPostData?postData:urlEncode(postVarName)+\"=\"+urlEncode(postData);if(postData.length>0){postData+=\"&\";}\r\npostData+=\"layout=\"+urlEncode(appender.getLayout().toString());}\r\nreturn postData;}\r\nfunction scheduleSending(){window.setTimeout(sendAll,timerInterval);}\r\nfunction xmlHttpErrorHandler(){var msg=\"AjaxAppender: could not create XMLHttpRequest object. AjaxAppender disabled\";handleError(msg);isSupported=false;if(failCallback){failCallback(msg);}}\r\nfunction sendRequest(postData,successCallback){try{var xmlHttp=getXmlHttp(xmlHttpErrorHandler);if(isSupported){xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4){if(isHttpRequestSuccessful(xmlHttp)){if(requestSuccessCallback){requestSuccessCallback(xmlHttp);}\r\nif(successCallback){successCallback(xmlHttp);}}else{var msg=\"AjaxAppender.append: XMLHttpRequest request to URL \"+\r\nurl+\" returned status code \"+xmlHttp.status;handleError(msg);if(failCallback){failCallback(msg);}}\r\nxmlHttp.onreadystatechange=emptyFunction;xmlHttp=null;}};xmlHttp.open(\"POST\",url,true);if(withCredentials&&withCredentialsSupported){xmlHttp.withCredentials=true;}\r\ntry{for(var i=0,header;header=headers[i++];){xmlHttp.setRequestHeader(header.name,header.value);}\r\nxmlHttp.setRequestHeader(\"Content-Type\",contentType);}catch(headerEx){var msg=\"AjaxAppender.append: your browser's XMLHttpRequest implementation\"+\" does not support setRequestHeader, therefore cannot post data. AjaxAppender disabled\";handleError(msg);isSupported=false;if(failCallback){failCallback(msg);}\r\nreturn;}\r\nxmlHttp.send(postData);}}catch(ex){var errMsg=\"AjaxAppender.append: error sending log message to \"+url;handleError(errMsg,ex);isSupported=false;if(failCallback){failCallback(errMsg+\". Details: \"+getExceptionStringRep(ex));}}}\r\nthis.append=function(loggingEvent){if(isSupported){if(!initialized){init();}\r\nqueuedLoggingEvents.push(loggingEvent);var actualBatchSize=this.getLayout().allowBatching()?batchSize:1;if(queuedLoggingEvents.length>=actualBatchSize){var currentLoggingEvent;var batchedLoggingEvents=[];while((currentLoggingEvent=queuedLoggingEvents.shift())){batchedLoggingEvents.push(currentLoggingEvent);}\r\nqueuedRequests.push(batchedLoggingEvents);if(!timed&&(!waitForResponse||(waitForResponse&&!sending))){sendAll();}}}};function init(){initialized=true;if(sendAllOnUnload){var oldBeforeUnload=window.onbeforeunload;window.onbeforeunload=function(){if(oldBeforeUnload){oldBeforeUnload();}\r\nsendAllRemaining();};}\r\nif(timed){scheduleSending();}}}\r\nAjaxAppender.prototype=new Appender();AjaxAppender.prototype.defaults={waitForResponse:false,timed:false,timerInterval:1000,batchSize:1,sendAllOnUnload:false,requestSuccessCallback:null,failCallback:null,postVarName:\"data\",contentType:\"application/x-www-form-urlencoded\"};AjaxAppender.prototype.layout=new HttpPostDataLayout();AjaxAppender.prototype.toString=function(){return\"AjaxAppender\";};log4javascript.AjaxAppender=AjaxAppender;function setCookie(name,value,days,path){var expires;path=path?\"; path=\"+path:\"\";if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires=\"; expires=\"+date.toGMTString();}else{expires=\"\";}\r\ndocument.cookie=escape(name)+\"=\"+escape(value)+expires+path;}\r\nfunction getCookie(name){var nameEquals=escape(name)+\"=\";var ca=document.cookie.split(\";\");for(var i=0,len=ca.length;i<len;i++){var c=ca[i];while(c.charAt(0)===\" \"){c=c.substring(1,c.length);}\r\nif(c.indexOf(nameEquals)===0){return unescape(c.substring(nameEquals.length,c.length));}}\r\nreturn null;}\r\nfunction getBaseUrl(){var scripts=document.getElementsByTagName(\"script\");for(var i=0,len=scripts.length;i<len;++i){if(scripts[i].src.indexOf(\"log4javascript\")!=-1){var lastSlash=scripts[i].src.lastIndexOf(\"/\");return(lastSlash==-1)?\"\":scripts[i].src.substr(0,lastSlash+1);}}\r\nreturn null;}\r\nfunction isLoaded(win){try{return bool(win.loaded);}catch(ex){return false;}}\r\nvar ConsoleAppender;(function(){var getConsoleHtmlLines=function(){return['<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">','<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\" xml:lang=\"en\">','<head>','<title>log4javascript</title>','<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />','<!-- Make IE8 behave like IE7, having gone to all the trouble of making IE work -->','<meta http-equiv=\"X-UA-Compatible\" content=\"IE=7\" />','<script type=\"text/javascript\">var isIe = false, isIePre7 = false;</script>','<!--[if IE]><script type=\"text/javascript\">isIe = true</script><![endif]-->','<!--[if lt IE 7]><script type=\"text/javascript\">isIePre7 = true</script><![endif]-->','<script type=\"text/javascript\">','//<![CDATA[','var loggingEnabled=true;var logQueuedEventsTimer=null;var logEntries=[];var logEntriesAndSeparators=[];var logItems=[];var renderDelay=100;var unrenderedLogItemsExist=false;var rootGroup,currentGroup=null;var loaded=false;var currentLogItem=null;var logMainContainer;function copyProperties(obj,props){for(var i in props){obj[i]=props[i];}}','function LogItem(){}','LogItem.prototype={mainContainer:null,wrappedContainer:null,unwrappedContainer:null,group:null,appendToLog:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].appendToLog();}','this.group.update();},doRemove:function(doUpdate,removeFromGroup){if(this.rendered){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].remove();}','this.unwrappedElementContainer=null;this.wrappedElementContainer=null;this.mainElementContainer=null;}','if(this.group&&removeFromGroup){this.group.removeChild(this,doUpdate);}','if(this===currentLogItem){currentLogItem=null;}},remove:function(doUpdate,removeFromGroup){this.doRemove(doUpdate,removeFromGroup);},render:function(){},accept:function(visitor){visitor.visit(this);},getUnwrappedDomContainer:function(){return this.group.unwrappedElementContainer.contentDiv;},getWrappedDomContainer:function(){return this.group.wrappedElementContainer.contentDiv;},getMainDomContainer:function(){return this.group.mainElementContainer.contentDiv;}};LogItem.serializedItemKeys={LOG_ENTRY:0,GROUP_START:1,GROUP_END:2};function LogItemContainerElement(){}','LogItemContainerElement.prototype={appendToLog:function(){var insertBeforeFirst=(newestAtTop&&this.containerDomNode.hasChildNodes());if(insertBeforeFirst){this.containerDomNode.insertBefore(this.mainDiv,this.containerDomNode.firstChild);}else{this.containerDomNode.appendChild(this.mainDiv);}}};function SeparatorElementContainer(containerDomNode){this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"separator\";this.mainDiv.innerHTML=\" \";}','SeparatorElementContainer.prototype=new LogItemContainerElement();SeparatorElementContainer.prototype.remove=function(){this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;};function Separator(){this.rendered=false;}','Separator.prototype=new LogItem();copyProperties(Separator.prototype,{render:function(){var containerDomNode=this.group.contentDiv;if(isIe){this.unwrappedElementContainer=new SeparatorElementContainer(this.getUnwrappedDomContainer());this.wrappedElementContainer=new SeparatorElementContainer(this.getWrappedDomContainer());this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{this.mainElementContainer=new SeparatorElementContainer(this.getMainDomContainer());this.elementContainers=[this.mainElementContainer];}','this.content=this.formattedMessage;this.rendered=true;}});function GroupElementContainer(group,containerDomNode,isRoot,isWrapped){this.group=group;this.containerDomNode=containerDomNode;this.isRoot=isRoot;this.isWrapped=isWrapped;this.expandable=false;if(this.isRoot){if(isIe){this.contentDiv=logMainContainer.appendChild(document.createElement(\"div\"));this.contentDiv.id=this.isWrapped?\"log_wrapped\":\"log_unwrapped\";}else{this.contentDiv=logMainContainer;}}else{var groupElementContainer=this;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"group\";this.headingDiv=this.mainDiv.appendChild(document.createElement(\"div\"));this.headingDiv.className=\"groupheading\";this.expander=this.headingDiv.appendChild(document.createElement(\"span\"));this.expander.className=\"expander unselectable greyedout\";this.expander.unselectable=true;var expanderText=this.group.expanded?\"-\":\"+\";this.expanderTextNode=this.expander.appendChild(document.createTextNode(expanderText));this.headingDiv.appendChild(document.createTextNode(\" \"+this.group.name));this.contentDiv=this.mainDiv.appendChild(document.createElement(\"div\"));var contentCssClass=this.group.expanded?\"expanded\":\"collapsed\";this.contentDiv.className=\"groupcontent \"+contentCssClass;this.expander.onclick=function(){if(groupElementContainer.group.expandable){groupElementContainer.group.toggleExpanded();}};}}','GroupElementContainer.prototype=new LogItemContainerElement();copyProperties(GroupElementContainer.prototype,{toggleExpanded:function(){if(!this.isRoot){var oldCssClass,newCssClass,expanderText;if(this.group.expanded){newCssClass=\"expanded\";oldCssClass=\"collapsed\";expanderText=\"-\";}else{newCssClass=\"collapsed\";oldCssClass=\"expanded\";expanderText=\"+\";}','replaceClass(this.contentDiv,newCssClass,oldCssClass);this.expanderTextNode.nodeValue=expanderText;}},remove:function(){if(!this.isRoot){this.headingDiv=null;this.expander.onclick=null;this.expander=null;this.expanderTextNode=null;this.contentDiv=null;this.containerDomNode=null;this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;}},reverseChildren:function(){var node=null;var childDomNodes=[];while((node=this.contentDiv.firstChild)){this.contentDiv.removeChild(node);childDomNodes.push(node);}','while((node=childDomNodes.pop())){this.contentDiv.appendChild(node);}},update:function(){if(!this.isRoot){if(this.group.expandable){removeClass(this.expander,\"greyedout\");}else{addClass(this.expander,\"greyedout\");}}},clear:function(){if(this.isRoot){this.contentDiv.innerHTML=\"\";}}});function Group(name,isRoot,initiallyExpanded){this.name=name;this.group=null;this.isRoot=isRoot;this.initiallyExpanded=initiallyExpanded;this.elementContainers=[];this.children=[];this.expanded=initiallyExpanded;this.rendered=false;this.expandable=false;}','Group.prototype=new LogItem();copyProperties(Group.prototype,{addChild:function(logItem){this.children.push(logItem);logItem.group=this;},render:function(){if(isIe){var unwrappedDomContainer,wrappedDomContainer;if(this.isRoot){unwrappedDomContainer=logMainContainer;wrappedDomContainer=logMainContainer;}else{unwrappedDomContainer=this.getUnwrappedDomContainer();wrappedDomContainer=this.getWrappedDomContainer();}','this.unwrappedElementContainer=new GroupElementContainer(this,unwrappedDomContainer,this.isRoot,false);this.wrappedElementContainer=new GroupElementContainer(this,wrappedDomContainer,this.isRoot,true);this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{var mainDomContainer=this.isRoot?logMainContainer:this.getMainDomContainer();this.mainElementContainer=new GroupElementContainer(this,mainDomContainer,this.isRoot,false);this.elementContainers=[this.mainElementContainer];}','this.rendered=true;},toggleExpanded:function(){this.expanded=!this.expanded;for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].toggleExpanded();}},expand:function(){if(!this.expanded){this.toggleExpanded();}},accept:function(visitor){visitor.visitGroup(this);},reverseChildren:function(){if(this.rendered){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].reverseChildren();}}},update:function(){var previouslyExpandable=this.expandable;this.expandable=(this.children.length!==0);if(this.expandable!==previouslyExpandable){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].update();}}},flatten:function(){var visitor=new GroupFlattener();this.accept(visitor);return visitor.logEntriesAndSeparators;},removeChild:function(child,doUpdate){array_remove(this.children,child);child.group=null;if(doUpdate){this.update();}},remove:function(doUpdate,removeFromGroup){for(var i=0,len=this.children.length;i<len;i++){this.children[i].remove(false,false);}','this.children=[];this.update();if(this===currentGroup){currentGroup=this.group;}','this.doRemove(doUpdate,removeFromGroup);},serialize:function(items){items.push([LogItem.serializedItemKeys.GROUP_START,this.name]);for(var i=0,len=this.children.length;i<len;i++){this.children[i].serialize(items);}','if(this!==currentGroup){items.push([LogItem.serializedItemKeys.GROUP_END]);}},clear:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].clear();}}});function LogEntryElementContainer(){}','LogEntryElementContainer.prototype=new LogItemContainerElement();copyProperties(LogEntryElementContainer.prototype,{remove:function(){this.doRemove();},doRemove:function(){this.mainDiv.parentNode.removeChild(this.mainDiv);this.mainDiv=null;this.contentElement=null;this.containerDomNode=null;},setContent:function(content,wrappedContent){if(content===this.formattedMessage){this.contentElement.innerHTML=\"\";this.contentElement.appendChild(document.createTextNode(this.formattedMessage));}else{this.contentElement.innerHTML=content;}},setSearchMatch:function(isMatch){var oldCssClass=isMatch?\"searchnonmatch\":\"searchmatch\";var newCssClass=isMatch?\"searchmatch\":\"searchnonmatch\";replaceClass(this.mainDiv,newCssClass,oldCssClass);},clearSearch:function(){removeClass(this.mainDiv,\"searchmatch\");removeClass(this.mainDiv,\"searchnonmatch\");}});function LogEntryWrappedElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.appendChild(document.createTextNode(this.logEntry.formattedMessage));this.mainDiv.className=\"logentry wrapped \"+this.logEntry.level;this.contentElement=this.mainDiv;}','LogEntryWrappedElementContainer.prototype=new LogEntryElementContainer();LogEntryWrappedElementContainer.prototype.setContent=function(content,wrappedContent){if(content===this.formattedMessage){this.contentElement.innerHTML=\"\";this.contentElement.appendChild(document.createTextNode(this.formattedMessage));}else{this.contentElement.innerHTML=wrappedContent;}};function LogEntryUnwrappedElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"logentry unwrapped \"+this.logEntry.level;this.pre=this.mainDiv.appendChild(document.createElement(\"pre\"));this.pre.appendChild(document.createTextNode(this.logEntry.formattedMessage));this.pre.className=\"unwrapped\";this.contentElement=this.pre;}','LogEntryUnwrappedElementContainer.prototype=new LogEntryElementContainer();LogEntryUnwrappedElementContainer.prototype.remove=function(){this.doRemove();this.pre=null;};function LogEntryMainElementContainer(logEntry,containerDomNode){this.logEntry=logEntry;this.containerDomNode=containerDomNode;this.mainDiv=document.createElement(\"div\");this.mainDiv.className=\"logentry nonielogentry \"+this.logEntry.level;this.contentElement=this.mainDiv.appendChild(document.createElement(\"span\"));this.contentElement.appendChild(document.createTextNode(this.logEntry.formattedMessage));}','LogEntryMainElementContainer.prototype=new LogEntryElementContainer();function LogEntry(level,formattedMessage){this.level=level;this.formattedMessage=formattedMessage;this.rendered=false;}','LogEntry.prototype=new LogItem();copyProperties(LogEntry.prototype,{render:function(){var logEntry=this;var containerDomNode=this.group.contentDiv;if(isIe){this.formattedMessage=this.formattedMessage.replace(/\\\\r\\\\n/g,\"\\\\r\");this.unwrappedElementContainer=new LogEntryUnwrappedElementContainer(this,this.getUnwrappedDomContainer());this.wrappedElementContainer=new LogEntryWrappedElementContainer(this,this.getWrappedDomContainer());this.elementContainers=[this.unwrappedElementContainer,this.wrappedElementContainer];}else{this.mainElementContainer=new LogEntryMainElementContainer(this,this.getMainDomContainer());this.elementContainers=[this.mainElementContainer];}','this.content=this.formattedMessage;this.rendered=true;},setContent:function(content,wrappedContent){if(content!=this.content){if(isIe&&(content!==this.formattedMessage)){content=content.replace(/\\\\r\\\\n/g,\"\\\\r\");}','for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].setContent(content,wrappedContent);}','this.content=content;}},getSearchMatches:function(){var matches=[];var i,len;if(isIe){var unwrappedEls=getElementsByClass(this.unwrappedElementContainer.mainDiv,\"searchterm\",\"span\");var wrappedEls=getElementsByClass(this.wrappedElementContainer.mainDiv,\"searchterm\",\"span\");for(i=0,len=unwrappedEls.length;i<len;i++){matches[i]=new Match(this.level,null,unwrappedEls[i],wrappedEls[i]);}}else{var els=getElementsByClass(this.mainElementContainer.mainDiv,\"searchterm\",\"span\");for(i=0,len=els.length;i<len;i++){matches[i]=new Match(this.level,els[i]);}}','return matches;},setSearchMatch:function(isMatch){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].setSearchMatch(isMatch);}},clearSearch:function(){for(var i=0,len=this.elementContainers.length;i<len;i++){this.elementContainers[i].clearSearch();}},accept:function(visitor){visitor.visitLogEntry(this);},serialize:function(items){items.push([LogItem.serializedItemKeys.LOG_ENTRY,this.level,this.formattedMessage]);}});function LogItemVisitor(){}','LogItemVisitor.prototype={visit:function(logItem){},visitParent:function(logItem){if(logItem.group){logItem.group.accept(this);}},visitChildren:function(logItem){for(var i=0,len=logItem.children.length;i<len;i++){logItem.children[i].accept(this);}},visitLogEntry:function(logEntry){this.visit(logEntry);},visitSeparator:function(separator){this.visit(separator);},visitGroup:function(group){this.visit(group);}};function GroupFlattener(){this.logEntriesAndSeparators=[];}','GroupFlattener.prototype=new LogItemVisitor();GroupFlattener.prototype.visitGroup=function(group){this.visitChildren(group);};GroupFlattener.prototype.visitLogEntry=function(logEntry){this.logEntriesAndSeparators.push(logEntry);};GroupFlattener.prototype.visitSeparator=function(separator){this.logEntriesAndSeparators.push(separator);};window.onload=function(){if(location.search){var queryBits=unescape(location.search).substr(1).split(\"&\"),nameValueBits;for(var i=0,len=queryBits.length;i<len;i++){nameValueBits=queryBits[i].split(\"=\");if(nameValueBits[0]==\"log4javascript_domain\"){document.domain=nameValueBits[1];break;}}}','logMainContainer=$(\"log\");if(isIePre7){addClass(logMainContainer,\"oldIe\");}','rootGroup=new Group(\"root\",true);rootGroup.render();currentGroup=rootGroup;setCommandInputWidth();setLogContainerHeight();toggleLoggingEnabled();toggleSearchEnabled();toggleSearchFilter();toggleSearchHighlight();applyFilters();checkAllLevels();toggleWrap();toggleNewestAtTop();toggleScrollToLatest();renderQueuedLogItems();loaded=true;$(\"command\").value=\"\";$(\"command\").autocomplete=\"off\";$(\"command\").onkeydown=function(evt){evt=getEvent(evt);if(evt.keyCode==10||evt.keyCode==13){evalCommandLine();stopPropagation(evt);}else if(evt.keyCode==27){this.value=\"\";this.focus();}else if(evt.keyCode==38&&commandHistory.length>0){currentCommandIndex=Math.max(0,currentCommandIndex-1);this.value=commandHistory[currentCommandIndex];moveCaretToEnd(this);}else if(evt.keyCode==40&&commandHistory.length>0){currentCommandIndex=Math.min(commandHistory.length-1,currentCommandIndex+1);this.value=commandHistory[currentCommandIndex];moveCaretToEnd(this);}};$(\"command\").onkeypress=function(evt){evt=getEvent(evt);if(evt.keyCode==38&&commandHistory.length>0&&evt.preventDefault){evt.preventDefault();}};$(\"command\").onkeyup=function(evt){evt=getEvent(evt);if(evt.keyCode==27&&evt.preventDefault){evt.preventDefault();this.focus();}};document.onkeydown=function keyEventHandler(evt){evt=getEvent(evt);switch(evt.keyCode){case 69:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){evalLastCommand();cancelKeyEvent(evt);return false;}','break;case 75:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){focusSearch();cancelKeyEvent(evt);return false;}','break;case 40:case 76:if(evt.shiftKey&&(evt.ctrlKey||evt.metaKey)){focusCommandLine();cancelKeyEvent(evt);return false;}','break;}};setTimeout(setLogContainerHeight,20);setShowCommandLine(showCommandLine);doSearch();};window.onunload=function(){if(mainWindowExists()){appender.unload();}','appender=null;};function toggleLoggingEnabled(){setLoggingEnabled($(\"enableLogging\").checked);}','function setLoggingEnabled(enable){loggingEnabled=enable;}','var appender=null;function setAppender(appenderParam){appender=appenderParam;}','function setShowCloseButton(showCloseButton){$(\"closeButton\").style.display=showCloseButton?\"inline\":\"none\";}','function setShowHideButton(showHideButton){$(\"hideButton\").style.display=showHideButton?\"inline\":\"none\";}','var newestAtTop=false;function LogItemContentReverser(){}','LogItemContentReverser.prototype=new LogItemVisitor();LogItemContentReverser.prototype.visitGroup=function(group){group.reverseChildren();this.visitChildren(group);};function setNewestAtTop(isNewestAtTop){var oldNewestAtTop=newestAtTop;var i,iLen,j,jLen;newestAtTop=Boolean(isNewestAtTop);if(oldNewestAtTop!=newestAtTop){var visitor=new LogItemContentReverser();rootGroup.accept(visitor);if(currentSearch){var currentMatch=currentSearch.matches[currentMatchIndex];var matchIndex=0;var matches=[];var actOnLogEntry=function(logEntry){var logEntryMatches=logEntry.getSearchMatches();for(j=0,jLen=logEntryMatches.length;j<jLen;j++){matches[matchIndex]=logEntryMatches[j];if(currentMatch&&logEntryMatches[j].equals(currentMatch)){currentMatchIndex=matchIndex;}','matchIndex++;}};if(newestAtTop){for(i=logEntries.length-1;i>=0;i--){actOnLogEntry(logEntries[i]);}}else{for(i=0,iLen=logEntries.length;i<iLen;i++){actOnLogEntry(logEntries[i]);}}','currentSearch.matches=matches;if(currentMatch){currentMatch.setCurrent();}}else if(scrollToLatest){doScrollToLatest();}}','$(\"newestAtTop\").checked=isNewestAtTop;}','function toggleNewestAtTop(){var isNewestAtTop=$(\"newestAtTop\").checked;setNewestAtTop(isNewestAtTop);}','var scrollToLatest=true;function setScrollToLatest(isScrollToLatest){scrollToLatest=isScrollToLatest;if(scrollToLatest){doScrollToLatest();}','$(\"scrollToLatest\").checked=isScrollToLatest;}','function toggleScrollToLatest(){var isScrollToLatest=$(\"scrollToLatest\").checked;setScrollToLatest(isScrollToLatest);}','function doScrollToLatest(){var l=logMainContainer;if(typeof l.scrollTop!=\"undefined\"){if(newestAtTop){l.scrollTop=0;}else{var latestLogEntry=l.lastChild;if(latestLogEntry){l.scrollTop=l.scrollHeight;}}}}','var closeIfOpenerCloses=true;function setCloseIfOpenerCloses(isCloseIfOpenerCloses){closeIfOpenerCloses=isCloseIfOpenerCloses;}','var maxMessages=null;function setMaxMessages(max){maxMessages=max;pruneLogEntries();}','var showCommandLine=false;function setShowCommandLine(isShowCommandLine){showCommandLine=isShowCommandLine;if(loaded){$(\"commandLine\").style.display=showCommandLine?\"block\":\"none\";setCommandInputWidth();setLogContainerHeight();}}','function focusCommandLine(){if(loaded){$(\"command\").focus();}}','function focusSearch(){if(loaded){$(\"searchBox\").focus();}}','function getLogItems(){var items=[];for(var i=0,len=logItems.length;i<len;i++){logItems[i].serialize(items);}','return items;}','function setLogItems(items){var loggingReallyEnabled=loggingEnabled;loggingEnabled=true;for(var i=0,len=items.length;i<len;i++){switch(items[i][0]){case LogItem.serializedItemKeys.LOG_ENTRY:log(items[i][1],items[i][2]);break;case LogItem.serializedItemKeys.GROUP_START:group(items[i][1]);break;case LogItem.serializedItemKeys.GROUP_END:groupEnd();break;}}','loggingEnabled=loggingReallyEnabled;}','function log(logLevel,formattedMessage){if(loggingEnabled){var logEntry=new LogEntry(logLevel,formattedMessage);logEntries.push(logEntry);logEntriesAndSeparators.push(logEntry);logItems.push(logEntry);currentGroup.addChild(logEntry);if(loaded){if(logQueuedEventsTimer!==null){clearTimeout(logQueuedEventsTimer);}','logQueuedEventsTimer=setTimeout(renderQueuedLogItems,renderDelay);unrenderedLogItemsExist=true;}}}','function renderQueuedLogItems(){logQueuedEventsTimer=null;var pruned=pruneLogEntries();var initiallyHasMatches=currentSearch?currentSearch.hasMatches():false;for(var i=0,len=logItems.length;i<len;i++){if(!logItems[i].rendered){logItems[i].render();logItems[i].appendToLog();if(currentSearch&&(logItems[i]instanceof LogEntry)){currentSearch.applyTo(logItems[i]);}}}','if(currentSearch){if(pruned){if(currentSearch.hasVisibleMatches()){if(currentMatchIndex===null){setCurrentMatchIndex(0);}','displayMatches();}else{displayNoMatches();}}else if(!initiallyHasMatches&¤tSearch.hasVisibleMatches()){setCurrentMatchIndex(0);displayMatches();}}','if(scrollToLatest){doScrollToLatest();}','unrenderedLogItemsExist=false;}','function pruneLogEntries(){if((maxMessages!==null)&&(logEntriesAndSeparators.length>maxMessages)){var numberToDelete=logEntriesAndSeparators.length-maxMessages;var prunedLogEntries=logEntriesAndSeparators.slice(0,numberToDelete);if(currentSearch){currentSearch.removeMatches(prunedLogEntries);}','var group;for(var i=0;i<numberToDelete;i++){group=logEntriesAndSeparators[i].group;array_remove(logItems,logEntriesAndSeparators[i]);array_remove(logEntries,logEntriesAndSeparators[i]);logEntriesAndSeparators[i].remove(true,true);if(group.children.length===0&&group!==currentGroup&&group!==rootGroup){array_remove(logItems,group);group.remove(true,true);}}','logEntriesAndSeparators=array_removeFromStart(logEntriesAndSeparators,numberToDelete);return true;}','return false;}','function group(name,startExpanded){if(loggingEnabled){initiallyExpanded=(typeof startExpanded===\"undefined\")?true:Boolean(startExpanded);var newGroup=new Group(name,false,initiallyExpanded);currentGroup.addChild(newGroup);currentGroup=newGroup;logItems.push(newGroup);if(loaded){if(logQueuedEventsTimer!==null){clearTimeout(logQueuedEventsTimer);}','logQueuedEventsTimer=setTimeout(renderQueuedLogItems,renderDelay);unrenderedLogItemsExist=true;}}}','function groupEnd(){currentGroup=(currentGroup===rootGroup)?rootGroup:currentGroup.group;}','function mainPageReloaded(){currentGroup=rootGroup;var separator=new Separator();logEntriesAndSeparators.push(separator);logItems.push(separator);currentGroup.addChild(separator);}','function closeWindow(){if(appender&&mainWindowExists()){appender.close(true);}else{window.close();}}','function hide(){if(appender&&mainWindowExists()){appender.hide();}}','var mainWindow=window;var windowId=\"log4javascriptConsoleWindow_\"+new Date().getTime()+\"_\"+(\"\"+Math.random()).substr(2);function setMainWindow(win){mainWindow=win;mainWindow[windowId]=window;if(opener&&closeIfOpenerCloses){pollOpener();}}','function pollOpener(){if(closeIfOpenerCloses){if(mainWindowExists()){setTimeout(pollOpener,500);}else{closeWindow();}}}','function mainWindowExists(){try{return(mainWindow&&!mainWindow.closed&&mainWindow[windowId]==window);}catch(ex){}','return false;}','var logLevels=[\"TRACE\",\"DEBUG\",\"INFO\",\"WARN\",\"ERROR\",\"FATAL\"];function getCheckBox(logLevel){return $(\"switch_\"+logLevel);}','function getIeWrappedLogContainer(){return $(\"log_wrapped\");}','function getIeUnwrappedLogContainer(){return $(\"log_unwrapped\");}','function applyFilters(){for(var i=0;i<logLevels.length;i++){if(getCheckBox(logLevels[i]).checked){addClass(logMainContainer,logLevels[i]);}else{removeClass(logMainContainer,logLevels[i]);}}','updateSearchFromFilters();}','function toggleAllLevels(){var turnOn=$(\"switch_ALL\").checked;for(var i=0;i<logLevels.length;i++){getCheckBox(logLevels[i]).checked=turnOn;if(turnOn){addClass(logMainContainer,logLevels[i]);}else{removeClass(logMainContainer,logLevels[i]);}}}','function checkAllLevels(){for(var i=0;i<logLevels.length;i++){if(!getCheckBox(logLevels[i]).checked){getCheckBox(\"ALL\").checked=false;return;}}','getCheckBox(\"ALL\").checked=true;}','function clearLog(){rootGroup.clear();currentGroup=rootGroup;logEntries=[];logItems=[];logEntriesAndSeparators=[];doSearch();}','function toggleWrap(){var enable=$(\"wrap\").checked;if(enable){addClass(logMainContainer,\"wrap\");}else{removeClass(logMainContainer,\"wrap\");}','refreshCurrentMatch();}','var searchTimer=null;function scheduleSearch(){try{clearTimeout(searchTimer);}catch(ex){}','searchTimer=setTimeout(doSearch,500);}','function Search(searchTerm,isRegex,searchRegex,isCaseSensitive){this.searchTerm=searchTerm;this.isRegex=isRegex;this.searchRegex=searchRegex;this.isCaseSensitive=isCaseSensitive;this.matches=[];}','Search.prototype={hasMatches:function(){return this.matches.length>0;},hasVisibleMatches:function(){if(this.hasMatches()){for(var i=0;i<this.matches.length;i++){if(this.matches[i].isVisible()){return true;}}}','return false;},match:function(logEntry){var entryText=String(logEntry.formattedMessage);var matchesSearch=false;if(this.isRegex){matchesSearch=this.searchRegex.test(entryText);}else if(this.isCaseSensitive){matchesSearch=(entryText.indexOf(this.searchTerm)>-1);}else{matchesSearch=(entryText.toLowerCase().indexOf(this.searchTerm.toLowerCase())>-1);}','return matchesSearch;},getNextVisibleMatchIndex:function(){for(var i=currentMatchIndex+1;i<this.matches.length;i++){if(this.matches[i].isVisible()){return i;}}','for(i=0;i<=currentMatchIndex;i++){if(this.matches[i].isVisible()){return i;}}','return-1;},getPreviousVisibleMatchIndex:function(){for(var i=currentMatchIndex-1;i>=0;i--){if(this.matches[i].isVisible()){return i;}}','for(var i=this.matches.length-1;i>=currentMatchIndex;i--){if(this.matches[i].isVisible()){return i;}}','return-1;},applyTo:function(logEntry){var doesMatch=this.match(logEntry);if(doesMatch){logEntry.group.expand();logEntry.setSearchMatch(true);var logEntryContent;var wrappedLogEntryContent;var searchTermReplacementStartTag=\"<span class=\\\\\\\"searchterm\\\\\\\">\";var searchTermReplacementEndTag=\"<\"+\"/span>\";var preTagName=isIe?\"pre\":\"span\";var preStartTag=\"<\"+preTagName+\" class=\\\\\\\"pre\\\\\\\">\";var preEndTag=\"<\"+\"/\"+preTagName+\">\";var startIndex=0;var searchIndex,matchedText,textBeforeMatch;if(this.isRegex){var flags=this.isCaseSensitive?\"g\":\"gi\";var capturingRegex=new RegExp(\"(\"+this.searchRegex.source+\")\",flags);var rnd=(\"\"+Math.random()).substr(2);var startToken=\"%%s\"+rnd+\"%%\";var endToken=\"%%e\"+rnd+\"%%\";logEntryContent=logEntry.formattedMessage.replace(capturingRegex,startToken+\"$1\"+endToken);logEntryContent=escapeHtml(logEntryContent);var result;var searchString=logEntryContent;logEntryContent=\"\";wrappedLogEntryContent=\"\";while((searchIndex=searchString.indexOf(startToken,startIndex))>-1){var endTokenIndex=searchString.indexOf(endToken,searchIndex);matchedText=searchString.substring(searchIndex+startToken.length,endTokenIndex);textBeforeMatch=searchString.substring(startIndex,searchIndex);logEntryContent+=preStartTag+textBeforeMatch+preEndTag;logEntryContent+=searchTermReplacementStartTag+preStartTag+matchedText+','preEndTag+searchTermReplacementEndTag;if(isIe){wrappedLogEntryContent+=textBeforeMatch+searchTermReplacementStartTag+','matchedText+searchTermReplacementEndTag;}','startIndex=endTokenIndex+endToken.length;}','logEntryContent+=preStartTag+searchString.substr(startIndex)+preEndTag;if(isIe){wrappedLogEntryContent+=searchString.substr(startIndex);}}else{logEntryContent=\"\";wrappedLogEntryContent=\"\";var searchTermReplacementLength=searchTermReplacementStartTag.length+','this.searchTerm.length+searchTermReplacementEndTag.length;var searchTermLength=this.searchTerm.length;var searchTermLowerCase=this.searchTerm.toLowerCase();var logTextLowerCase=logEntry.formattedMessage.toLowerCase();while((searchIndex=logTextLowerCase.indexOf(searchTermLowerCase,startIndex))>-1){matchedText=escapeHtml(logEntry.formattedMessage.substr(searchIndex,this.searchTerm.length));textBeforeMatch=escapeHtml(logEntry.formattedMessage.substring(startIndex,searchIndex));var searchTermReplacement=searchTermReplacementStartTag+','preStartTag+matchedText+preEndTag+searchTermReplacementEndTag;logEntryContent+=preStartTag+textBeforeMatch+preEndTag+searchTermReplacement;if(isIe){wrappedLogEntryContent+=textBeforeMatch+searchTermReplacementStartTag+','matchedText+searchTermReplacementEndTag;}','startIndex=searchIndex+searchTermLength;}','var textAfterLastMatch=escapeHtml(logEntry.formattedMessage.substr(startIndex));logEntryContent+=preStartTag+textAfterLastMatch+preEndTag;if(isIe){wrappedLogEntryContent+=textAfterLastMatch;}}','logEntry.setContent(logEntryContent,wrappedLogEntryContent);var logEntryMatches=logEntry.getSearchMatches();this.matches=this.matches.concat(logEntryMatches);}else{logEntry.setSearchMatch(false);logEntry.setContent(logEntry.formattedMessage,logEntry.formattedMessage);}','return doesMatch;},removeMatches:function(logEntries){var matchesToRemoveCount=0;var currentMatchRemoved=false;var matchesToRemove=[];var i,iLen,j,jLen;for(i=0,iLen=this.matches.length;i<iLen;i++){for(j=0,jLen=logEntries.length;j<jLen;j++){if(this.matches[i].belongsTo(logEntries[j])){matchesToRemove.push(this.matches[i]);if(i===currentMatchIndex){currentMatchRemoved=true;}}}}','var newMatch=currentMatchRemoved?null:this.matches[currentMatchIndex];if(currentMatchRemoved){for(i=currentMatchIndex,iLen=this.matches.length;i<iLen;i++){if(this.matches[i].isVisible()&&!array_contains(matchesToRemove,this.matches[i])){newMatch=this.matches[i];break;}}}','for(i=0,iLen=matchesToRemove.length;i<iLen;i++){array_remove(this.matches,matchesToRemove[i]);matchesToRemove[i].remove();}','if(this.hasVisibleMatches()){if(newMatch===null){setCurrentMatchIndex(0);}else{var newMatchIndex=0;for(i=0,iLen=this.matches.length;i<iLen;i++){if(newMatch===this.matches[i]){newMatchIndex=i;break;}}','setCurrentMatchIndex(newMatchIndex);}}else{currentMatchIndex=null;displayNoMatches();}}};function getPageOffsetTop(el,container){var currentEl=el;var y=0;while(currentEl&¤tEl!=container){y+=currentEl.offsetTop;currentEl=currentEl.offsetParent;}','return y;}','function scrollIntoView(el){var logContainer=logMainContainer;if(!$(\"wrap\").checked){var logContainerLeft=logContainer.scrollLeft;var logContainerRight=logContainerLeft+logContainer.offsetWidth;var elLeft=el.offsetLeft;var elRight=elLeft+el.offsetWidth;if(elLeft<logContainerLeft||elRight>logContainerRight){logContainer.scrollLeft=elLeft-(logContainer.offsetWidth-el.offsetWidth)/2;}}','var logContainerTop=logContainer.scrollTop;var logContainerBottom=logContainerTop+logContainer.offsetHeight;var elTop=getPageOffsetTop(el)-getToolBarsHeight();var elBottom=elTop+el.offsetHeight;if(elTop<logContainerTop||elBottom>logContainerBottom){logContainer.scrollTop=elTop-(logContainer.offsetHeight-el.offsetHeight)/2;}}','function Match(logEntryLevel,spanInMainDiv,spanInUnwrappedPre,spanInWrappedDiv){this.logEntryLevel=logEntryLevel;this.spanInMainDiv=spanInMainDiv;if(isIe){this.spanInUnwrappedPre=spanInUnwrappedPre;this.spanInWrappedDiv=spanInWrappedDiv;}','this.mainSpan=isIe?spanInUnwrappedPre:spanInMainDiv;}','Match.prototype={equals:function(match){return this.mainSpan===match.mainSpan;},setCurrent:function(){if(isIe){addClass(this.spanInUnwrappedPre,\"currentmatch\");addClass(this.spanInWrappedDiv,\"currentmatch\");var elementToScroll=$(\"wrap\").checked?this.spanInWrappedDiv:this.spanInUnwrappedPre;scrollIntoView(elementToScroll);}else{addClass(this.spanInMainDiv,\"currentmatch\");scrollIntoView(this.spanInMainDiv);}},belongsTo:function(logEntry){if(isIe){return isDescendant(this.spanInUnwrappedPre,logEntry.unwrappedPre);}else{return isDescendant(this.spanInMainDiv,logEntry.mainDiv);}},setNotCurrent:function(){if(isIe){removeClass(this.spanInUnwrappedPre,\"currentmatch\");removeClass(this.spanInWrappedDiv,\"currentmatch\");}else{removeClass(this.spanInMainDiv,\"currentmatch\");}},isOrphan:function(){return isOrphan(this.mainSpan);},isVisible:function(){return getCheckBox(this.logEntryLevel).checked;},remove:function(){if(isIe){this.spanInUnwrappedPre=null;this.spanInWrappedDiv=null;}else{this.spanInMainDiv=null;}}};var currentSearch=null;var currentMatchIndex=null;function doSearch(){var searchBox=$(\"searchBox\");var searchTerm=searchBox.value;var isRegex=$(\"searchRegex\").checked;var isCaseSensitive=$(\"searchCaseSensitive\").checked;var i;if(searchTerm===\"\"){$(\"searchReset\").disabled=true;$(\"searchNav\").style.display=\"none\";removeClass(document.body,\"searching\");removeClass(searchBox,\"hasmatches\");removeClass(searchBox,\"nomatches\");for(i=0;i<logEntries.length;i++){logEntries[i].clearSearch();logEntries[i].setContent(logEntries[i].formattedMessage,logEntries[i].formattedMessage);}','currentSearch=null;setLogContainerHeight();}else{$(\"searchReset\").disabled=false;$(\"searchNav\").style.display=\"block\";var searchRegex;var regexValid;if(isRegex){try{searchRegex=isCaseSensitive?new RegExp(searchTerm,\"g\"):new RegExp(searchTerm,\"gi\");regexValid=true;replaceClass(searchBox,\"validregex\",\"invalidregex\");searchBox.title=\"Valid regex\";}catch(ex){regexValid=false;replaceClass(searchBox,\"invalidregex\",\"validregex\");searchBox.title=\"Invalid regex: \"+(ex.message?ex.message:(ex.description?ex.description:\"unknown error\"));return;}}else{searchBox.title=\"\";removeClass(searchBox,\"validregex\");removeClass(searchBox,\"invalidregex\");}','addClass(document.body,\"searching\");currentSearch=new Search(searchTerm,isRegex,searchRegex,isCaseSensitive);for(i=0;i<logEntries.length;i++){currentSearch.applyTo(logEntries[i]);}','setLogContainerHeight();if(currentSearch.hasVisibleMatches()){setCurrentMatchIndex(0);displayMatches();}else{displayNoMatches();}}}','function updateSearchFromFilters(){if(currentSearch){if(currentSearch.hasMatches()){if(currentMatchIndex===null){currentMatchIndex=0;}','var currentMatch=currentSearch.matches[currentMatchIndex];if(currentMatch.isVisible()){displayMatches();setCurrentMatchIndex(currentMatchIndex);}else{currentMatch.setNotCurrent();var nextVisibleMatchIndex=currentSearch.getNextVisibleMatchIndex();if(nextVisibleMatchIndex>-1){setCurrentMatchIndex(nextVisibleMatchIndex);displayMatches();}else{displayNoMatches();}}}else{displayNoMatches();}}}','function refreshCurrentMatch(){if(currentSearch&¤tSearch.hasVisibleMatches()){setCurrentMatchIndex(currentMatchIndex);}}','function displayMatches(){replaceClass($(\"searchBox\"),\"hasmatches\",\"nomatches\");$(\"searchBox\").title=\"\"+currentSearch.matches.length+\" matches found\";$(\"searchNav\").style.display=\"block\";setLogContainerHeight();}','function displayNoMatches(){replaceClass($(\"searchBox\"),\"nomatches\",\"hasmatches\");$(\"searchBox\").title=\"No matches found\";$(\"searchNav\").style.display=\"none\";setLogContainerHeight();}','function toggleSearchEnabled(enable){enable=(typeof enable==\"undefined\")?!$(\"searchDisable\").checked:enable;$(\"searchBox\").disabled=!enable;$(\"searchReset\").disabled=!enable;$(\"searchRegex\").disabled=!enable;$(\"searchNext\").disabled=!enable;$(\"searchPrevious\").disabled=!enable;$(\"searchCaseSensitive\").disabled=!enable;$(\"searchNav\").style.display=(enable&&($(\"searchBox\").value!==\"\")&¤tSearch&¤tSearch.hasVisibleMatches())?\"block\":\"none\";if(enable){removeClass($(\"search\"),\"greyedout\");addClass(document.body,\"searching\");if($(\"searchHighlight\").checked){addClass(logMainContainer,\"searchhighlight\");}else{removeClass(logMainContainer,\"searchhighlight\");}','if($(\"searchFilter\").checked){addClass(logMainContainer,\"searchfilter\");}else{removeClass(logMainContainer,\"searchfilter\");}','$(\"searchDisable\").checked=!enable;}else{addClass($(\"search\"),\"greyedout\");removeClass(document.body,\"searching\");removeClass(logMainContainer,\"searchhighlight\");removeClass(logMainContainer,\"searchfilter\");}','setLogContainerHeight();}','function toggleSearchFilter(){var enable=$(\"searchFilter\").checked;if(enable){addClass(logMainContainer,\"searchfilter\");}else{removeClass(logMainContainer,\"searchfilter\");}','refreshCurrentMatch();}','function toggleSearchHighlight(){var enable=$(\"searchHighlight\").checked;if(enable){addClass(logMainContainer,\"searchhighlight\");}else{removeClass(logMainContainer,\"searchhighlight\");}}','function clearSearch(){$(\"searchBox\").value=\"\";doSearch();}','function searchNext(){if(currentSearch!==null&¤tMatchIndex!==null){currentSearch.matches[currentMatchIndex].setNotCurrent();var nextMatchIndex=currentSearch.getNextVisibleMatchIndex();if(nextMatchIndex>currentMatchIndex||confirm(\"Reached the end of the page. Start from the top?\")){setCurrentMatchIndex(nextMatchIndex);}}}','function searchPrevious(){if(currentSearch!==null&¤tMatchIndex!==null){currentSearch.matches[currentMatchIndex].setNotCurrent();var previousMatchIndex=currentSearch.getPreviousVisibleMatchIndex();if(previousMatchIndex<currentMatchIndex||confirm(\"Reached the start of the page. Continue from the bottom?\")){setCurrentMatchIndex(previousMatchIndex);}}}','function setCurrentMatchIndex(index){currentMatchIndex=index;currentSearch.matches[currentMatchIndex].setCurrent();}','function addClass(el,cssClass){if(!hasClass(el,cssClass)){if(el.className){el.className+=\" \"+cssClass;}else{el.className=cssClass;}}}','function hasClass(el,cssClass){if(el.className){var classNames=el.className.split(\" \");return array_contains(classNames,cssClass);}','return false;}','function removeClass(el,cssClass){if(hasClass(el,cssClass)){var existingClasses=el.className.split(\" \");var newClasses=[];for(var i=0,len=existingClasses.length;i<len;i++){if(existingClasses[i]!=cssClass){newClasses[newClasses.length]=existingClasses[i];}}','el.className=newClasses.join(\" \");}}','function replaceClass(el,newCssClass,oldCssClass){removeClass(el,oldCssClass);addClass(el,newCssClass);}','function getElementsByClass(el,cssClass,tagName){var elements=el.getElementsByTagName(tagName);var matches=[];for(var i=0,len=elements.length;i<len;i++){if(hasClass(elements[i],cssClass)){matches.push(elements[i]);}}','return matches;}','function $(id){return document.getElementById(id);}','function isDescendant(node,ancestorNode){while(node!=null){if(node===ancestorNode){return true;}','node=node.parentNode;}','return false;}','function isOrphan(node){var currentNode=node;while(currentNode){if(currentNode==document.body){return false;}','currentNode=currentNode.parentNode;}','return true;}','function escapeHtml(str){return str.replace(/&/g,\"&\").replace(/[<]/g,\"<\").replace(/>/g,\">\");}','function getWindowWidth(){if(window.innerWidth){return window.innerWidth;}else if(document.documentElement&&document.documentElement.clientWidth){return document.documentElement.clientWidth;}else if(document.body){return document.body.clientWidth;}','return 0;}','function getWindowHeight(){if(window.innerHeight){return window.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientHeight;}else if(document.body){return document.body.clientHeight;}','return 0;}','function getToolBarsHeight(){return $(\"switches\").offsetHeight;}','function getChromeHeight(){var height=getToolBarsHeight();if(showCommandLine){height+=$(\"commandLine\").offsetHeight;}','return height;}','function setLogContainerHeight(){if(logMainContainer){var windowHeight=getWindowHeight();$(\"body\").style.height=getWindowHeight()+\"px\";logMainContainer.style.height=\"\"+','Math.max(0,windowHeight-getChromeHeight())+\"px\";}}','function setCommandInputWidth(){if(showCommandLine){$(\"command\").style.width=\"\"+Math.max(0,$(\"commandLineContainer\").offsetWidth-','($(\"evaluateButton\").offsetWidth+13))+\"px\";}}','window.onresize=function(){setCommandInputWidth();setLogContainerHeight();};if(!Array.prototype.push){Array.prototype.push=function(){for(var i=0,len=arguments.length;i<len;i++){this[this.length]=arguments[i];}','return this.length;};}','if(!Array.prototype.pop){Array.prototype.pop=function(){if(this.length>0){var val=this[this.length-1];this.length=this.length-1;return val;}};}','if(!Array.prototype.shift){Array.prototype.shift=function(){if(this.length>0){var firstItem=this[0];for(var i=0,len=this.length-1;i<len;i++){this[i]=this[i+1];}','this.length=this.length-1;return firstItem;}};}','if(!Array.prototype.splice){Array.prototype.splice=function(startIndex,deleteCount){var itemsAfterDeleted=this.slice(startIndex+deleteCount);var itemsDeleted=this.slice(startIndex,startIndex+deleteCount);this.length=startIndex;var argumentsArray=[];for(var i=0,len=arguments.length;i<len;i++){argumentsArray[i]=arguments[i];}','var itemsToAppend=(argumentsArray.length>2)?itemsAfterDeleted=argumentsArray.slice(2).concat(itemsAfterDeleted):itemsAfterDeleted;for(i=0,len=itemsToAppend.length;i<len;i++){this.push(itemsToAppend[i]);}','return itemsDeleted;};}','function array_remove(arr,val){var index=-1;for(var i=0,len=arr.length;i<len;i++){if(arr[i]===val){index=i;break;}}','if(index>=0){arr.splice(index,1);return index;}else{return false;}}','function array_removeFromStart(array,numberToRemove){if(Array.prototype.splice){array.splice(0,numberToRemove);}else{for(var i=numberToRemove,len=array.length;i<len;i++){array[i-numberToRemove]=array[i];}','array.length=array.length-numberToRemove;}','return array;}','function array_contains(arr,val){for(var i=0,len=arr.length;i<len;i++){if(arr[i]==val){return true;}}','return false;}','function getErrorMessage(ex){if(ex.message){return ex.message;}else if(ex.description){return ex.description;}','return\"\"+ex;}','function moveCaretToEnd(input){if(input.setSelectionRange){input.focus();var length=input.value.length;input.setSelectionRange(length,length);}else if(input.createTextRange){var range=input.createTextRange();range.collapse(false);range.select();}','input.focus();}','function stopPropagation(evt){if(evt.stopPropagation){evt.stopPropagation();}else if(typeof evt.cancelBubble!=\"undefined\"){evt.cancelBubble=true;}}','function getEvent(evt){return evt?evt:event;}','function getTarget(evt){return evt.target?evt.target:evt.srcElement;}','function getRelatedTarget(evt){if(evt.relatedTarget){return evt.relatedTarget;}else if(evt.srcElement){switch(evt.type){case\"mouseover\":return evt.fromElement;case\"mouseout\":return evt.toElement;default:return evt.srcElement;}}}','function cancelKeyEvent(evt){evt.returnValue=false;stopPropagation(evt);}','function evalCommandLine(){var expr=$(\"command\").value;evalCommand(expr);$(\"command\").value=\"\";}','function evalLastCommand(){if(lastCommand!=null){evalCommand(lastCommand);}}','var lastCommand=null;var commandHistory=[];var currentCommandIndex=0;function evalCommand(expr){if(appender){appender.evalCommandAndAppend(expr);}else{var prefix=\">>> \"+expr+\"\\\\r\\\\n\";try{log(\"INFO\",prefix+eval(expr));}catch(ex){log(\"ERROR\",prefix+\"Error: \"+getErrorMessage(ex));}}','if(expr!=commandHistory[commandHistory.length-1]){commandHistory.push(expr);if(appender){appender.storeCommandHistory(commandHistory);}}','currentCommandIndex=(expr==commandHistory[currentCommandIndex])?currentCommandIndex+1:commandHistory.length;lastCommand=expr;}','//]]>','</script>','<style type=\"text/css\">','body{background-color:white;color:black;padding:0;margin:0;font-family:tahoma,verdana,arial,helvetica,sans-serif;overflow:hidden}div#switchesContainer input{margin-bottom:0}div.toolbar{border-top:solid #ffffff 1px;border-bottom:solid #aca899 1px;background-color:#f1efe7;padding:3px 5px;font-size:68.75%}div.toolbar,div#search input{font-family:tahoma,verdana,arial,helvetica,sans-serif}div.toolbar input.button{padding:0 5px;font-size:100%}div.toolbar input.hidden{display:none}div#switches input#clearButton{margin-left:20px}div#levels label{font-weight:bold}div#levels label,div#options label{margin-right:5px}div#levels label#wrapLabel{font-weight:normal}div#search label{margin-right:10px}div#search label.searchboxlabel{margin-right:0}div#search input{font-size:100%}div#search input.validregex{color:green}div#search input.invalidregex{color:red}div#search input.nomatches{color:white;background-color:#ff6666}div#search input.nomatches{color:white;background-color:#ff6666}div#searchNav{display:none}div#commandLine{display:none}div#commandLine input#command{font-size:100%;font-family:Courier New,Courier}div#commandLine input#evaluateButton{}*.greyedout{color:gray !important;border-color:gray !important}*.greyedout *.alwaysenabled{color:black}*.unselectable{-khtml-user-select:none;-moz-user-select:none;user-select:none}div#log{font-family:Courier New,Courier;font-size:75%;width:100%;overflow:auto;clear:both;position:relative}div.group{border-color:#cccccc;border-style:solid;border-width:1px 0 1px 1px;overflow:visible}div.oldIe div.group,div.oldIe div.group *,div.oldIe *.logentry{height:1%}div.group div.groupheading span.expander{border:solid black 1px;font-family:Courier New,Courier;font-size:0.833em;background-color:#eeeeee;position:relative;top:-1px;color:black;padding:0 2px;cursor:pointer;cursor:hand;height:1%}div.group div.groupcontent{margin-left:10px;padding-bottom:2px;overflow:visible}div.group div.expanded{display:block}div.group div.collapsed{display:none}*.logentry{overflow:visible;display:none;white-space:pre}span.pre{white-space:pre}pre.unwrapped{display:inline !important}pre.unwrapped pre.pre,div.wrapped pre.pre{display:inline}div.wrapped pre.pre{white-space:normal}div.wrapped{display:none}body.searching *.logentry span.currentmatch{color:white !important;background-color:green !important}body.searching div.searchhighlight *.logentry span.searchterm{color:black;background-color:yellow}div.wrap *.logentry{white-space:normal !important;border-width:0 0 1px 0;border-color:#dddddd;border-style:dotted}div.wrap #log_wrapped,#log_unwrapped{display:block}div.wrap #log_unwrapped,#log_wrapped{display:none}div.wrap *.logentry span.pre{overflow:visible;white-space:normal}div.wrap *.logentry pre.unwrapped{display:none}div.wrap *.logentry span.wrapped{display:inline}div.searchfilter *.searchnonmatch{display:none !important}div#log *.TRACE,label#label_TRACE{color:#666666}div#log *.DEBUG,label#label_DEBUG{color:green}div#log *.INFO,label#label_INFO{color:#000099}div#log *.WARN,label#label_WARN{color:#999900}div#log *.ERROR,label#label_ERROR{color:red}div#log *.FATAL,label#label_FATAL{color:#660066}div.TRACE#log *.TRACE,div.DEBUG#log *.DEBUG,div.INFO#log *.INFO,div.WARN#log *.WARN,div.ERROR#log *.ERROR,div.FATAL#log *.FATAL{display:block}div#log div.separator{background-color:#cccccc;margin:5px 0;line-height:1px}','</style>','</head>','<body id=\"body\">','<div id=\"switchesContainer\">','<div id=\"switches\">','<div id=\"levels\" class=\"toolbar\">','Filters:','<input type=\"checkbox\" id=\"switch_TRACE\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide trace messages\" /><label for=\"switch_TRACE\" id=\"label_TRACE\">trace</label>','<input type=\"checkbox\" id=\"switch_DEBUG\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide debug messages\" /><label for=\"switch_DEBUG\" id=\"label_DEBUG\">debug</label>','<input type=\"checkbox\" id=\"switch_INFO\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide info messages\" /><label for=\"switch_INFO\" id=\"label_INFO\">info</label>','<input type=\"checkbox\" id=\"switch_WARN\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide warn messages\" /><label for=\"switch_WARN\" id=\"label_WARN\">warn</label>','<input type=\"checkbox\" id=\"switch_ERROR\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide error messages\" /><label for=\"switch_ERROR\" id=\"label_ERROR\">error</label>','<input type=\"checkbox\" id=\"switch_FATAL\" onclick=\"applyFilters(); checkAllLevels()\" checked=\"checked\" title=\"Show/hide fatal messages\" /><label for=\"switch_FATAL\" id=\"label_FATAL\">fatal</label>','<input type=\"checkbox\" id=\"switch_ALL\" onclick=\"toggleAllLevels(); applyFilters()\" checked=\"checked\" title=\"Show/hide all messages\" /><label for=\"switch_ALL\" id=\"label_ALL\">all</label>','</div>','<div id=\"search\" class=\"toolbar\">','<label for=\"searchBox\" class=\"searchboxlabel\">Search:</label> <input type=\"text\" id=\"searchBox\" onclick=\"toggleSearchEnabled(true)\" onkeyup=\"scheduleSearch()\" size=\"20\" />','<input type=\"button\" id=\"searchReset\" disabled=\"disabled\" value=\"Reset\" onclick=\"clearSearch()\" class=\"button\" title=\"Reset the search\" />','<input type=\"checkbox\" id=\"searchRegex\" onclick=\"doSearch()\" title=\"If checked, search is treated as a regular expression\" /><label for=\"searchRegex\">Regex</label>','<input type=\"checkbox\" id=\"searchCaseSensitive\" onclick=\"doSearch()\" title=\"If checked, search is case sensitive\" /><label for=\"searchCaseSensitive\">Match case</label>','<input type=\"checkbox\" id=\"searchDisable\" onclick=\"toggleSearchEnabled()\" title=\"Enable/disable search\" /><label for=\"searchDisable\" class=\"alwaysenabled\">Disable</label>','<div id=\"searchNav\">','<input type=\"button\" id=\"searchNext\" disabled=\"disabled\" value=\"Next\" onclick=\"searchNext()\" class=\"button\" title=\"Go to the next matching log entry\" />','<input type=\"button\" id=\"searchPrevious\" disabled=\"disabled\" value=\"Previous\" onclick=\"searchPrevious()\" class=\"button\" title=\"Go to the previous matching log entry\" />','<input type=\"checkbox\" id=\"searchFilter\" onclick=\"toggleSearchFilter()\" title=\"If checked, non-matching log entries are filtered out\" /><label for=\"searchFilter\">Filter</label>','<input type=\"checkbox\" id=\"searchHighlight\" onclick=\"toggleSearchHighlight()\" title=\"Highlight matched search terms\" /><label for=\"searchHighlight\" class=\"alwaysenabled\">Highlight all</label>','</div>','</div>','<div id=\"options\" class=\"toolbar\">','Options:','<input type=\"checkbox\" id=\"enableLogging\" onclick=\"toggleLoggingEnabled()\" checked=\"checked\" title=\"Enable/disable logging\" /><label for=\"enableLogging\" id=\"enableLoggingLabel\">Log</label>','<input type=\"checkbox\" id=\"wrap\" onclick=\"toggleWrap()\" title=\"Enable / disable word wrap\" /><label for=\"wrap\" id=\"wrapLabel\">Wrap</label>','<input type=\"checkbox\" id=\"newestAtTop\" onclick=\"toggleNewestAtTop()\" title=\"If checked, causes newest messages to appear at the top\" /><label for=\"newestAtTop\" id=\"newestAtTopLabel\">Newest at the top</label>','<input type=\"checkbox\" id=\"scrollToLatest\" onclick=\"toggleScrollToLatest()\" checked=\"checked\" title=\"If checked, window automatically scrolls to a new message when it is added\" /><label for=\"scrollToLatest\" id=\"scrollToLatestLabel\">Scroll to latest</label>','<input type=\"button\" id=\"clearButton\" value=\"Clear\" onclick=\"clearLog()\" class=\"button\" title=\"Clear all log messages\" />','<input type=\"button\" id=\"hideButton\" value=\"Hide\" onclick=\"hide()\" class=\"hidden button\" title=\"Hide the console\" />','<input type=\"button\" id=\"closeButton\" value=\"Close\" onclick=\"closeWindow()\" class=\"hidden button\" title=\"Close the window\" />','</div>','</div>','</div>','<div id=\"log\" class=\"TRACE DEBUG INFO WARN ERROR FATAL\"></div>','<div id=\"commandLine\" class=\"toolbar\">','<div id=\"commandLineContainer\">','<input type=\"text\" id=\"command\" title=\"Enter a JavaScript command here and hit return or press \\'Evaluate\\'\" />','<input type=\"button\" id=\"evaluateButton\" value=\"Evaluate\" class=\"button\" title=\"Evaluate the command\" onclick=\"evalCommandLine()\" />','</div>','</div>','</body>','</html>',''];};var defaultCommandLineFunctions=[];ConsoleAppender=function(){};var consoleAppenderIdCounter=1;ConsoleAppender.prototype=new Appender();ConsoleAppender.prototype.create=function(inPage,container,lazyInit,initiallyMinimized,useDocumentWrite,width,height,focusConsoleWindow){var appender=this;var initialized=false;var consoleWindowCreated=false;var consoleWindowLoaded=false;var consoleClosed=false;var queuedLoggingEvents=[];var isSupported=true;var consoleAppenderId=consoleAppenderIdCounter++;initiallyMinimized=extractBooleanFromParam(initiallyMinimized,this.defaults.initiallyMinimized);lazyInit=extractBooleanFromParam(lazyInit,this.defaults.lazyInit);useDocumentWrite=extractBooleanFromParam(useDocumentWrite,this.defaults.useDocumentWrite);var newestMessageAtTop=this.defaults.newestMessageAtTop;var scrollToLatestMessage=this.defaults.scrollToLatestMessage;width=width?width:this.defaults.width;height=height?height:this.defaults.height;var maxMessages=this.defaults.maxMessages;var showCommandLine=this.defaults.showCommandLine;var commandLineObjectExpansionDepth=this.defaults.commandLineObjectExpansionDepth;var showHideButton=this.defaults.showHideButton;var showCloseButton=this.defaults.showCloseButton;this.setLayout(this.defaults.layout);var init,createWindow,safeToAppend,getConsoleWindow,open;var appenderName=inPage?\"InPageAppender\":\"PopUpAppender\";var checkCanConfigure=function(configOptionName){if(consoleWindowCreated){handleError(appenderName+\": configuration option '\"+configOptionName+\"' may not be set after the appender has been initialized\");return false;}\r\nreturn true;};var consoleWindowExists=function(){return(consoleWindowLoaded&&isSupported&&!consoleClosed);};this.isNewestMessageAtTop=function(){return newestMessageAtTop;};this.setNewestMessageAtTop=function(newestMessageAtTopParam){newestMessageAtTop=bool(newestMessageAtTopParam);if(consoleWindowExists()){getConsoleWindow().setNewestAtTop(newestMessageAtTop);}};this.isScrollToLatestMessage=function(){return scrollToLatestMessage;};this.setScrollToLatestMessage=function(scrollToLatestMessageParam){scrollToLatestMessage=bool(scrollToLatestMessageParam);if(consoleWindowExists()){getConsoleWindow().setScrollToLatest(scrollToLatestMessage);}};this.getWidth=function(){return width;};this.setWidth=function(widthParam){if(checkCanConfigure(\"width\")){width=extractStringFromParam(widthParam,width);}};this.getHeight=function(){return height;};this.setHeight=function(heightParam){if(checkCanConfigure(\"height\")){height=extractStringFromParam(heightParam,height);}};this.getMaxMessages=function(){return maxMessages;};this.setMaxMessages=function(maxMessagesParam){maxMessages=extractIntFromParam(maxMessagesParam,maxMessages);if(consoleWindowExists()){getConsoleWindow().setMaxMessages(maxMessages);}};this.isShowCommandLine=function(){return showCommandLine;};this.setShowCommandLine=function(showCommandLineParam){showCommandLine=bool(showCommandLineParam);if(consoleWindowExists()){getConsoleWindow().setShowCommandLine(showCommandLine);}};this.isShowHideButton=function(){return showHideButton;};this.setShowHideButton=function(showHideButtonParam){showHideButton=bool(showHideButtonParam);if(consoleWindowExists()){getConsoleWindow().setShowHideButton(showHideButton);}};this.isShowCloseButton=function(){return showCloseButton;};this.setShowCloseButton=function(showCloseButtonParam){showCloseButton=bool(showCloseButtonParam);if(consoleWindowExists()){getConsoleWindow().setShowCloseButton(showCloseButton);}};this.getCommandLineObjectExpansionDepth=function(){return commandLineObjectExpansionDepth;};this.setCommandLineObjectExpansionDepth=function(commandLineObjectExpansionDepthParam){commandLineObjectExpansionDepth=extractIntFromParam(commandLineObjectExpansionDepthParam,commandLineObjectExpansionDepth);};var minimized=initiallyMinimized;this.isInitiallyMinimized=function(){return initiallyMinimized;};this.setInitiallyMinimized=function(initiallyMinimizedParam){if(checkCanConfigure(\"initiallyMinimized\")){initiallyMinimized=bool(initiallyMinimizedParam);minimized=initiallyMinimized;}};this.isUseDocumentWrite=function(){return useDocumentWrite;};this.setUseDocumentWrite=function(useDocumentWriteParam){if(checkCanConfigure(\"useDocumentWrite\")){useDocumentWrite=bool(useDocumentWriteParam);}};function QueuedLoggingEvent(loggingEvent,formattedMessage){this.loggingEvent=loggingEvent;this.levelName=loggingEvent.level.name;this.formattedMessage=formattedMessage;}\r\nQueuedLoggingEvent.prototype.append=function(){getConsoleWindow().log(this.levelName,this.formattedMessage);};function QueuedGroup(name,initiallyExpanded){this.name=name;this.initiallyExpanded=initiallyExpanded;}\r\nQueuedGroup.prototype.append=function(){getConsoleWindow().group(this.name,this.initiallyExpanded);};function QueuedGroupEnd(){}\r\nQueuedGroupEnd.prototype.append=function(){getConsoleWindow().groupEnd();};var checkAndAppend=function(){safeToAppend();if(!initialized){init();}else if(consoleClosed&&reopenWhenClosed){createWindow();}\r\nif(safeToAppend()){appendQueuedLoggingEvents();}};this.append=function(loggingEvent){if(isSupported){var formattedMessage=appender.getLayout().formatWithException(loggingEvent);queuedLoggingEvents.push(new QueuedLoggingEvent(loggingEvent,formattedMessage));checkAndAppend();}};this.group=function(name,initiallyExpanded){if(isSupported){queuedLoggingEvents.push(new QueuedGroup(name,initiallyExpanded));checkAndAppend();}};this.groupEnd=function(){if(isSupported){queuedLoggingEvents.push(new QueuedGroupEnd());checkAndAppend();}};var appendQueuedLoggingEvents=function(){while(queuedLoggingEvents.length>0){queuedLoggingEvents.shift().append();}\r\nif(focusConsoleWindow){getConsoleWindow().focus();}};this.setAddedToLogger=function(logger){this.loggers.push(logger);if(enabled&&!lazyInit){init();}};this.clear=function(){if(consoleWindowExists()){getConsoleWindow().clearLog();}\r\nqueuedLoggingEvents.length=0;};this.focus=function(){if(consoleWindowExists()){getConsoleWindow().focus();}};this.focusCommandLine=function(){if(consoleWindowExists()){getConsoleWindow().focusCommandLine();}};this.focusSearch=function(){if(consoleWindowExists()){getConsoleWindow().focusSearch();}};var commandWindow=window;this.getCommandWindow=function(){return commandWindow;};this.setCommandWindow=function(commandWindowParam){commandWindow=commandWindowParam;};this.executeLastCommand=function(){if(consoleWindowExists()){getConsoleWindow().evalLastCommand();}};var commandLayout=new PatternLayout(\"%m\");this.getCommandLayout=function(){return commandLayout;};this.setCommandLayout=function(commandLayoutParam){commandLayout=commandLayoutParam;};this.evalCommandAndAppend=function(expr){var commandReturnValue={appendResult:true,isError:false};var commandOutput=\"\";try{var result,i;if(!commandWindow.eval&&commandWindow.execScript){commandWindow.execScript(\"null\");}\r\nvar commandLineFunctionsHash={};for(i=0,len=commandLineFunctions.length;i<len;i++){commandLineFunctionsHash[commandLineFunctions[i][0]]=commandLineFunctions[i][1];}\r\nvar objectsToRestore=[];var addObjectToRestore=function(name){objectsToRestore.push([name,commandWindow[name]]);};addObjectToRestore(\"appender\");commandWindow.appender=appender;addObjectToRestore(\"commandReturnValue\");commandWindow.commandReturnValue=commandReturnValue;addObjectToRestore(\"commandLineFunctionsHash\");commandWindow.commandLineFunctionsHash=commandLineFunctionsHash;var addFunctionToWindow=function(name){addObjectToRestore(name);commandWindow[name]=function(){return this.commandLineFunctionsHash[name](appender,arguments,commandReturnValue);};};for(i=0,len=commandLineFunctions.length;i<len;i++){addFunctionToWindow(commandLineFunctions[i][0]);}\r\nif(commandWindow===window&&commandWindow.execScript){addObjectToRestore(\"evalExpr\");addObjectToRestore(\"result\");window.evalExpr=expr;commandWindow.execScript(\"window.result=eval(window.evalExpr);\");result=window.result;}else{result=commandWindow.eval(expr);}\r\ncommandOutput=isUndefined(result)?result:formatObjectExpansion(result,commandLineObjectExpansionDepth);for(i=0,len=objectsToRestore.length;i<len;i++){commandWindow[objectsToRestore[i][0]]=objectsToRestore[i][1];}}catch(ex){commandOutput=\"Error evaluating command: \"+getExceptionStringRep(ex);commandReturnValue.isError=true;}\r\nif(commandReturnValue.appendResult){var message=\">>> \"+expr;if(!isUndefined(commandOutput)){message+=newLine+commandOutput;}\r\nvar level=commandReturnValue.isError?Level.ERROR:Level.INFO;var loggingEvent=new LoggingEvent(null,new Date(),level,[message],null);var mainLayout=this.getLayout();this.setLayout(commandLayout);this.append(loggingEvent);this.setLayout(mainLayout);}};var commandLineFunctions=defaultCommandLineFunctions.concat([]);this.addCommandLineFunction=function(functionName,commandLineFunction){commandLineFunctions.push([functionName,commandLineFunction]);};var commandHistoryCookieName=\"log4javascriptCommandHistory\";this.storeCommandHistory=function(commandHistory){setCookie(commandHistoryCookieName,commandHistory.join(\",\"));};var writeHtml=function(doc){var lines=getConsoleHtmlLines();doc.open();for(var i=0,len=lines.length;i<len;i++){doc.writeln(lines[i]);}\r\ndoc.close();};this.setEventTypes([\"load\",\"unload\"]);var consoleWindowLoadHandler=function(){var win=getConsoleWindow();win.setAppender(appender);win.setNewestAtTop(newestMessageAtTop);win.setScrollToLatest(scrollToLatestMessage);win.setMaxMessages(maxMessages);win.setShowCommandLine(showCommandLine);win.setShowHideButton(showHideButton);win.setShowCloseButton(showCloseButton);win.setMainWindow(window);var storedValue=getCookie(commandHistoryCookieName);if(storedValue){win.commandHistory=storedValue.split(\",\");win.currentCommandIndex=win.commandHistory.length;}\r\nappender.dispatchEvent(\"load\",{\"win\":win});};this.unload=function(){logLog.debug(\"unload \"+this+\", caller: \"+this.unload.caller);if(!consoleClosed){logLog.debug(\"really doing unload \"+this);consoleClosed=true;consoleWindowLoaded=false;consoleWindowCreated=false;appender.dispatchEvent(\"unload\",{});}};var pollConsoleWindow=function(windowTest,interval,successCallback,errorMessage){function doPoll(){try{if(consoleClosed){clearInterval(poll);}\r\nif(windowTest(getConsoleWindow())){clearInterval(poll);successCallback();}}catch(ex){clearInterval(poll);isSupported=false;handleError(errorMessage,ex);}}\r\nvar poll=setInterval(doPoll,interval);};var getConsoleUrl=function(){var documentDomainSet=(document.domain!=location.hostname);return useDocumentWrite?\"\":getBaseUrl()+\"console.html\"+\r\n(documentDomainSet?\"?log4javascript_domain=\"+escape(document.domain):\"\");};if(inPage){var containerElement=null;var cssProperties=[];this.addCssProperty=function(name,value){if(checkCanConfigure(\"cssProperties\")){cssProperties.push([name,value]);}};var windowCreationStarted=false;var iframeContainerDiv;var iframeId=uniqueId+\"_InPageAppender_\"+consoleAppenderId;this.hide=function(){if(initialized&&consoleWindowCreated){if(consoleWindowExists()){getConsoleWindow().$(\"command\").blur();}\r\niframeContainerDiv.style.display=\"none\";minimized=true;}};this.show=function(){if(initialized){if(consoleWindowCreated){iframeContainerDiv.style.display=\"block\";this.setShowCommandLine(showCommandLine);minimized=false;}else if(!windowCreationStarted){createWindow(true);}}};this.isVisible=function(){return!minimized&&!consoleClosed;};this.close=function(fromButton){if(!consoleClosed&&(!fromButton||confirm(\"This will permanently remove the console from the page. No more messages will be logged. Do you wish to continue?\"))){iframeContainerDiv.parentNode.removeChild(iframeContainerDiv);this.unload();}};open=function(){var initErrorMessage=\"InPageAppender.open: unable to create console iframe\";function finalInit(){try{if(!initiallyMinimized){appender.show();}\r\nconsoleWindowLoadHandler();consoleWindowLoaded=true;appendQueuedLoggingEvents();}catch(ex){isSupported=false;handleError(initErrorMessage,ex);}}\r\nfunction writeToDocument(){try{var windowTest=function(win){return isLoaded(win);};if(useDocumentWrite){writeHtml(getConsoleWindow().document);}\r\nif(windowTest(getConsoleWindow())){finalInit();}else{pollConsoleWindow(windowTest,100,finalInit,initErrorMessage);}}catch(ex){isSupported=false;handleError(initErrorMessage,ex);}}\r\nminimized=false;iframeContainerDiv=containerElement.appendChild(document.createElement(\"div\"));iframeContainerDiv.style.width=width;iframeContainerDiv.style.height=height;iframeContainerDiv.style.border=\"solid gray 1px\";for(var i=0,len=cssProperties.length;i<len;i++){iframeContainerDiv.style[cssProperties[i][0]]=cssProperties[i][1];}\r\nvar iframeSrc=useDocumentWrite?\"\":\" src='\"+getConsoleUrl()+\"'\";iframeContainerDiv.innerHTML=\"<iframe id='\"+iframeId+\"' name='\"+iframeId+\"' width='100%' height='100%' frameborder='0'\"+iframeSrc+\" scrolling='no'></iframe>\";consoleClosed=false;var iframeDocumentExistsTest=function(win){try{return bool(win)&&bool(win.document);}catch(ex){return false;}};if(iframeDocumentExistsTest(getConsoleWindow())){writeToDocument();}else{pollConsoleWindow(iframeDocumentExistsTest,100,writeToDocument,initErrorMessage);}\r\nconsoleWindowCreated=true;};createWindow=function(show){if(show||!initiallyMinimized){var pageLoadHandler=function(){if(!container){containerElement=document.createElement(\"div\");containerElement.style.position=\"fixed\";containerElement.style.left=\"0\";containerElement.style.right=\"0\";containerElement.style.bottom=\"0\";document.body.appendChild(containerElement);appender.addCssProperty(\"borderWidth\",\"1px 0 0 0\");appender.addCssProperty(\"zIndex\",1000000);open();}else{try{var el=document.getElementById(container);if(el.nodeType==1){containerElement=el;}\r\nopen();}catch(ex){handleError(\"InPageAppender.init: invalid container element '\"+container+\"' supplied\",ex);}}};if(pageLoaded&&container&&container.appendChild){containerElement=container;open();}else if(pageLoaded){pageLoadHandler();}else{log4javascript.addEventListener(\"load\",pageLoadHandler);}\r\nwindowCreationStarted=true;}};init=function(){createWindow();initialized=true;};getConsoleWindow=function(){var iframe=window.frames[iframeId];if(iframe){return iframe;}};safeToAppend=function(){if(isSupported&&!consoleClosed){if(consoleWindowCreated&&!consoleWindowLoaded&&getConsoleWindow()&&isLoaded(getConsoleWindow())){consoleWindowLoaded=true;}\r\nreturn consoleWindowLoaded;}\r\nreturn false;};}else{var useOldPopUp=appender.defaults.useOldPopUp;var complainAboutPopUpBlocking=appender.defaults.complainAboutPopUpBlocking;var reopenWhenClosed=this.defaults.reopenWhenClosed;this.isUseOldPopUp=function(){return useOldPopUp;};this.setUseOldPopUp=function(useOldPopUpParam){if(checkCanConfigure(\"useOldPopUp\")){useOldPopUp=bool(useOldPopUpParam);}};this.isComplainAboutPopUpBlocking=function(){return complainAboutPopUpBlocking;};this.setComplainAboutPopUpBlocking=function(complainAboutPopUpBlockingParam){if(checkCanConfigure(\"complainAboutPopUpBlocking\")){complainAboutPopUpBlocking=bool(complainAboutPopUpBlockingParam);}};this.isFocusPopUp=function(){return focusConsoleWindow;};this.setFocusPopUp=function(focusPopUpParam){focusConsoleWindow=bool(focusPopUpParam);};this.isReopenWhenClosed=function(){return reopenWhenClosed;};this.setReopenWhenClosed=function(reopenWhenClosedParam){reopenWhenClosed=bool(reopenWhenClosedParam);};this.close=function(){logLog.debug(\"close \"+this);try{popUp.close();this.unload();}catch(ex){}};this.hide=function(){logLog.debug(\"hide \"+this);if(consoleWindowExists()){this.close();}};this.show=function(){logLog.debug(\"show \"+this);if(!consoleWindowCreated){open();}};this.isVisible=function(){return safeToAppend();};var popUp;open=function(){var windowProperties=\"width=\"+width+\",height=\"+height+\",status,resizable\";var frameInfo=\"\";try{var frameEl=window.frameElement;if(frameEl){frameInfo=\"_\"+frameEl.tagName+\"_\"+(frameEl.name||frameEl.id||\"\");}}catch(e){frameInfo=\"_inaccessibleParentFrame\";}\r\nvar windowName=\"PopUp_\"+location.host.replace(/[^a-z0-9]/gi,\"_\")+\"_\"+consoleAppenderId+frameInfo;if(!useOldPopUp||!useDocumentWrite){windowName=windowName+\"_\"+uniqueId;}\r\nvar checkPopUpClosed=function(win){if(consoleClosed){return true;}else{try{return bool(win)&&win.closed;}catch(ex){}}\r\nreturn false;};var popUpClosedCallback=function(){if(!consoleClosed){appender.unload();}};function finalInit(){getConsoleWindow().setCloseIfOpenerCloses(!useOldPopUp||!useDocumentWrite);consoleWindowLoadHandler();consoleWindowLoaded=true;appendQueuedLoggingEvents();pollConsoleWindow(checkPopUpClosed,500,popUpClosedCallback,\"PopUpAppender.checkPopUpClosed: error checking pop-up window\");}\r\ntry{popUp=window.open(getConsoleUrl(),windowName,windowProperties);consoleClosed=false;consoleWindowCreated=true;if(popUp&&popUp.document){if(useDocumentWrite&&useOldPopUp&&isLoaded(popUp)){popUp.mainPageReloaded();finalInit();}else{if(useDocumentWrite){writeHtml(popUp.document);}\r\nvar popUpLoadedTest=function(win){return bool(win)&&isLoaded(win);};if(isLoaded(popUp)){finalInit();}else{pollConsoleWindow(popUpLoadedTest,100,finalInit,\"PopUpAppender.init: unable to create console window\");}}}else{isSupported=false;logLog.warn(\"PopUpAppender.init: pop-ups blocked, please unblock to use PopUpAppender\");if(complainAboutPopUpBlocking){handleError(\"log4javascript: pop-up windows appear to be blocked. Please unblock them to use pop-up logging.\");}}}catch(ex){handleError(\"PopUpAppender.init: error creating pop-up\",ex);}};createWindow=function(){if(!initiallyMinimized){open();}};init=function(){createWindow();initialized=true;};getConsoleWindow=function(){return popUp;};safeToAppend=function(){if(isSupported&&!isUndefined(popUp)&&!consoleClosed){if(popUp.closed||(consoleWindowLoaded&&isUndefined(popUp.closed))){appender.unload();logLog.debug(\"PopUpAppender: pop-up closed\");return false;}\r\nif(!consoleWindowLoaded&&isLoaded(popUp)){consoleWindowLoaded=true;}}\r\nreturn isSupported&&consoleWindowLoaded&&!consoleClosed;};}\r\nthis.getConsoleWindow=getConsoleWindow;};ConsoleAppender.addGlobalCommandLineFunction=function(functionName,commandLineFunction){defaultCommandLineFunctions.push([functionName,commandLineFunction]);};function PopUpAppender(lazyInit,initiallyMinimized,useDocumentWrite,width,height){this.create(false,null,lazyInit,initiallyMinimized,useDocumentWrite,width,height,this.defaults.focusPopUp);}\r\nPopUpAppender.prototype=new ConsoleAppender();PopUpAppender.prototype.defaults={layout:new PatternLayout(\"%d{HH:mm:ss} %-5p - %m{1}%n\"),initiallyMinimized:false,focusPopUp:false,lazyInit:true,useOldPopUp:true,complainAboutPopUpBlocking:true,newestMessageAtTop:false,scrollToLatestMessage:true,width:\"600\",height:\"400\",reopenWhenClosed:false,maxMessages:null,showCommandLine:true,commandLineObjectExpansionDepth:1,showHideButton:false,showCloseButton:true,useDocumentWrite:true};PopUpAppender.prototype.toString=function(){return\"PopUpAppender\";};log4javascript.PopUpAppender=PopUpAppender;function InPageAppender(container,lazyInit,initiallyMinimized,useDocumentWrite,width,height){this.create(true,container,lazyInit,initiallyMinimized,useDocumentWrite,width,height,false);}\r\nInPageAppender.prototype=new ConsoleAppender();InPageAppender.prototype.defaults={layout:new PatternLayout(\"%d{HH:mm:ss} %-5p - %m{1}%n\"),initiallyMinimized:false,lazyInit:true,newestMessageAtTop:false,scrollToLatestMessage:true,width:\"100%\",height:\"220px\",maxMessages:null,showCommandLine:true,commandLineObjectExpansionDepth:1,showHideButton:false,showCloseButton:false,showLogEntryDeleteButtons:true,useDocumentWrite:true};InPageAppender.prototype.toString=function(){return\"InPageAppender\";};log4javascript.InPageAppender=InPageAppender;log4javascript.InlineAppender=InPageAppender;})();function padWithSpaces(str,len){if(str.length<len){var spaces=[];var numberOfSpaces=Math.max(0,len-str.length);for(var i=0;i<numberOfSpaces;i++){spaces[i]=\" \";}\r\nstr+=spaces.join(\"\");}\r\nreturn str;}\r\n(function(){function dir(obj){var maxLen=0;for(var p in obj){maxLen=Math.max(toStr(p).length,maxLen);}\r\nvar propList=[];for(p in obj){var propNameStr=\" \"+padWithSpaces(toStr(p),maxLen+2);var propVal;try{propVal=splitIntoLines(toStr(obj[p])).join(padWithSpaces(newLine,maxLen+6));}catch(ex){propVal=\"[Error obtaining property. Details: \"+getExceptionMessage(ex)+\"]\";}\r\npropList.push(propNameStr+propVal);}\r\nreturn propList.join(newLine);}\r\nvar nodeTypes={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12};var preFormattedElements=[\"script\",\"pre\"];var emptyElements=[\"br\",\"img\",\"hr\",\"param\",\"link\",\"area\",\"input\",\"col\",\"base\",\"meta\"];var indentationUnit=\" \";function getXhtml(rootNode,includeRootNode,indentation,startNewLine,preformatted){includeRootNode=(typeof includeRootNode==\"undefined\")?true:!!includeRootNode;if(typeof indentation!=\"string\"){indentation=\"\";}\r\nstartNewLine=!!startNewLine;preformatted=!!preformatted;var xhtml;function isWhitespace(node){return((node.nodeType==nodeTypes.TEXT_NODE)&&/^[ \\t\\r\\n]*$/.test(node.nodeValue));}\r\nfunction fixAttributeValue(attrValue){return attrValue.toString().replace(/&/g,\"&\").replace(/</g,\"<\").replace(/\"/g,\""\");}\r\nfunction getStyleAttributeValue(el){var stylePairs=el.style.cssText.split(\";\");var styleValue=\"\";for(var j=0,len=stylePairs.length;j<len;j++){var nameValueBits=stylePairs[j].split(\":\");var props=[];if(!/^\\s*$/.test(nameValueBits[0])){props.push(trim(nameValueBits[0]).toLowerCase()+\":\"+trim(nameValueBits[1]));}\r\nstyleValue=props.join(\";\");}\r\nreturn styleValue;}\r\nfunction getNamespace(el){if(el.prefix){return el.prefix;}else if(el.outerHTML){var regex=new RegExp(\"<([^:]+):\"+el.tagName+\"[^>]*>\",\"i\");if(regex.test(el.outerHTML)){return RegExp.$1.toLowerCase();}}\r\nreturn\"\";}\r\nvar lt=\"<\";var gt=\">\";var i,len;if(includeRootNode&&rootNode.nodeType!=nodeTypes.DOCUMENT_FRAGMENT_NODE){switch(rootNode.nodeType){case nodeTypes.ELEMENT_NODE:var tagName=rootNode.tagName.toLowerCase();xhtml=startNewLine?newLine+indentation:\"\";xhtml+=lt;var prefix=getNamespace(rootNode);var hasPrefix=!!prefix;if(hasPrefix){xhtml+=prefix+\":\";}\r\nxhtml+=tagName;for(i=0,len=rootNode.attributes.length;i<len;i++){var currentAttr=rootNode.attributes[i];if(!currentAttr.specified||currentAttr.nodeValue===null||currentAttr.nodeName.toLowerCase()===\"style\"||typeof currentAttr.nodeValue!==\"string\"||currentAttr.nodeName.indexOf(\"_moz\")===0){continue;}\r\nxhtml+=\" \"+currentAttr.nodeName.toLowerCase()+\"=\\\"\";xhtml+=fixAttributeValue(currentAttr.nodeValue);xhtml+=\"\\\"\";}\r\nif(rootNode.style.cssText){var styleValue=getStyleAttributeValue(rootNode);if(styleValue!==\"\"){xhtml+=\" style=\\\"\"+getStyleAttributeValue(rootNode)+\"\\\"\";}}\r\nif(array_contains(emptyElements,tagName)||(hasPrefix&&!rootNode.hasChildNodes())){xhtml+=\"/\"+gt;}else{xhtml+=gt;var childStartNewLine=!(rootNode.childNodes.length===1&&rootNode.childNodes[0].nodeType===nodeTypes.TEXT_NODE);var childPreformatted=array_contains(preFormattedElements,tagName);for(i=0,len=rootNode.childNodes.length;i<len;i++){xhtml+=getXhtml(rootNode.childNodes[i],true,indentation+indentationUnit,childStartNewLine,childPreformatted);}\r\nvar endTag=lt+\"/\"+tagName+gt;xhtml+=childStartNewLine?newLine+indentation+endTag:endTag;}\r\nreturn xhtml;case nodeTypes.TEXT_NODE:if(isWhitespace(rootNode)){xhtml=\"\";}else{if(preformatted){xhtml=rootNode.nodeValue;}else{var lines=splitIntoLines(trim(rootNode.nodeValue));var trimmedLines=[];for(i=0,len=lines.length;i<len;i++){trimmedLines[i]=trim(lines[i]);}\r\nxhtml=trimmedLines.join(newLine+indentation);}\r\nif(startNewLine){xhtml=newLine+indentation+xhtml;}}\r\nreturn xhtml;case nodeTypes.CDATA_SECTION_NODE:return\"<![CDA\"+\"TA[\"+rootNode.nodeValue+\"]\"+\"]>\"+newLine;case nodeTypes.DOCUMENT_NODE:xhtml=\"\";for(i=0,len=rootNode.childNodes.length;i<len;i++){xhtml+=getXhtml(rootNode.childNodes[i],true,indentation);}\r\nreturn xhtml;default:return\"\";}}else{xhtml=\"\";for(i=0,len=rootNode.childNodes.length;i<len;i++){xhtml+=getXhtml(rootNode.childNodes[i],true,indentation+indentationUnit);}\r\nreturn xhtml;}}\r\nfunction createCommandLineFunctions(){ConsoleAppender.addGlobalCommandLineFunction(\"$\",function(appender,args,returnValue){return document.getElementById(args[0]);});ConsoleAppender.addGlobalCommandLineFunction(\"dir\",function(appender,args,returnValue){var lines=[];for(var i=0,len=args.length;i<len;i++){lines[i]=dir(args[i]);}\r\nreturn lines.join(newLine+newLine);});ConsoleAppender.addGlobalCommandLineFunction(\"dirxml\",function(appender,args,returnValue){var lines=[];for(var i=0,len=args.length;i<len;i++){lines[i]=getXhtml(args[i]);}\r\nreturn lines.join(newLine+newLine);});ConsoleAppender.addGlobalCommandLineFunction(\"cd\",function(appender,args,returnValue){var win,message;if(args.length===0||args[0]===\"\"){win=window;message=\"Command line set to run in main window\";}else{if(args[0].window==args[0]){win=args[0];message=\"Command line set to run in frame '\"+args[0].name+\"'\";}else{win=window.frames[args[0]];if(win){message=\"Command line set to run in frame '\"+args[0]+\"'\";}else{returnValue.isError=true;message=\"Frame '\"+args[0]+\"' does not exist\";win=appender.getCommandWindow();}}}\r\nappender.setCommandWindow(win);return message;});ConsoleAppender.addGlobalCommandLineFunction(\"clear\",function(appender,args,returnValue){returnValue.appendResult=false;appender.clear();});ConsoleAppender.addGlobalCommandLineFunction(\"keys\",function(appender,args,returnValue){var keys=[];for(var k in args[0]){keys.push(k);}\r\nreturn keys;});ConsoleAppender.addGlobalCommandLineFunction(\"values\",function(appender,args,returnValue){var values=[];for(var k in args[0]){try{values.push(args[0][k]);}catch(ex){logLog.warn(\"values(): Unable to obtain value for key \"+k+\". Details: \"+getExceptionMessage(ex));}}\r\nreturn values;});ConsoleAppender.addGlobalCommandLineFunction(\"expansionDepth\",function(appender,args,returnValue){var expansionDepth=parseInt(args[0],10);if(isNaN(expansionDepth)||expansionDepth<0){returnValue.isError=true;return\"\"+args[0]+\" is not a valid expansion depth\";}else{appender.setCommandLineObjectExpansionDepth(expansionDepth);return\"Object expansion depth set to \"+expansionDepth;}});}\r\nfunction init(){createCommandLineFunctions();}\r\ninit();})();function createDefaultLogger(){var logger=log4javascript.getLogger(defaultLoggerName);var a=new log4javascript.PopUpAppender();logger.addAppender(a);return logger;}\r\nlog4javascript.setDocumentReady=function(){pageLoaded=true;log4javascript.dispatchEvent(\"load\",{});};if(window.addEventListener){window.addEventListener(\"load\",log4javascript.setDocumentReady,false);}else if(window.attachEvent){window.attachEvent(\"onload\",log4javascript.setDocumentReady);}else{var oldOnload=window.onload;if(typeof window.onload!=\"function\"){window.onload=log4javascript.setDocumentReady;}else{window.onload=function(evt){if(oldOnload){oldOnload(evt);}\r\nlog4javascript.setDocumentReady();};}}\r\nreturn log4javascript;},this);\r\n","/**\n * lite-url - Small, JS lib that uses regex for parsing a URL into it's component parts.\n * @version v1.0.5\n * @link https://github.com/sadams/lite-url\n * @license BSD-3-Clause\n */\n(function(){\"use strict\";function r(r,n,t){var e=r.split(n),o=e.shift();return t(o,e.join(n))}function n(n){var t={hash:\"\",host:\"\",hostname:\"\",origin:\"\",pathname:\"\",protocol:\"\",search:\"\",password:\"\",username:\"\",port:\"\"};return r(n,\"#\",function(n,e){e&&(t.hash=e?\"#\"+e:\"\"),r(n,\"?\",function(n,e){e&&(t.search=\"?\"+e),n&&r(n,\"//\",function(n,e){t.protocol=n,r(e,\"/\",function(n,e){t.pathname=\"/\"+(e||\"\"),(t.protocol||n)&&(t.origin=t.protocol+\"//\"+n),r(n,\"@\",function(n,e){if(e){var o=n.split(\":\");t.username=o[0],t.password=o[1]}else e=n;t.host=e,r(e,\":\",function(r,n){t.hostname=r,n&&(t.port=n)})})})})})}),t.href=t.origin+t.pathname+t.search+t.hash,t}function t(r){var n={},t=r.search;if(t){t=t.replace(new RegExp(\"\\\\?\"),\"\");var e=t.split(\"&\");for(var o in e)if(e.hasOwnProperty(o)&&e[o]){var i=e[o].split(\"=\");n[i[0]]=i[1]}}return n}function e(r){var e=i[r];return\"undefined\"!=typeof e?e:(e=n(r),e.params=t(e),i[r]=e,e)}var o=this,i={};return e.changeQueryParser=function(r){t=r},\"undefined\"!=typeof exports?(\"undefined\"!=typeof module&&module.exports&&(exports=module.exports=e),exports.liteURL=e):o.liteURL=e,e}).call(this);\n","/*!\n * Platform.js v1.3.6\n * Copyright 2014-2020 Benjamin Tan\n * Copyright 2011-2013 John-David Dalton\n * Available under MIT license\n */\n;(function() {\n 'use strict';\n\n /** Used to determine if values are of the language type `Object`. */\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n /** Used as a reference to the global object. */\n var root = (objectTypes[typeof window] && window) || this;\n\n /** Backup possible global object. */\n var oldRoot = root;\n\n /** Detect free variable `exports`. */\n var freeExports = objectTypes[typeof exports] && exports;\n\n /** Detect free variable `module`. */\n var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;\n\n /** Detect free variable `global` from Node.js or Browserified code and use it as `root`. */\n var freeGlobal = freeExports && freeModule && typeof global == 'object' && global;\n if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {\n root = freeGlobal;\n }\n\n /**\n * Used as the maximum length of an array-like object.\n * See the [ES6 spec](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength)\n * for more details.\n */\n var maxSafeInteger = Math.pow(2, 53) - 1;\n\n /** Regular expression to detect Opera. */\n var reOpera = /\\bOpera/;\n\n /** Possible global object. */\n var thisBinding = this;\n\n /** Used for native method references. */\n var objectProto = Object.prototype;\n\n /** Used to check for own properties of an object. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to resolve the internal `[[Class]]` of values. */\n var toString = objectProto.toString;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Capitalizes a string value.\n *\n * @private\n * @param {string} string The string to capitalize.\n * @returns {string} The capitalized string.\n */\n function capitalize(string) {\n string = String(string);\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n /**\n * A utility function to clean up the OS name.\n *\n * @private\n * @param {string} os The OS name to clean up.\n * @param {string} [pattern] A `RegExp` pattern matching the OS name.\n * @param {string} [label] A label for the OS.\n */\n function cleanupOS(os, pattern, label) {\n // Platform tokens are defined at:\n // http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx\n // http://web.archive.org/web/20081122053950/http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx\n var data = {\n '10.0': '10',\n '6.4': '10 Technical Preview',\n '6.3': '8.1',\n '6.2': '8',\n '6.1': 'Server 2008 R2 / 7',\n '6.0': 'Server 2008 / Vista',\n '5.2': 'Server 2003 / XP 64-bit',\n '5.1': 'XP',\n '5.01': '2000 SP1',\n '5.0': '2000',\n '4.0': 'NT',\n '4.90': 'ME'\n };\n // Detect Windows version from platform tokens.\n if (pattern && label && /^Win/i.test(os) && !/^Windows Phone /i.test(os) &&\n (data = data[/[\\d.]+$/.exec(os)])) {\n os = 'Windows ' + data;\n }\n // Correct character case and cleanup string.\n os = String(os);\n\n if (pattern && label) {\n os = os.replace(RegExp(pattern, 'i'), label);\n }\n\n os = format(\n os.replace(/ ce$/i, ' CE')\n .replace(/\\bhpw/i, 'web')\n .replace(/\\bMacintosh\\b/, 'Mac OS')\n .replace(/_PowerPC\\b/i, ' OS')\n .replace(/\\b(OS X) [^ \\d]+/i, '$1')\n .replace(/\\bMac (OS X)\\b/, '$1')\n .replace(/\\/(\\d)/, ' $1')\n .replace(/_/g, '.')\n .replace(/(?: BePC|[ .]*fc[ \\d.]+)$/i, '')\n .replace(/\\bx86\\.64\\b/gi, 'x86_64')\n .replace(/\\b(Windows Phone) OS\\b/, '$1')\n .replace(/\\b(Chrome OS \\w+) [\\d.]+\\b/, '$1')\n .split(' on ')[0]\n );\n\n return os;\n }\n\n /**\n * An iteration utility for arrays and objects.\n *\n * @private\n * @param {Array|Object} object The object to iterate over.\n * @param {Function} callback The function called per iteration.\n */\n function each(object, callback) {\n var index = -1,\n length = object ? object.length : 0;\n\n if (typeof length == 'number' && length > -1 && length <= maxSafeInteger) {\n while (++index < length) {\n callback(object[index], index, object);\n }\n } else {\n forOwn(object, callback);\n }\n }\n\n /**\n * Trim and conditionally capitalize string values.\n *\n * @private\n * @param {string} string The string to format.\n * @returns {string} The formatted string.\n */\n function format(string) {\n string = trim(string);\n return /^(?:webOS|i(?:OS|P))/.test(string)\n ? string\n : capitalize(string);\n }\n\n /**\n * Iterates over an object's own properties, executing the `callback` for each.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} callback The function executed per own property.\n */\n function forOwn(object, callback) {\n for (var key in object) {\n if (hasOwnProperty.call(object, key)) {\n callback(object[key], key, object);\n }\n }\n }\n\n /**\n * Gets the internal `[[Class]]` of a value.\n *\n * @private\n * @param {*} value The value.\n * @returns {string} The `[[Class]]`.\n */\n function getClassOf(value) {\n return value == null\n ? capitalize(value)\n : toString.call(value).slice(8, -1);\n }\n\n /**\n * Host objects can return type values that are different from their actual\n * data type. The objects we are concerned with usually return non-primitive\n * types of \"object\", \"function\", or \"unknown\".\n *\n * @private\n * @param {*} object The owner of the property.\n * @param {string} property The property to check.\n * @returns {boolean} Returns `true` if the property value is a non-primitive, else `false`.\n */\n function isHostType(object, property) {\n var type = object != null ? typeof object[property] : 'number';\n return !/^(?:boolean|number|string|undefined)$/.test(type) &&\n (type == 'object' ? !!object[property] : true);\n }\n\n /**\n * Prepares a string for use in a `RegExp` by making hyphens and spaces optional.\n *\n * @private\n * @param {string} string The string to qualify.\n * @returns {string} The qualified string.\n */\n function qualify(string) {\n return String(string).replace(/([ -])(?!$)/g, '$1?');\n }\n\n /**\n * A bare-bones `Array#reduce` like utility function.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function called per iteration.\n * @returns {*} The accumulated result.\n */\n function reduce(array, callback) {\n var accumulator = null;\n each(array, function(value, index) {\n accumulator = callback(accumulator, value, index, array);\n });\n return accumulator;\n }\n\n /**\n * Removes leading and trailing whitespace from a string.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} The trimmed string.\n */\n function trim(string) {\n return String(string).replace(/^ +| +$/g, '');\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Creates a new platform object.\n *\n * @memberOf platform\n * @param {Object|string} [ua=navigator.userAgent] The user agent string or\n * context object.\n * @returns {Object} A platform object.\n */\n function parse(ua) {\n\n /** The environment context object. */\n var context = root;\n\n /** Used to flag when a custom context is provided. */\n var isCustomContext = ua && typeof ua == 'object' && getClassOf(ua) != 'String';\n\n // Juggle arguments.\n if (isCustomContext) {\n context = ua;\n ua = null;\n }\n\n /** Browser navigator object. */\n var nav = context.navigator || {};\n\n /** Browser user agent string. */\n var userAgent = nav.userAgent || '';\n\n ua || (ua = userAgent);\n\n /** Used to flag when `thisBinding` is the [ModuleScope]. */\n var isModuleScope = isCustomContext || thisBinding == oldRoot;\n\n /** Used to detect if browser is like Chrome. */\n var likeChrome = isCustomContext\n ? !!nav.likeChrome\n : /\\bChrome\\b/.test(ua) && !/internal|\\n/i.test(toString.toString());\n\n /** Internal `[[Class]]` value shortcuts. */\n var objectClass = 'Object',\n airRuntimeClass = isCustomContext ? objectClass : 'ScriptBridgingProxyObject',\n enviroClass = isCustomContext ? objectClass : 'Environment',\n javaClass = (isCustomContext && context.java) ? 'JavaPackage' : getClassOf(context.java),\n phantomClass = isCustomContext ? objectClass : 'RuntimeObject';\n\n /** Detect Java environments. */\n var java = /\\bJava/.test(javaClass) && context.java;\n\n /** Detect Rhino. */\n var rhino = java && getClassOf(context.environment) == enviroClass;\n\n /** A character to represent alpha. */\n var alpha = java ? 'a' : '\\u03b1';\n\n /** A character to represent beta. */\n var beta = java ? 'b' : '\\u03b2';\n\n /** Browser document object. */\n var doc = context.document || {};\n\n /**\n * Detect Opera browser (Presto-based).\n * http://www.howtocreate.co.uk/operaStuff/operaObject.html\n * http://dev.opera.com/articles/view/opera-mini-web-content-authoring-guidelines/#operamini\n */\n var opera = context.operamini || context.opera;\n\n /** Opera `[[Class]]`. */\n var operaClass = reOpera.test(operaClass = (isCustomContext && opera) ? opera['[[Class]]'] : getClassOf(opera))\n ? operaClass\n : (opera = null);\n\n /*------------------------------------------------------------------------*/\n\n /** Temporary variable used over the script's lifetime. */\n var data;\n\n /** The CPU architecture. */\n var arch = ua;\n\n /** Platform description array. */\n var description = [];\n\n /** Platform alpha/beta indicator. */\n var prerelease = null;\n\n /** A flag to indicate that environment features should be used to resolve the platform. */\n var useFeatures = ua == userAgent;\n\n /** The browser/environment version. */\n var version = useFeatures && opera && typeof opera.version == 'function' && opera.version();\n\n /** A flag to indicate if the OS ends with \"/ Version\" */\n var isSpecialCasedOS;\n\n /* Detectable layout engines (order is important). */\n var layout = getLayout([\n { 'label': 'EdgeHTML', 'pattern': 'Edge' },\n 'Trident',\n { 'label': 'WebKit', 'pattern': 'AppleWebKit' },\n 'iCab',\n 'Presto',\n 'NetFront',\n 'Tasman',\n 'KHTML',\n 'Gecko'\n ]);\n\n /* Detectable browser names (order is important). */\n var name = getName([\n 'Adobe AIR',\n 'Arora',\n 'Avant Browser',\n 'Breach',\n 'Camino',\n 'Electron',\n 'Epiphany',\n 'Fennec',\n 'Flock',\n 'Galeon',\n 'GreenBrowser',\n 'iCab',\n 'Iceweasel',\n 'K-Meleon',\n 'Konqueror',\n 'Lunascape',\n 'Maxthon',\n { 'label': 'Microsoft Edge', 'pattern': '(?:Edge|Edg|EdgA|EdgiOS)' },\n 'Midori',\n 'Nook Browser',\n 'PaleMoon',\n 'PhantomJS',\n 'Raven',\n 'Rekonq',\n 'RockMelt',\n { 'label': 'Samsung Internet', 'pattern': 'SamsungBrowser' },\n 'SeaMonkey',\n { 'label': 'Silk', 'pattern': '(?:Cloud9|Silk-Accelerated)' },\n 'Sleipnir',\n 'SlimBrowser',\n { 'label': 'SRWare Iron', 'pattern': 'Iron' },\n 'Sunrise',\n 'Swiftfox',\n 'Vivaldi',\n 'Waterfox',\n 'WebPositive',\n { 'label': 'Yandex Browser', 'pattern': 'YaBrowser' },\n { 'label': 'UC Browser', 'pattern': 'UCBrowser' },\n 'Opera Mini',\n { 'label': 'Opera Mini', 'pattern': 'OPiOS' },\n 'Opera',\n { 'label': 'Opera', 'pattern': 'OPR' },\n 'Chromium',\n 'Chrome',\n { 'label': 'Chrome', 'pattern': '(?:HeadlessChrome)' },\n { 'label': 'Chrome Mobile', 'pattern': '(?:CriOS|CrMo)' },\n { 'label': 'Firefox', 'pattern': '(?:Firefox|Minefield)' },\n { 'label': 'Firefox for iOS', 'pattern': 'FxiOS' },\n { 'label': 'IE', 'pattern': 'IEMobile' },\n { 'label': 'IE', 'pattern': 'MSIE' },\n 'Safari'\n ]);\n\n /* Detectable products (order is important). */\n var product = getProduct([\n { 'label': 'BlackBerry', 'pattern': 'BB10' },\n 'BlackBerry',\n { 'label': 'Galaxy S', 'pattern': 'GT-I9000' },\n { 'label': 'Galaxy S2', 'pattern': 'GT-I9100' },\n { 'label': 'Galaxy S3', 'pattern': 'GT-I9300' },\n { 'label': 'Galaxy S4', 'pattern': 'GT-I9500' },\n { 'label': 'Galaxy S5', 'pattern': 'SM-G900' },\n { 'label': 'Galaxy S6', 'pattern': 'SM-G920' },\n { 'label': 'Galaxy S6 Edge', 'pattern': 'SM-G925' },\n { 'label': 'Galaxy S7', 'pattern': 'SM-G930' },\n { 'label': 'Galaxy S7 Edge', 'pattern': 'SM-G935' },\n 'Google TV',\n 'Lumia',\n 'iPad',\n 'iPod',\n 'iPhone',\n 'Kindle',\n { 'label': 'Kindle Fire', 'pattern': '(?:Cloud9|Silk-Accelerated)' },\n 'Nexus',\n 'Nook',\n 'PlayBook',\n 'PlayStation Vita',\n 'PlayStation',\n 'TouchPad',\n 'Transformer',\n { 'label': 'Wii U', 'pattern': 'WiiU' },\n 'Wii',\n 'Xbox One',\n { 'label': 'Xbox 360', 'pattern': 'Xbox' },\n 'Xoom'\n ]);\n\n /* Detectable manufacturers. */\n var manufacturer = getManufacturer({\n 'Apple': { 'iPad': 1, 'iPhone': 1, 'iPod': 1 },\n 'Alcatel': {},\n 'Archos': {},\n 'Amazon': { 'Kindle': 1, 'Kindle Fire': 1 },\n 'Asus': { 'Transformer': 1 },\n 'Barnes & Noble': { 'Nook': 1 },\n 'BlackBerry': { 'PlayBook': 1 },\n 'Google': { 'Google TV': 1, 'Nexus': 1 },\n 'HP': { 'TouchPad': 1 },\n 'HTC': {},\n 'Huawei': {},\n 'Lenovo': {},\n 'LG': {},\n 'Microsoft': { 'Xbox': 1, 'Xbox One': 1 },\n 'Motorola': { 'Xoom': 1 },\n 'Nintendo': { 'Wii U': 1, 'Wii': 1 },\n 'Nokia': { 'Lumia': 1 },\n 'Oppo': {},\n 'Samsung': { 'Galaxy S': 1, 'Galaxy S2': 1, 'Galaxy S3': 1, 'Galaxy S4': 1 },\n 'Sony': { 'PlayStation': 1, 'PlayStation Vita': 1 },\n 'Xiaomi': { 'Mi': 1, 'Redmi': 1 }\n });\n\n /* Detectable operating systems (order is important). */\n var os = getOS([\n 'Windows Phone',\n 'KaiOS',\n 'Android',\n 'CentOS',\n { 'label': 'Chrome OS', 'pattern': 'CrOS' },\n 'Debian',\n { 'label': 'DragonFly BSD', 'pattern': 'DragonFly' },\n 'Fedora',\n 'FreeBSD',\n 'Gentoo',\n 'Haiku',\n 'Kubuntu',\n 'Linux Mint',\n 'OpenBSD',\n 'Red Hat',\n 'SuSE',\n 'Ubuntu',\n 'Xubuntu',\n 'Cygwin',\n 'Symbian OS',\n 'hpwOS',\n 'webOS ',\n 'webOS',\n 'Tablet OS',\n 'Tizen',\n 'Linux',\n 'Mac OS X',\n 'Macintosh',\n 'Mac',\n 'Windows 98;',\n 'Windows '\n ]);\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Picks the layout engine from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected layout engine.\n */\n function getLayout(guesses) {\n return reduce(guesses, function(result, guess) {\n return result || RegExp('\\\\b' + (\n guess.pattern || qualify(guess)\n ) + '\\\\b', 'i').exec(ua) && (guess.label || guess);\n });\n }\n\n /**\n * Picks the manufacturer from an array of guesses.\n *\n * @private\n * @param {Array} guesses An object of guesses.\n * @returns {null|string} The detected manufacturer.\n */\n function getManufacturer(guesses) {\n return reduce(guesses, function(result, value, key) {\n // Lookup the manufacturer by product or scan the UA for the manufacturer.\n return result || (\n value[product] ||\n value[/^[a-z]+(?: +[a-z]+\\b)*/i.exec(product)] ||\n RegExp('\\\\b' + qualify(key) + '(?:\\\\b|\\\\w*\\\\d)', 'i').exec(ua)\n ) && key;\n });\n }\n\n /**\n * Picks the browser name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected browser name.\n */\n function getName(guesses) {\n return reduce(guesses, function(result, guess) {\n return result || RegExp('\\\\b' + (\n guess.pattern || qualify(guess)\n ) + '\\\\b', 'i').exec(ua) && (guess.label || guess);\n });\n }\n\n /**\n * Picks the OS name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected OS name.\n */\n function getOS(guesses) {\n return reduce(guesses, function(result, guess) {\n var pattern = guess.pattern || qualify(guess);\n if (!result && (result =\n RegExp('\\\\b' + pattern + '(?:/[\\\\d.]+|[ \\\\w.]*)', 'i').exec(ua)\n )) {\n result = cleanupOS(result, pattern, guess.label || guess);\n }\n return result;\n });\n }\n\n /**\n * Picks the product name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected product name.\n */\n function getProduct(guesses) {\n return reduce(guesses, function(result, guess) {\n var pattern = guess.pattern || qualify(guess);\n if (!result && (result =\n RegExp('\\\\b' + pattern + ' *\\\\d+[.\\\\w_]*', 'i').exec(ua) ||\n RegExp('\\\\b' + pattern + ' *\\\\w+-[\\\\w]*', 'i').exec(ua) ||\n RegExp('\\\\b' + pattern + '(?:; *(?:[a-z]+[_-])?[a-z]+\\\\d+|[^ ();-]*)', 'i').exec(ua)\n )) {\n // Split by forward slash and append product version if needed.\n if ((result = String((guess.label && !RegExp(pattern, 'i').test(guess.label)) ? guess.label : result).split('/'))[1] && !/[\\d.]+/.test(result[0])) {\n result[0] += ' ' + result[1];\n }\n // Correct character case and cleanup string.\n guess = guess.label || guess;\n result = format(result[0]\n .replace(RegExp(pattern, 'i'), guess)\n .replace(RegExp('; *(?:' + guess + '[_-])?', 'i'), ' ')\n .replace(RegExp('(' + guess + ')[-_.]?(\\\\w)', 'i'), '$1 $2'));\n }\n return result;\n });\n }\n\n /**\n * Resolves the version using an array of UA patterns.\n *\n * @private\n * @param {Array} patterns An array of UA patterns.\n * @returns {null|string} The detected version.\n */\n function getVersion(patterns) {\n return reduce(patterns, function(result, pattern) {\n return result || (RegExp(pattern +\n '(?:-[\\\\d.]+/|(?: for [\\\\w-]+)?[ /-])([\\\\d.]+[^ ();/_-]*)', 'i').exec(ua) || 0)[1] || null;\n });\n }\n\n /**\n * Returns `platform.description` when the platform object is coerced to a string.\n *\n * @name toString\n * @memberOf platform\n * @returns {string} Returns `platform.description` if available, else an empty string.\n */\n function toStringPlatform() {\n return this.description || '';\n }\n\n /*------------------------------------------------------------------------*/\n\n // Convert layout to an array so we can add extra details.\n layout && (layout = [layout]);\n\n // Detect Android products.\n // Browsers on Android devices typically provide their product IDS after \"Android;\"\n // up to \"Build\" or \") AppleWebKit\".\n // Example:\n // \"Mozilla/5.0 (Linux; Android 8.1.0; Moto G (5) Plus) AppleWebKit/537.36\n // (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36\"\n if (/\\bAndroid\\b/.test(os) && !product &&\n (data = /\\bAndroid[^;]*;(.*?)(?:Build|\\) AppleWebKit)\\b/i.exec(ua))) {\n product = trim(data[1])\n // Replace any language codes (eg. \"en-US\").\n .replace(/^[a-z]{2}-[a-z]{2};\\s*/i, '')\n || null;\n }\n // Detect product names that contain their manufacturer's name.\n if (manufacturer && !product) {\n product = getProduct([manufacturer]);\n } else if (manufacturer && product) {\n product = product\n .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.\\\\s]', 'i'), manufacturer + ' ')\n .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.]?(\\\\w)', 'i'), manufacturer + ' $2');\n }\n // Clean up Google TV.\n if ((data = /\\bGoogle TV\\b/.exec(product))) {\n product = data[0];\n }\n // Detect simulators.\n if (/\\bSimulator\\b/i.test(ua)) {\n product = (product ? product + ' ' : '') + 'Simulator';\n }\n // Detect Opera Mini 8+ running in Turbo/Uncompressed mode on iOS.\n if (name == 'Opera Mini' && /\\bOPiOS\\b/.test(ua)) {\n description.push('running in Turbo/Uncompressed mode');\n }\n // Detect IE Mobile 11.\n if (name == 'IE' && /\\blike iPhone OS\\b/.test(ua)) {\n data = parse(ua.replace(/like iPhone OS/, ''));\n manufacturer = data.manufacturer;\n product = data.product;\n }\n // Detect iOS.\n else if (/^iP/.test(product)) {\n name || (name = 'Safari');\n os = 'iOS' + ((data = / OS ([\\d_]+)/i.exec(ua))\n ? ' ' + data[1].replace(/_/g, '.')\n : '');\n }\n // Detect Kubuntu.\n else if (name == 'Konqueror' && /^Linux\\b/i.test(os)) {\n os = 'Kubuntu';\n }\n // Detect Android browsers.\n else if ((manufacturer && manufacturer != 'Google' &&\n ((/Chrome/.test(name) && !/\\bMobile Safari\\b/i.test(ua)) || /\\bVita\\b/.test(product))) ||\n (/\\bAndroid\\b/.test(os) && /^Chrome/.test(name) && /\\bVersion\\//i.test(ua))) {\n name = 'Android Browser';\n os = /\\bAndroid\\b/.test(os) ? os : 'Android';\n }\n // Detect Silk desktop/accelerated modes.\n else if (name == 'Silk') {\n if (!/\\bMobi/i.test(ua)) {\n os = 'Android';\n description.unshift('desktop mode');\n }\n if (/Accelerated *= *true/i.test(ua)) {\n description.unshift('accelerated');\n }\n }\n // Detect UC Browser speed mode.\n else if (name == 'UC Browser' && /\\bUCWEB\\b/.test(ua)) {\n description.push('speed mode');\n }\n // Detect PaleMoon identifying as Firefox.\n else if (name == 'PaleMoon' && (data = /\\bFirefox\\/([\\d.]+)\\b/.exec(ua))) {\n description.push('identifying as Firefox ' + data[1]);\n }\n // Detect Firefox OS and products running Firefox.\n else if (name == 'Firefox' && (data = /\\b(Mobile|Tablet|TV)\\b/i.exec(ua))) {\n os || (os = 'Firefox OS');\n product || (product = data[1]);\n }\n // Detect false positives for Firefox/Safari.\n else if (!name || (data = !/\\bMinefield\\b/i.test(ua) && /\\b(?:Firefox|Safari)\\b/.exec(name))) {\n // Escape the `/` for Firefox 1.\n if (name && !product && /[\\/,]|^[^(]+?\\)/.test(ua.slice(ua.indexOf(data + '/') + 8))) {\n // Clear name of false positives.\n name = null;\n }\n // Reassign a generic name.\n if ((data = product || manufacturer || os) &&\n (product || manufacturer || /\\b(?:Android|Symbian OS|Tablet OS|webOS)\\b/.test(os))) {\n name = /[a-z]+(?: Hat)?/i.exec(/\\bAndroid\\b/.test(os) ? os : data) + ' Browser';\n }\n }\n // Add Chrome version to description for Electron.\n else if (name == 'Electron' && (data = (/\\bChrome\\/([\\d.]+)\\b/.exec(ua) || 0)[1])) {\n description.push('Chromium ' + data);\n }\n // Detect non-Opera (Presto-based) versions (order is important).\n if (!version) {\n version = getVersion([\n '(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\\\d.]+$)|UCBrowser|YaBrowser)',\n 'Version',\n qualify(name),\n '(?:Firefox|Minefield|NetFront)'\n ]);\n }\n // Detect stubborn layout engines.\n if ((data =\n layout == 'iCab' && parseFloat(version) > 3 && 'WebKit' ||\n /\\bOpera\\b/.test(name) && (/\\bOPR\\b/.test(ua) ? 'Blink' : 'Presto') ||\n /\\b(?:Midori|Nook|Safari)\\b/i.test(ua) && !/^(?:Trident|EdgeHTML)$/.test(layout) && 'WebKit' ||\n !layout && /\\bMSIE\\b/i.test(ua) && (os == 'Mac OS' ? 'Tasman' : 'Trident') ||\n layout == 'WebKit' && /\\bPlayStation\\b(?! Vita\\b)/i.test(name) && 'NetFront'\n )) {\n layout = [data];\n }\n // Detect Windows Phone 7 desktop mode.\n if (name == 'IE' && (data = (/; *(?:XBLWP|ZuneWP)(\\d+)/i.exec(ua) || 0)[1])) {\n name += ' Mobile';\n os = 'Windows Phone ' + (/\\+$/.test(data) ? data : data + '.x');\n description.unshift('desktop mode');\n }\n // Detect Windows Phone 8.x desktop mode.\n else if (/\\bWPDesktop\\b/i.test(ua)) {\n name = 'IE Mobile';\n os = 'Windows Phone 8.x';\n description.unshift('desktop mode');\n version || (version = (/\\brv:([\\d.]+)/.exec(ua) || 0)[1]);\n }\n // Detect IE 11 identifying as other browsers.\n else if (name != 'IE' && layout == 'Trident' && (data = /\\brv:([\\d.]+)/.exec(ua))) {\n if (name) {\n description.push('identifying as ' + name + (version ? ' ' + version : ''));\n }\n name = 'IE';\n version = data[1];\n }\n // Leverage environment features.\n if (useFeatures) {\n // Detect server-side environments.\n // Rhino has a global function while others have a global object.\n if (isHostType(context, 'global')) {\n if (java) {\n data = java.lang.System;\n arch = data.getProperty('os.arch');\n os = os || data.getProperty('os.name') + ' ' + data.getProperty('os.version');\n }\n if (rhino) {\n try {\n version = context.require('ringo/engine').version.join('.');\n name = 'RingoJS';\n } catch(e) {\n if ((data = context.system) && data.global.system == context.system) {\n name = 'Narwhal';\n os || (os = data[0].os || null);\n }\n }\n if (!name) {\n name = 'Rhino';\n }\n }\n else if (\n typeof context.process == 'object' && !context.process.browser &&\n (data = context.process)\n ) {\n if (typeof data.versions == 'object') {\n if (typeof data.versions.electron == 'string') {\n description.push('Node ' + data.versions.node);\n name = 'Electron';\n version = data.versions.electron;\n } else if (typeof data.versions.nw == 'string') {\n description.push('Chromium ' + version, 'Node ' + data.versions.node);\n name = 'NW.js';\n version = data.versions.nw;\n }\n }\n if (!name) {\n name = 'Node.js';\n arch = data.arch;\n os = data.platform;\n version = /[\\d.]+/.exec(data.version);\n version = version ? version[0] : null;\n }\n }\n }\n // Detect Adobe AIR.\n else if (getClassOf((data = context.runtime)) == airRuntimeClass) {\n name = 'Adobe AIR';\n os = data.flash.system.Capabilities.os;\n }\n // Detect PhantomJS.\n else if (getClassOf((data = context.phantom)) == phantomClass) {\n name = 'PhantomJS';\n version = (data = data.version || null) && (data.major + '.' + data.minor + '.' + data.patch);\n }\n // Detect IE compatibility modes.\n else if (typeof doc.documentMode == 'number' && (data = /\\bTrident\\/(\\d+)/i.exec(ua))) {\n // We're in compatibility mode when the Trident version + 4 doesn't\n // equal the document mode.\n version = [version, doc.documentMode];\n if ((data = +data[1] + 4) != version[1]) {\n description.push('IE ' + version[1] + ' mode');\n layout && (layout[1] = '');\n version[1] = data;\n }\n version = name == 'IE' ? String(version[1].toFixed(1)) : version[0];\n }\n // Detect IE 11 masking as other browsers.\n else if (typeof doc.documentMode == 'number' && /^(?:Chrome|Firefox)\\b/.test(name)) {\n description.push('masking as ' + name + ' ' + version);\n name = 'IE';\n version = '11.0';\n layout = ['Trident'];\n os = 'Windows';\n }\n os = os && format(os);\n }\n // Detect prerelease phases.\n if (version && (data =\n /(?:[ab]|dp|pre|[ab]\\d+pre)(?:\\d+\\+?)?$/i.exec(version) ||\n /(?:alpha|beta)(?: ?\\d)?/i.exec(ua + ';' + (useFeatures && nav.appMinorVersion)) ||\n /\\bMinefield\\b/i.test(ua) && 'a'\n )) {\n prerelease = /b/i.test(data) ? 'beta' : 'alpha';\n version = version.replace(RegExp(data + '\\\\+?$'), '') +\n (prerelease == 'beta' ? beta : alpha) + (/\\d+\\+?/.exec(data) || '');\n }\n // Detect Firefox Mobile.\n if (name == 'Fennec' || name == 'Firefox' && /\\b(?:Android|Firefox OS|KaiOS)\\b/.test(os)) {\n name = 'Firefox Mobile';\n }\n // Obscure Maxthon's unreliable version.\n else if (name == 'Maxthon' && version) {\n version = version.replace(/\\.[\\d.]+/, '.x');\n }\n // Detect Xbox 360 and Xbox One.\n else if (/\\bXbox\\b/i.test(product)) {\n if (product == 'Xbox 360') {\n os = null;\n }\n if (product == 'Xbox 360' && /\\bIEMobile\\b/.test(ua)) {\n description.unshift('mobile mode');\n }\n }\n // Add mobile postfix.\n else if ((/^(?:Chrome|IE|Opera)$/.test(name) || name && !product && !/Browser|Mobi/.test(name)) &&\n (os == 'Windows CE' || /Mobi/i.test(ua))) {\n name += ' Mobile';\n }\n // Detect IE platform preview.\n else if (name == 'IE' && useFeatures) {\n try {\n if (context.external === null) {\n description.unshift('platform preview');\n }\n } catch(e) {\n description.unshift('embedded');\n }\n }\n // Detect BlackBerry OS version.\n // http://docs.blackberry.com/en/developers/deliverables/18169/HTTP_headers_sent_by_BB_Browser_1234911_11.jsp\n else if ((/\\bBlackBerry\\b/.test(product) || /\\bBB10\\b/.test(ua)) && (data =\n (RegExp(product.replace(/ +/g, ' *') + '/([.\\\\d]+)', 'i').exec(ua) || 0)[1] ||\n version\n )) {\n data = [data, /BB10/.test(ua)];\n os = (data[1] ? (product = null, manufacturer = 'BlackBerry') : 'Device Software') + ' ' + data[0];\n version = null;\n }\n // Detect Opera identifying/masking itself as another browser.\n // http://www.opera.com/support/kb/view/843/\n else if (this != forOwn && product != 'Wii' && (\n (useFeatures && opera) ||\n (/Opera/.test(name) && /\\b(?:MSIE|Firefox)\\b/i.test(ua)) ||\n (name == 'Firefox' && /\\bOS X (?:\\d+\\.){2,}/.test(os)) ||\n (name == 'IE' && (\n (os && !/^Win/.test(os) && version > 5.5) ||\n /\\bWindows XP\\b/.test(os) && version > 8 ||\n version == 8 && !/\\bTrident\\b/.test(ua)\n ))\n ) && !reOpera.test((data = parse.call(forOwn, ua.replace(reOpera, '') + ';'))) && data.name) {\n // When \"identifying\", the UA contains both Opera and the other browser's name.\n data = 'ing as ' + data.name + ((data = data.version) ? ' ' + data : '');\n if (reOpera.test(name)) {\n if (/\\bIE\\b/.test(data) && os == 'Mac OS') {\n os = null;\n }\n data = 'identify' + data;\n }\n // When \"masking\", the UA contains only the other browser's name.\n else {\n data = 'mask' + data;\n if (operaClass) {\n name = format(operaClass.replace(/([a-z])([A-Z])/g, '$1 $2'));\n } else {\n name = 'Opera';\n }\n if (/\\bIE\\b/.test(data)) {\n os = null;\n }\n if (!useFeatures) {\n version = null;\n }\n }\n layout = ['Presto'];\n description.push(data);\n }\n // Detect WebKit Nightly and approximate Chrome/Safari versions.\n if ((data = (/\\bAppleWebKit\\/([\\d.]+\\+?)/i.exec(ua) || 0)[1])) {\n // Correct build number for numeric comparison.\n // (e.g. \"532.5\" becomes \"532.05\")\n data = [parseFloat(data.replace(/\\.(\\d)$/, '.0$1')), data];\n // Nightly builds are postfixed with a \"+\".\n if (name == 'Safari' && data[1].slice(-1) == '+') {\n name = 'WebKit Nightly';\n prerelease = 'alpha';\n version = data[1].slice(0, -1);\n }\n // Clear incorrect browser versions.\n else if (version == data[1] ||\n version == (data[2] = (/\\bSafari\\/([\\d.]+\\+?)/i.exec(ua) || 0)[1])) {\n version = null;\n }\n // Use the full Chrome version when available.\n data[1] = (/\\b(?:Headless)?Chrome\\/([\\d.]+)/i.exec(ua) || 0)[1];\n // Detect Blink layout engine.\n if (data[0] == 537.36 && data[2] == 537.36 && parseFloat(data[1]) >= 28 && layout == 'WebKit') {\n layout = ['Blink'];\n }\n // Detect JavaScriptCore.\n // http://stackoverflow.com/questions/6768474/how-can-i-detect-which-javascript-engine-v8-or-jsc-is-used-at-runtime-in-androi\n if (!useFeatures || (!likeChrome && !data[1])) {\n layout && (layout[1] = 'like Safari');\n data = (data = data[0], data < 400 ? 1 : data < 500 ? 2 : data < 526 ? 3 : data < 533 ? 4 : data < 534 ? '4+' : data < 535 ? 5 : data < 537 ? 6 : data < 538 ? 7 : data < 601 ? 8 : data < 602 ? 9 : data < 604 ? 10 : data < 606 ? 11 : data < 608 ? 12 : '12');\n } else {\n layout && (layout[1] = 'like Chrome');\n data = data[1] || (data = data[0], data < 530 ? 1 : data < 532 ? 2 : data < 532.05 ? 3 : data < 533 ? 4 : data < 534.03 ? 5 : data < 534.07 ? 6 : data < 534.10 ? 7 : data < 534.13 ? 8 : data < 534.16 ? 9 : data < 534.24 ? 10 : data < 534.30 ? 11 : data < 535.01 ? 12 : data < 535.02 ? '13+' : data < 535.07 ? 15 : data < 535.11 ? 16 : data < 535.19 ? 17 : data < 536.05 ? 18 : data < 536.10 ? 19 : data < 537.01 ? 20 : data < 537.11 ? '21+' : data < 537.13 ? 23 : data < 537.18 ? 24 : data < 537.24 ? 25 : data < 537.36 ? 26 : layout != 'Blink' ? '27' : '28');\n }\n // Add the postfix of \".x\" or \"+\" for approximate versions.\n layout && (layout[1] += ' ' + (data += typeof data == 'number' ? '.x' : /[.+]/.test(data) ? '' : '+'));\n // Obscure version for some Safari 1-2 releases.\n if (name == 'Safari' && (!version || parseInt(version) > 45)) {\n version = data;\n } else if (name == 'Chrome' && /\\bHeadlessChrome/i.test(ua)) {\n description.unshift('headless');\n }\n }\n // Detect Opera desktop modes.\n if (name == 'Opera' && (data = /\\bzbov|zvav$/.exec(os))) {\n name += ' ';\n description.unshift('desktop mode');\n if (data == 'zvav') {\n name += 'Mini';\n version = null;\n } else {\n name += 'Mobile';\n }\n os = os.replace(RegExp(' *' + data + '$'), '');\n }\n // Detect Chrome desktop mode.\n else if (name == 'Safari' && /\\bChrome\\b/.exec(layout && layout[1])) {\n description.unshift('desktop mode');\n name = 'Chrome Mobile';\n version = null;\n\n if (/\\bOS X\\b/.test(os)) {\n manufacturer = 'Apple';\n os = 'iOS 4.3+';\n } else {\n os = null;\n }\n }\n // Newer versions of SRWare Iron uses the Chrome tag to indicate its version number.\n else if (/\\bSRWare Iron\\b/.test(name) && !version) {\n version = getVersion('Chrome');\n }\n // Strip incorrect OS versions.\n if (version && version.indexOf((data = /[\\d.]+$/.exec(os))) == 0 &&\n ua.indexOf('/' + data + '-') > -1) {\n os = trim(os.replace(data, ''));\n }\n // Ensure OS does not include the browser name.\n if (os && os.indexOf(name) != -1 && !RegExp(name + ' OS').test(os)) {\n os = os.replace(RegExp(' *' + qualify(name) + ' *'), '');\n }\n // Add layout engine.\n if (layout && !/\\b(?:Avant|Nook)\\b/.test(name) && (\n /Browser|Lunascape|Maxthon/.test(name) ||\n name != 'Safari' && /^iOS/.test(os) && /\\bSafari\\b/.test(layout[1]) ||\n /^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(name) && layout[1])) {\n // Don't add layout details to description if they are falsey.\n (data = layout[layout.length - 1]) && description.push(data);\n }\n // Combine contextual information.\n if (description.length) {\n description = ['(' + description.join('; ') + ')'];\n }\n // Append manufacturer to description.\n if (manufacturer && product && product.indexOf(manufacturer) < 0) {\n description.push('on ' + manufacturer);\n }\n // Append product to description.\n if (product) {\n description.push((/^on /.test(description[description.length - 1]) ? '' : 'on ') + product);\n }\n // Parse the OS into an object.\n if (os) {\n data = / ([\\d.+]+)$/.exec(os);\n isSpecialCasedOS = data && os.charAt(os.length - data[0].length - 1) == '/';\n os = {\n 'architecture': 32,\n 'family': (data && !isSpecialCasedOS) ? os.replace(data[0], '') : os,\n 'version': data ? data[1] : null,\n 'toString': function() {\n var version = this.version;\n return this.family + ((version && !isSpecialCasedOS) ? ' ' + version : '') + (this.architecture == 64 ? ' 64-bit' : '');\n }\n };\n }\n // Add browser/OS architecture.\n if ((data = /\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b/i.exec(arch)) && !/\\bi686\\b/i.test(arch)) {\n if (os) {\n os.architecture = 64;\n os.family = os.family.replace(RegExp(' *' + data), '');\n }\n if (\n name && (/\\bWOW64\\b/i.test(ua) ||\n (useFeatures && /\\w(?:86|32)$/.test(nav.cpuClass || nav.platform) && !/\\bWin64; x64\\b/i.test(ua)))\n ) {\n description.unshift('32-bit');\n }\n }\n // Chrome 39 and above on OS X is always 64-bit.\n else if (\n os && /^OS X/.test(os.family) &&\n name == 'Chrome' && parseFloat(version) >= 39\n ) {\n os.architecture = 64;\n }\n\n ua || (ua = null);\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The platform object.\n *\n * @name platform\n * @type Object\n */\n var platform = {};\n\n /**\n * The platform description.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.description = ua;\n\n /**\n * The name of the browser's layout engine.\n *\n * The list of common layout engines include:\n * \"Blink\", \"EdgeHTML\", \"Gecko\", \"Trident\" and \"WebKit\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.layout = layout && layout[0];\n\n /**\n * The name of the product's manufacturer.\n *\n * The list of manufacturers include:\n * \"Apple\", \"Archos\", \"Amazon\", \"Asus\", \"Barnes & Noble\", \"BlackBerry\",\n * \"Google\", \"HP\", \"HTC\", \"LG\", \"Microsoft\", \"Motorola\", \"Nintendo\",\n * \"Nokia\", \"Samsung\" and \"Sony\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.manufacturer = manufacturer;\n\n /**\n * The name of the browser/environment.\n *\n * The list of common browser names include:\n * \"Chrome\", \"Electron\", \"Firefox\", \"Firefox for iOS\", \"IE\",\n * \"Microsoft Edge\", \"PhantomJS\", \"Safari\", \"SeaMonkey\", \"Silk\",\n * \"Opera Mini\" and \"Opera\"\n *\n * Mobile versions of some browsers have \"Mobile\" appended to their name:\n * eg. \"Chrome Mobile\", \"Firefox Mobile\", \"IE Mobile\" and \"Opera Mobile\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.name = name;\n\n /**\n * The alpha/beta release indicator.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.prerelease = prerelease;\n\n /**\n * The name of the product hosting the browser.\n *\n * The list of common products include:\n *\n * \"BlackBerry\", \"Galaxy S4\", \"Lumia\", \"iPad\", \"iPod\", \"iPhone\", \"Kindle\",\n * \"Kindle Fire\", \"Nexus\", \"Nook\", \"PlayBook\", \"TouchPad\" and \"Transformer\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.product = product;\n\n /**\n * The browser's user agent string.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.ua = ua;\n\n /**\n * The browser/environment version.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.version = name && version;\n\n /**\n * The name of the operating system.\n *\n * @memberOf platform\n * @type Object\n */\n platform.os = os || {\n\n /**\n * The CPU architecture the OS is built for.\n *\n * @memberOf platform.os\n * @type number|null\n */\n 'architecture': null,\n\n /**\n * The family of the OS.\n *\n * Common values include:\n * \"Windows\", \"Windows Server 2008 R2 / 7\", \"Windows Server 2008 / Vista\",\n * \"Windows XP\", \"OS X\", \"Linux\", \"Ubuntu\", \"Debian\", \"Fedora\", \"Red Hat\",\n * \"SuSE\", \"Android\", \"iOS\" and \"Windows Phone\"\n *\n * @memberOf platform.os\n * @type string|null\n */\n 'family': null,\n\n /**\n * The version of the OS.\n *\n * @memberOf platform.os\n * @type string|null\n */\n 'version': null,\n\n /**\n * Returns the OS string.\n *\n * @memberOf platform.os\n * @returns {string} The OS string.\n */\n 'toString': function() { return 'null'; }\n };\n\n platform.parse = parse;\n platform.toString = toStringPlatform;\n\n if (platform.version) {\n description.unshift(version);\n }\n if (platform.name) {\n description.unshift(name);\n }\n if (os && name && !(os == String(os).split(' ')[0] && (os == name.split(' ')[0] || product))) {\n description.push(product ? '(' + os + ')' : 'on ' + os);\n }\n if (description.length) {\n platform.description = description.join(' ');\n }\n return platform;\n }\n\n /*--------------------------------------------------------------------------*/\n\n // Export platform.\n var platform = parse();\n\n // Some AMD build optimizers, like r.js, check for condition patterns like the following:\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n // Expose platform on the global object to prevent errors when platform is\n // loaded by a script tag in the presence of an AMD loader.\n // See http://requirejs.org/docs/errors.html#mismatch for more details.\n root.platform = platform;\n\n // Define as an anonymous module so platform can be aliased through path mapping.\n define(function() {\n return platform;\n });\n }\n // Check for `exports` after `define` in case a build optimizer adds an `exports` object.\n else if (freeExports && freeModule) {\n // Export for CommonJS support.\n forOwn(platform, function(value, key) {\n freeExports[key] = value;\n });\n }\n else {\n // Export to the global object.\n root.platform = platform;\n }\n}.call(this));\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adapter/adapter.js\n # Provides an empty object for later loaded adapter objects\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n/*!\n * J1 Adapter\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function ( j1, window ) {\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the adapter object\n // -------------------------------------------------------------------------\n _init_: function () {\n return;\n } // END _init_\n\n }; // END return\n\n})( j1, window );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/j1_template/core.js\n # Provides an empty object for later loaded core objects\n #\n # Product/Info:\n # https://jekyll.one\n # http://getbootstrap.com/\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// module.exports = function core ( options ) {\n/*!\n * J1 Core\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = (function (options) {\n\n // ---------------------------------------------------------------------------\n // Global variables\n // ---------------------------------------------------------------------------\n // var messageCatalog = {};\n // var state;\n // var logger;\n // var logText;\n\n // ---------------------------------------------------------------------------\n // Default settings\n // ---------------------------------------------------------------------------\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n var state = 'loaded';\n\n return {\n\n // -------------------------------------------------------------------------\n // _init_\n // Global initializer for the core object\n // -------------------------------------------------------------------------\n _init_: function (options) {\n\n //\n // Place handling of options here\n //\n\n return;\n }, // END _init_\n\n // -------------------------------------------------------------------------\n // Returns the current (processing) state of the module\n // -------------------------------------------------------------------------\n getState: function () {\n return state;\n }, // END state\n\n // -------------------------------------------------------------------------\n // isMobile\n // Return true if the current platform is a mobile device\n // -------------------------------------------------------------------------\n isMobile: function (ua_name) {\n var mobile = false;\n (function(a){if(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(a.substr(0,4))) mobile = true;})(navigator.userAgent||navigator.vendor||window.opera);\n return mobile;\n }, // END isMobile\n\n // -------------------------------------------------------------------------\n // Clear button for input fields (forms)\n // -------------------------------------------------------------------------\n bsFormClearButton: function () {\n// $('.position-relative :input').on('keydown focus', function() {\n $(':input').on('keydown focus change mouseover', function() {\n if ($(this).val().length > 0) {\n $(this).nextAll('.form-clear').removeClass('d-none');\n }\n }).on('keydown keyup blur', function() {\n if ($(this).val().length === 0) {\n $(this).nextAll('.form-clear').addClass('d-none');\n }\n });\n\n // $('.form-clear').on('click', function() {\n // $(this).addClass('d-none').prevAll(':input').val('');\n // // hide|clear results from top search\n // $('#search-results').hide();\n // $('#search-results').html('');\n // });\n }, // END bsFormClearButton\n\n // -------------------------------------------------------------------------\n // Initialize Backdrops on all <p> elements of class \"dropcap\"\n // -------------------------------------------------------------------------\n createDropCap: function () {\n\n // add class dropcap\n $('.paragraph.dropcap').children('p').addClass('dropcap');\n\n //\n if ($('p.dropcap').length) {\n $('p.dropcap').each(function() {\n var $p = $(this);\n var text = $.trim($p.text());\n var firstLetter = text[0];\n var marginalDropCap = '<span class=\"j1-dropcap\">' + firstLetter + '</span>';\n\n $p.html(text.replace(firstLetter, marginalDropCap));\n });\n }\n } // END createDropCap\n\n }; // end return (object)\n\n//})( jQuery, window );\n})(); // END IFFE\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/navigator/navigator.js\n # Provides all JavaScript core functions for J1 Navigator\n #\n # Product/Info:\n # https://jekyll.one\n # https://github.com/adamnurdin01/navigator\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 adamnurdin01\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Bootsnav is licensed under MIT License.\n # See: https://github.com/adamnurdin01/navigator\n #\n # -----------------------------------------------------------------------------\n # NOTE:\n # jadams, 2020-06-21:\n # J1 Navigator needs a general revision on BS4 code and functionalities\n # Current, only base function are tested with BS4 (was coded for BS3)\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// TODO: Height of dropdowns are to be limited in general\n\n// -----------------------------------------------------------------------------\n// Navigator core registered as 'j1.core.navigator'\n// -----------------------------------------------------------------------------\n\nmodule.exports = function navigator ( options ) {\n\n // ---------------------------------------------------------------------------\n // global vars\n // ---------------------------------------------------------------------------\n var message = {};\n var state;\n var logger;\n var logText;\n\n // -----------------------------------------------------------------------\n // default settings\n // -----------------------------------------------------------------------\n var settings = $.extend ({\n foo: 'bar',\n bar: 'foo',\n }, options );\n\n // ---------------------------------------------------------------------------\n // main object\n // ---------------------------------------------------------------------------\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function( defaultOptions, menuOptions ) {\n logger = log4javascript.getLogger('j1.core.navigator');\n logText = 'core is being initialized';\n\n logger.info(logText);\n this.manageDropdownMenu(defaultOptions, menuOptions);\n this.navbarSticky();\n this.eventHandler(); // jadams, 2021-07-03: initialize events early\n\n message.type = 'command';\n message.action = 'core_initialized';\n message.text = 'navigator core initialized';\n j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n\n return true;\n },\n\n // -------------------------------------------------------------------------\n // event handler\n // -------------------------------------------------------------------------\n eventHandler: function() {\n var logger = log4javascript.getLogger('j1.core.navigator.eventHandler');\n var $getNav = $('nav.navbar.navigator');\n var json_data;\n // const seeMe = 'https://smee.io/wlNIFNiJN0GClm2';\n // const middleware = 'localhost:5000/state';\n // const web_server_dev = 'http://localhost:41000/status';\n // const utility_server = 'http://localhost:41001/git?request=pull';\n // var sender = seeMe;\n // var payload;\n\n // if (j1.checkUserAgent('IE') || j1.checkUserAgent('Edge')) {\n // logger.warn('HTML5 server side events (SSE) not supported for: ' + userAgent);\n // logger.warn('Middleware messages disabled');\n // } else {\n // const middleware_status = new EventSource(sender);\n //\n // // -----------------------------------------------------------------------\n // // middleware event handler ( SSE currently NOT used)\n // // -----------------------------------------------------------------------\n // middleware_status.onmessage = (event) => {\n // const payload = JSON.parse(event.data);\n //\n // logger.debug('middleware: event received');\n //\n // json_data = JSON.stringify(payload, undefined, 2);\n // logText = 'payload: ' + json_data;\n // logger.debug(logText);\n //\n // message.type = 'command';\n // message.action = 'status';\n // message.text = payload;\n // j1.sendMessage( 'j1.core.navigator', 'j1.adapter.navigator', message );\n //\n // return true;\n // }; // END event onMessage\n // }\n\n // bind click event to all links with \"#\" to suppress default action\n // See: https://stackoverflow.com/questions/134845/which-href-value-should-i-use-for-javascript-links-or-javascriptvoid0\n //\n $('a[href=\"#\"]').click(function(e) {\n e.preventDefault ? e.preventDefault() : e.returnValue = false;\n logger.info('bound click event to \"#\", suppress default action');\n });\n\n // -----------------------------------------------------------------------\n // Navbar Sticky\n // -----------------------------------------------------------------------\n var navSticky = $getNav.hasClass('navbar-sticky');\n if( navSticky ){\n // Wraped navigation\n $getNav.wrap('<div class=\\'wrap-sticky\\'></div>');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Center\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('brand-center') ){\n var postsArr = new Array();\n var index = $('nav.brand-center');\n var $postsList = index.find('ul.navbar-nav');\n\n //Create array of all posts in lists\n index.find('ul.navbar-nav > li').each(function(){\n postsArr.push($(this).html());\n });\n\n // Split the array at this point. The original array is altered.\n var firstList = postsArr.splice(0, Math.round(postsArr.length / 2));\n var secondList = postsArr;\n var ListHTML = '';\n\n var createHTML = function(list) {\n ListHTML = '';\n for (var i = 0; i < list.length; i++) {\n ListHTML += '<li>' + list[i] + '</li>';\n }\n };\n\n // Generate HTML for first list\n createHTML(firstList);\n $postsList.html(ListHTML);\n index.find('ul.nav').first().addClass('navbar-left');\n\n // Generate HTML for second list\n createHTML(secondList);\n //Create new list after original one\n $postsList.after('<ul class=\"nav navbar-nav\"></ul>').next().html(ListHTML);\n index.find('ul.nav').last().addClass('navbar-right');\n\n // Wrap navigation menu\n index.find('ul.nav.navbar-left').wrap('<div class=\\'col_half left\\'></div>');\n index.find('ul.nav.navbar-right').wrap('<div class=\\'col_half right\\'></div>');\n\n // Selection Class\n index.find('ul.navbar-nav > li').each(function() {\n var dropDown = $('ul.dropdown-menu', this),\n megaMenu = $('ul.megamenu-content', this);\n dropDown.closest('li').addClass('dropdown');\n megaMenu.closest('li').addClass('megamenu-fw');\n });\n }\n\n // -----------------------------------------------------------------------\n // Menu Center\n // -----------------------------------------------------------------------\n if( $getNav.find('ul.nav').hasClass('navbar-center')) {\n $getNav.addClass('menu-center');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Full\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')) {\n // Add Class to body\n $('nav.navbar.navigator').find('ul.nav').wrap('<div class=\\'wrap-full-menu\\'></div>');\n $('.wrap-full-menu').wrap('<div class=\\'nav-full\\'></div>');\n $('ul.nav.navbar-nav').prepend('<li class=\\'close-full-menu\\'><a href=\\'#\\'><i class=\\'mdi mdi-close\\'></i></a></li>');\n } else if( $getNav.hasClass('navbar-mobile') ) {\n $getNav.removeClass('no-full');\n } else {\n $getNav.addClass('no-full');\n }\n\n // -----------------------------------------------------------------------\n // Navbar Fixed\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('no-background') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('no-background');\n } else {\n $('.navbar-fixed').addClass('no-background');\n }\n });\n }\n\n if( $getNav.hasClass('navbar-transparent') ) {\n $(window).on('scroll', function() {\n var navbarHeighth = $('nav.navbar').outerHeight();\n var scrollPos = $(window).scrollTop();\n\n if (scrollPos > navbarHeighth) {\n $('.navbar-fixed').removeClass('navbar-transparent');\n $('.navbar-fixed').addClass('navbar-scrolled');\n } else {\n $('.navbar-fixed').removeClass('navbar-scrolled');\n $('.navbar-fixed').addClass('navbar-transparent');\n }\n });\n }\n\n // -----------------------------------------------------------------------\n // Toggle Search\n // https://stackoverflow.com/questions/178325/how-do-i-check-if-an-element-is-hidden-in-jquery\n // https://stackoverflow.com/questions/4770025/how-to-disable-scrolling-temporarily\n // https://stackoverflow.com/questions/5963669/whats-the-difference-between-event-stoppropagation-and-event-preventdefault\n // -----------------------------------------------------------------------\n// $('nav.navbar.navigator .attr-nav').each(function() {\n $('.attr-nav').each(function() {\n logger.debug('register OPEN event|s for QuickSearch');\n $('li.search > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action OPEN');\n $('html,body').animate({scrollTop: 0}, 0);\n $('.top-search').slideToggle('slow', 'swing', function() {\n if ( $('.top-search').is(':visible') ) {\n // disable scrolling (desktop)\n $('body').addClass('stop-scrolling');\n // disable scrolling (mobile)\n $('body').bind('touchmove', function(e){e.preventDefault();});\n } else {\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n }\n });\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n logger.debug('register CLOSE event|s for QuickSearch');\n $('.input-group-addon.close-search').on('click', function(e) {\n e.preventDefault(); // don't do the default browser action\n logger.debug('manage search action CLOSE');\n $('.top-search').slideUp('slow', 'swing');\n $('html,body').animate({scrollTop: 0}, 0);\n // enable scrolling (desktop)\n $('body').removeClass('stop-scrolling');\n // enable scrolling (mobile)\n $('body').unbind('touchmove');\n e.stopPropagation(); // don't bubble up the event\n });\n\n // -----------------------------------------------------------------------\n // Toggle Translator SHOW|HIDE\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n logger.debug('register SHOW|HIDE event|s for J1 Translator');\n $('li.translator > a', this).on('click', function(e) {\n // e.preventDefault(); // don't do the default browser action\n // window.location.reload(true);\n logger.debug('toggle translator icon SHOW|HIDE');\n // See: https://api.jquery.com/toggle/\n // With no parameters, the .toggle() method simply toggles the visibility of elements\n $('#google_translate_element').toggle();\n if ($('#google_translate_element').css('display') !== 'none') {\n $('html,body').animate({scrollTop: 0}, 'slow');\n }\n // e.stopPropagation(); // don't bubble up the event\n });\n });\n\n // -----------------------------------------------------------------------\n // Wrapper\n // -----------------------------------------------------------------------\n $('body').wrapInner( '<div class=\\'wrapper\\'></div>');\n\n }, // end event\n\n // -------------------------------------------------------------------------\n // Manage the Menu Dropdowns for Desktop|Mobile\n // -------------------------------------------------------------------------\n manageDropdownMenu : function( defaultOptions, menuOptions ) {\n\n var navDefaultOptions = defaultOptions;\n var navMenuOptions = menuOptions;\n\n var $getNav = $('nav.navbar.navigator');\n var $windowOrientation = window.matchMedia('(orientation: landscape)').matches ? 'landscape' : 'portrait';\n var $getWindow = $(window).width();\n var $getNavWidth = $('nav').width();\n var $getIn = $getNav.find('ul.nav').data('in');\n var $getOut = $getNav.find('ul.nav').data('out');\n\n var menuSelector = '#' +navMenuOptions.xhr_container_id+ '.collapse';\n var delayMenuOpen = navMenuOptions.delay_menu_open;\n\n var $menu;\n var breakPoint;\n var $dropDown;\n var timeoutHandle;\n\n // BS4 @media MAX breakpoints\n // NOTE: a media query is always a range\n // -----------------------------------------------------------------------\n var gridBreakpoint_lg = 992; // bs-breakpoint-lg\n var gridBreakpoint_md = 768; // bs-breakpoint-md\n var gridBreakpoint_sm = 576; // bs-breakpoint-sm\n\n // BS4 @media MIN breakpoints\n // -----------------------------------------------------------------------\n // NOTE: a media query is always a range\n // var gridBreakpoint_lg = 991;\n // var gridBreakpoint_md = 767;\n // var gridBreakpoint_sm = 575;\n\n // @media ranges\n // -----------------------------------------------------------------------\n var small_range = {min: '0em', max: '40em'}; /* 0, 640px */\n var medium_range = {min: '40.063em', max: '64em'}; /* 641px, 1024px */\n var large_range = {min: '64.063em', max: '90em'}; /* 1025px, 1440px */\n var xlarge_range = {min: '90.063em', max: '120em'}; /* 1441px, 1920px */\n var xxlarge_range = {min: '120.063em'}; /* 1921px */\n\n\n // jadams, 2019-05-01: Set Media Breakpoint for Desktop|Mobile Navigation\n if ( navDefaultOptions.nav_bar.media_breakpoint === 'lg' ) {\n breakPoint = gridBreakpoint_lg;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'md' ) {\n breakPoint = gridBreakpoint_md;\n } else if ( navDefaultOptions.nav_bar.media_breakpoint === 'sm' ) {\n breakPoint = gridBreakpoint_sm;\n } else{\n breakPoint = gridBreakpoint_lg;\n }\n\n // -----------------------------------------------------------------------\n // Tablet or Mobile\n // NOTE:\n // Managing the mobile menu is moved to MMenu Plugin\n // Only base functions like QuickLinks are managed by\n // J1 Navigator\n // -----------------------------------------------------------------------\n // MIN media breakpoint\n if ( $getWindow <= breakPoint ) {\n\n // Collapse Navbar\n $(menuSelector).addClass('navbar-collapse');\n $(menuSelector).removeClass('show'); //\n $('#navigator_nav_quicklinks').addClass('show');\n\n // Enable click Quicklink Navigation\n $('nav.navbar.navigator .attr-nav').each(function() {\n $('.dropdown-menu', this).removeClass('animated');\n $('li.dropdown', this).off('mouseenter');\n $('li.dropdown', this).off('mouseleave');\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n $(this).closest('li.dropdown').find('.dropdown-menu').first().stop().fadeToggle();\n $('.navbar-toggle').each(function(){\n $('.mdi', this).removeClass('mdi-close');\n $('.mdi', this).addClass('mdi-menu');\n $('.navbar-collapse').removeClass('in');\n $('.navbar-collapse').removeClass('open');\n });\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).stop().fadeOut();\n $('li.dropdown', this).removeClass('open');\n // return false;\n });\n });\n\n $('#desktop_menu').hide();\n\n // -----------------------------------------------------------------------\n // Desktop Navigation does NOT work on physical devices like iPad|Pro\n // Config DISABLED\n //\n// } else if ( $getWindow > breakPoint || $getWindow <= 1024 && $windowOrientation == 'portrait' ) {\n } else if ( $getWindow > breakPoint ) {\n // -----------------------------------------------------------------------\n // Desktop\n // -----------------------------------------------------------------------\n $('#navigator_nav_quicklinks').removeClass('show');\n $('#desktop_menu').show();\n\n // jadams, 2021-03-05: manage dropdown menus\n // ---------------------------------------------------------------------\n\n $('.dropdown-menu > li').on('mouseenter', function(){\n if ($('body').hasClass('stop-scrolling')){\n return false;\n } else {\n $('body').addClass('stop-scrolling');\n }\n });\n\n $('.dropdown-menu > li').on('mouseleave', function(){\n // stop scrolling if top search or any (mmenu) drawer is opened\n if ($('body').hasClass('stop-scrolling')){\n $('body').removeClass('stop-scrolling');\n }\n });\n\n // limit the dropdown menu lenght if needed\n $('.dropdown-menu > li').hover(function() {\n var $container = $(this);\n var $list = $container.find('ul');\n\n // limit LAST menu ONLY\n //\n if ( $list.length == 1 ) {\n $list.addClass('scrollable-menu');\n }\n });\n\n // jadams, 2021-03-06: Enable|Show Desktop Menu|s\n //\n $(menuSelector).removeClass('navbar-collapse');\n $(menuSelector).addClass('show');\n\n // Navbar Sidebar\n // jadams, 2021-03-05: Sidebar NOT used anymore\n\n // Open Desktop Menu|s on hover\n //\n $('nav.navbar.navigator ul.nav').each(function() {\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.megamenu-fw', this).each(function(){\n $('.title', this).off('click');\n $('a.dropdown-toggle', this).off('click');\n $('.content').removeClass('animated');\n });\n $('.dropdown-menu', this).addClass('animated');\n\n $('li.dropdown', this).on('mouseenter', function(){\n $menu = $('.dropdown-menu', this).eq(0);\n $dropDown = $(this);\n\n $menu.removeClass($getOut);\n $menu.removeClass('open');\n $dropDown.addClass('open');\n // Get|Set the timeout object to delay the dropdown open\n timeoutHandle = window.setTimeout(function () {\n if ($dropDown.hasClass('open')){\n $menu.stop().fadeIn().addClass($getIn);\n $menu.addClass('open');\n $dropDown.addClass('open');\n }\n }, delayMenuOpen);\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n $(this).removeClass('open').removeClass('open');\n\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n\n $(this).on('mouseleave', function(){\n window.clearTimeout(timeoutHandle);\n $('li.dropdown', this).removeClass('open');\n $('.dropdown-menu', this).removeClass('open');\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n });\n }); // END Desktop Menu\n\n } // end Desktop\n\n // -----------------------------------------------------------------------\n // Hover Open on Quicklink Navigation\n // -----------------------------------------------------------------------\n $('nav.navbar.navigator .attr-nav').each(function() {\n\n $('a.dropdown-toggle', this).off('click');\n $('a.dropdown-toggle', this).on('click', function (e) {\n // e.stopPropagation(); // don't bubble up the event\n });\n\n $('.dropdown-menu', this).addClass('animated');\n $('li.dropdown', this).on('mouseenter', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getOut);\n $('.dropdown-menu', this).eq(0).stop().fadeIn().addClass($getIn);\n $(this).addClass('open');\n //return false;\n });\n\n $('li.dropdown', this).on('mouseleave', function(){\n $('.dropdown-menu', this).eq(0).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $(this).removeClass('open');\n });\n\n $(this).on('mouseleave', function(){\n $('.dropdown-menu', this).removeClass($getIn);\n $('.dropdown-menu', this).eq(0).stop().fadeOut().addClass($getOut);\n $('li.dropdown', this).removeClass('open');\n //return false;\n });\n });\n\n // -----------------------------------------------------------------------\n // Fullscreen Menu\n // -----------------------------------------------------------------------\n if( $getNav.hasClass('navbar-full')){\n var windowHeight = $(window).height(),\n windowWidth = $(window).width();\n\n $('.nav-full').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('height', windowHeight + 'px');\n $('.wrap-full-menu').css('width', windowWidth + 'px');\n\n $('.navbar-collapse').addClass('animated');\n $('.navbar-toggle').each(function(){\n var getId = $(this).data('target');\n $(this).off('click');\n $(this).on('click', function(e){\n e.preventDefault();\n $(getId).removeClass($getOut);\n $(getId).addClass('in');\n $(getId).addClass($getIn);\n // e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n\n $('li.close-full-menu').on('click', function(e){\n e.preventDefault();\n $(getId).addClass($getOut);\n setTimeout(function(){\n $(getId).removeClass('in');\n $(getId).removeClass($getIn);\n }, 500);\n //e.stopPropagation(); // don't bubble up the event\n // return false;\n });\n });\n }\n }, // end manageDropdownMenu\n\n // -------------------------------------------------------------------------\n // Sticky Navbar\n // -------------------------------------------------------------------------\n navbarSticky : function() {\n var $getNav = $('nav.navbar.navigator'),\n navSticky = $getNav.hasClass('navbar-sticky');\n\n if (navSticky) {\n // Set Height Navigation\n var $getHeight = $getNav.height();\n $('.wrap-sticky').height($getHeight);\n\n // Windown on scroll\n var getOffset = $('.wrap-sticky').offset().top;\n $(window).on('scroll', function(){\n var scrollTop = $(window).scrollTop();\n if(scrollTop > getOffset){\n $getNav.addClass('sticked');\n }else {\n $getNav.removeClass('sticked');\n }\n });\n }\n }, // end navbarSticky\n\n // -------------------------------------------------------------------------\n // updateSidebar\n // Note:\n // -------------------------------------------------------------------------\n updateSidebar: function (user_data) {\n var logger = log4javascript.getLogger('j1.core.navigator.updateSidebar');\n var json_message;\n\n// json_message = JSON.stringify(user_data, undefined, 2); // multiline\n json_message = JSON.stringify(user_data);\n logText = 'user state data: ' + json_message;\n logger.debug(logText);\n\n // Replace Macro placeholders to values\n j1.resolveMacros(user_data);\n // Replace Macro values only\n j1.updateMacros(user_data);\n\n return true;\n\n }, // END updateSidebar\n\n }; // end return (object)\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~200_template_js/js/asciidoctor/asciidoctor.js\n # Provides JS functions to (dynamically) modify Asciidoctor HTML elements\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # NOTE:\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* global window */\n\n// TODO:\n\n// -----------------------------------------------------------------------------\n// J1 Asciidoctor registered as \"asciidoctor\"\n// -----------------------------------------------------------------------------\n/*!\n * J1 Asciidoctor\n * Copyright (C) 2021 Juergen Adams\n * Licensed under MIT License.\n */\nmodule.exports = function asciidoctor (options) {\n\n return {\n\n // -------------------------------------------------------------------------\n // module initializer\n // -------------------------------------------------------------------------\n init: function (options) {\n\n var moduleOptions = options;\n var logger = log4javascript.getLogger('j1.core.asciidoctor');\n\n var moduleDefaults = {\n dummyOption: false, // placeholder\n };\n var options = $.extend(moduleDefaults,moduleOptions);\n\n logText = 'J1 Asciidoctor is being initialized';\n logger.info(logText);\n\n this.callouts();\n\n }, // end initializer\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n // see: https://stackoverflow.com/questions/19393493/add-colgroup-for-each-table-column\n callouts: function( options ) {\n var colgroupList = '';\n\n // If the colist does not have a <colgroup> structure\n //\n \tif($('.colist > table > colgroup').length == 0) {\n colgroupList += '<!-- [INFO ] [j1.core.asciidoctor ] [ place a colgroup dynamically ] -->' + '\\n';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n \t\t$(\".colist > table\").prepend(colgroupList);\n }\n\n }, // end callouts\n\n // -------------------------------------------------------------------------\n // manage callouts (HTML)\n // -------------------------------------------------------------------------\n conums: function( options ) {\n var dependencies_met_page_finished = setInterval(function() {\n if (j1.getState() == 'finished') {\n // If the colist does not have a <colgroup> structure\n \tif($('.colist > table > colgroup').length == 0) {\n\n \t\tvar colgroupList = '';\n colgroupList += '<colgroup> <col style=\"width: 5%;\"> <col style=\"width: 95%;\"> </colgroup>';\n\n \t\t$(\".colist > table\").prepend(colgroupList);\n clearInterval(dependencies_met_page_finished);\n \t}\n }\n });\n }, // end conums\n\n }; // END return\n}( jQuery );\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/scroll-smooth/scroll-smooth.js\n # Provides Javascript functions for smooth scrolling\n #\n # Product/Info:\n # http://jekyll.one\n #\n # Copyright (C) 2020 Juergen Adams\n #\n # J1 Template is licensed under the MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n'use strict';\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* eslint indent: \"off\" */\n// -----------------------------------------------------------------------------\n\n// -----------------------------------------------------------------------------\n// scrollSmooth core registered as \"scrollSmooth\"\n// -----------------------------------------------------------------------------\nmodule.exports = function scrollSmooth ( options ) {\n\n // Default settings\n var settings = $.extend({\n foo: 'foo_option',\n bar: 'bar_option'\n }, options );\n\n // -----------------------------------------------------------------------\n // Helper functions\n // -----------------------------------------------------------------------\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'));\n }\n\n function isCssSmoothScrollSupported () {\n return 'scrollBehavior' in document.documentElement.style;\n }\n\n return {\n // -------------------------------------------------------------------------\n // Initialize scrollSmooth\n // -------------------------------------------------------------------------\n scroll: function ( target, options ) {\n\n var logger;\n var logText;\n\n logger = log4javascript.getLogger('j1.core.scrollSmooth');\n\n // indicator|check currently NOT used\n // if (isCssSmoothScrollSupported()) { }\n\n logText = 'run module scrollSmooth';\n logger.info(logText);\n\n var duration = options.duration;\n var offset = options.offset;\n\n // var pageUrl = options.location.hash\n // ? stripHash(options.location.href)\n // : options.location.href;\n\n this.scrollTo(target, {\n duration: duration,\n offset: offset,\n callback: null\n });\n\n logText = 'scrollSmooth finished';\n logger.info(logText);\n },\n\n // -------------------------------------------------------------------------\n // scrollTo\n // -------------------------------------------------------------------------\n scrollTo: function ( target, options ) {\n var start = window.pageYOffset;\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n };\n\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]');\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target;\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration;\n var timeStart;\n var timeElapsed;\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time); });\n function loop (time) {\n timeElapsed = time - timeStart;\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration));\n\n if (timeElapsed < duration) { requestAnimationFrame(loop); } else { end(); }\n }\n\n function end () {\n window.scrollTo(0, start + distance);\n\n // jadams, 2020-07-04: on (some?) mobile devices, the navbar\n // background is NOT switched (always?) correctly on a\n // page RELOAD.\n //\n // Solution: scroll the page one pixel back and forth (trigger)\n // to get the right position for the Toccer and adjust the\n // Navigator to display the (tranparent) navbar correctly based\n // on their onscroll events registered.\n //\n $(window).scrollTop($(window).scrollTop()+1);\n $(window).scrollTop($(window).scrollTop()-1);\n\n if (typeof opt.callback === 'function') { opt.callback(); }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2;\n if (t < 1) return c / 2 * t * t + b;\n t--;\n return -c / 2 * (t * (t - 2) - 1) + b;\n }\n } // END scrollTo\n\n }; // END return\n}( jQuery );\n","/*\n * anime.js v3.2.0\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n'use strict';\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; }\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (getAttribute(el, prop) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width / viewBox[2],\n h: height / viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n switch (path.property) {\n case 'x': return (p.x - svg.x) * svg.w;\n case 'y': return (p.y - svg.y) * svg.h;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\nvar pausedInstances = [];\nvar raf;\n\nvar engine = (function () {\n function play() { \n raf = requestAnimationFrame(step);\n }\n function step(t) {\n var activeInstancesLength = activeInstances.length;\n if (activeInstancesLength) {\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n } else {\n var instanceIndex = activeInstances.indexOf(activeInstance);\n if (instanceIndex > -1) {\n activeInstances.splice(instanceIndex, 1);\n activeInstancesLength = activeInstances.length;\n }\n }\n i++;\n }\n play();\n } else {\n raf = cancelAnimationFrame(raf);\n }\n }\n return play;\n})();\n\nfunction handleVisibilityChange() {\n if (document.hidden) {\n activeInstances.forEach(function (ins) { return ins.pause(); });\n pausedInstances = activeInstances.slice(0);\n anime.running = activeInstances = [];\n } else {\n pausedInstances.forEach(function (ins) { return ins.play(); });\n }\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n if (!raf) { engine(); }\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargets(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.2.0';\nanime.speed = 1;\nanime.running = activeInstances;\nanime.remove = removeTargets;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nmodule.exports = anime;\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/tocbot.js\n # Tocbot v4.12.0 implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # rules:\n # \"eslint:tocbot\": \"eslint --ignore-path .eslintignore src/tocbot/js\"\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\n/**\n * Tocbot\n * Tocbot creates a toble of contents based on HTML headings on a page,\n * this allows users to easily jump to different sections of the document.\n * Tocbot was inspired by tocify (http://gregfranko.com/jquery.tocify.js/).\n * The main differences are that it works natively without any need for jquery or jquery UI).\n *\n * @author Tim Scanlin\n */\n\n/* globals define */\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory(root))\n } else if (typeof exports === 'object') {\n module.exports = factory(root)\n } else {\n root.tocbot = factory(root)\n }\n})(typeof global !== 'undefined' ? global : this.window || this.global, function (root) {\n 'use strict'\n\n // Default options.\n var defaultOptions = require('./default-options.js')\n // Object to store current options.\n var options = {}\n // Object for public APIs.\n var tocbot = {}\n\n var BuildHtml = require('./build-html.js')\n var ParseContent = require('./parse-content.js')\n var updateTocScroll = require('./update-toc-scroll.js')\n // Keep these variables at top scope once options are passed in.\n var buildHtml\n var parseContent\n\n // Just return if its not a browser.\n var supports = !!root && !!root.document && !!root.document.querySelector && !!root.addEventListener // Feature test\n if (typeof window === 'undefined' && !supports) {\n return\n }\n var headingsArray\n\n // From: https://github.com/Raynos/xtend\n var hasOwnProperty = Object.prototype.hasOwnProperty\n function extend () {\n var target = {}\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n return target\n }\n\n // From: https://remysharp.com/2010/07/21/throttling-function-calls\n function throttle (fn, threshold, scope) {\n threshold || (threshold = 250)\n var last\n var deferTimer\n return function () {\n var context = scope || this\n var now = +new Date()\n var args = arguments\n if (last && now < last + threshold) {\n // hold on to it\n clearTimeout(deferTimer)\n deferTimer = setTimeout(function () {\n last = now\n fn.apply(context, args)\n }, threshold)\n } else {\n last = now\n fn.apply(context, args)\n }\n }\n }\n\n /**\n * Destroy tocbot.\n */\n tocbot.destroy = function () {\n if (!options.skipRendering) {\n // Clear HTML.\n try {\n document.querySelector(options.tocSelector).innerHTML = ''\n } catch (e) {\n console.warn('Element not found: ' + options.tocSelector); // eslint-disable-line\n }\n }\n\n // Remove event listeners.\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).removeEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.querySelector(options.scrollContainer).removeEventListener('click', this._clickListener, false)\n }\n } else {\n document.removeEventListener('scroll', this._scrollListener, false)\n document.removeEventListener('resize', this._scrollListener, false)\n if (buildHtml) {\n document.removeEventListener('click', this._clickListener, false)\n }\n }\n }\n\n /**\n * Initialize tocbot.\n * @param {object} customOptions\n */\n tocbot.init = function (customOptions) {\n // feature test\n if (!supports) {\n return\n }\n\n // Merge defaults with user options.\n // Set to options variable at the top.\n options = extend(defaultOptions, customOptions || {})\n this.options = options\n this.state = {}\n\n // Init smooth scroll if enabled (default).\n if (options.scrollSmooth) {\n options.duration = options.scrollSmoothDuration\n options.offset = options.scrollSmoothOffset\n tocbot.scrollSmooth = require('./scroll-smooth').initSmoothScrolling(options)\n }\n\n // Pass options to these modules.\n buildHtml = BuildHtml(options)\n parseContent = ParseContent(options)\n\n // For testing purposes.\n this._buildHtml = buildHtml\n this._parseContent = parseContent\n\n // Destroy it if it exists first.\n tocbot.destroy()\n\n // Get headings array.\n headingsArray = parseContent.selectHeadings(options.contentSelector, options.headingSelector)\n // Return if no headings are found.\n if (headingsArray === null) {\n return\n }\n\n // Build nested headings array.\n var nestedHeadingsObj = parseContent.nestHeadingsArray(headingsArray)\n var nestedHeadings = nestedHeadingsObj.nest\n\n // Render.\n if (!options.skipRendering) {\n buildHtml.render(options.tocSelector, nestedHeadings)\n }\n\n // Update Sidebar and bind listeners.\n this._scrollListener = throttle(function (e) {\n buildHtml.updateToc(headingsArray)\n !options.disableTocScrollSync && updateTocScroll(options)\n var isTop = e && e.target && e.target.scrollingElement && e.target.scrollingElement.scrollTop === 0\n if ((e && (e.eventPhase === 0 || e.currentTarget === null)) || isTop) {\n buildHtml.updateToc(headingsArray)\n if (options.scrollEndCallback) {\n options.scrollEndCallback(e)\n }\n }\n }, options.throttleTimeout)\n this._scrollListener()\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('scroll', this._scrollListener, false)\n document.querySelector(options.scrollContainer).addEventListener('resize', this._scrollListener, false)\n } else {\n document.addEventListener('scroll', this._scrollListener, false)\n document.addEventListener('resize', this._scrollListener, false)\n }\n\n // Bind click listeners to disable animation.\n var timeout = null\n this._clickListener = throttle(function (event) {\n if (options.scrollSmooth) {\n buildHtml.disableTocAnimation(event)\n }\n buildHtml.updateToc(headingsArray)\n // Timeout to re-enable the animation.\n timeout && clearTimeout(timeout)\n timeout = setTimeout(function () {\n buildHtml.enableTocAnimation()\n }, options.scrollSmoothDuration)\n }, options.throttleTimeout)\n\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n document.querySelector(options.scrollContainer).addEventListener('click', this._clickListener, false)\n } else {\n document.addEventListener('click', this._clickListener, false)\n }\n\n return this\n }\n\n /**\n * Refresh tocbot.\n */\n tocbot.refresh = function (customOptions) {\n tocbot.destroy()\n tocbot.init(customOptions || this.options)\n }\n\n // Make tocbot available globally.\n root.tocbot = tocbot\n\n return tocbot\n})\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = {\n // Where to render the table of contents.\n tocSelector: '.js-toc',\n // Where to grab the headings to build the table of contents.\n contentSelector: '.js-toc-content',\n // Which headings to grab inside of the contentSelector element.\n headingSelector: 'h1, h2, h3',\n // Headings that match the ignoreSelector will be skipped.\n ignoreSelector: '.js-toc-ignore',\n // For headings inside relative or absolute positioned containers within content\n hasInnerContainers: false,\n // Main class to add to links.\n linkClass: 'toc-link',\n // Extra classes to add to links.\n extraLinkClasses: '',\n // Class to add to active links,\n // the link corresponding to the top most heading on the page.\n activeLinkClass: 'is-active-link',\n // Main class to add to lists.\n listClass: 'toc-list',\n // Extra classes to add to lists.\n extraListClasses: '',\n // Class that gets added when a list should be collapsed.\n isCollapsedClass: 'is-collapsed',\n // Class that gets added when a list should be able\n // to be collapsed but isn't necessarily collapsed.\n collapsibleClass: 'is-collapsible',\n // Class to add to list items.\n listItemClass: 'toc-list-item',\n // Class to add to active list items.\n activeListItemClass: 'is-active-li',\n // How many heading levels should not be collapsed.\n // For example, number 6 will show everything since\n // there are only 6 heading levels and number 0 will collapse them all.\n // The sections that are hidden will open\n // and close as you scroll to headings within them.\n collapseDepth: 0,\n // Smooth scrolling enabled.\n scrollSmooth: true,\n // Smooth scroll duration.\n scrollSmoothDuration: 420,\n // Smooth scroll offset.\n scrollSmoothOffset: 0,\n // Callback for scroll end.\n scrollEndCallback: function (e) {},\n // Headings offset between the headings and the top of the document (this is meant for minor adjustments).\n headingsOffset: 1,\n // Timeout between events firing to make sure it's\n // not too rapid (for performance reasons).\n throttleTimeout: 50,\n // Element to add the positionFixedClass to.\n positionFixedSelector: null,\n // Fixed position class to add to make sidebar fixed after scrolling\n // down past the fixedSidebarOffset.\n positionFixedClass: 'is-position-fixed',\n // fixedSidebarOffset can be any number but by default is set\n // to auto which sets the fixedSidebarOffset to the sidebar\n // element's offsetTop from the top of the document on init.\n fixedSidebarOffset: 'auto',\n // includeHtml can be set to true to include the HTML markup from the\n // heading node instead of just including the textContent.\n includeHtml: false,\n // onclick function to apply to all links in toc. will be called with\n // the event as the first parameter, and this can be used to stop,\n // propagation, prevent default or perform action\n onClick: function (e) {},\n // orderedList can be set to false to generate unordered lists (ul)\n // instead of ordered lists (ol)\n orderedList: true,\n // If there is a fixed article scroll container, set to calculate titles' offset\n scrollContainer: null,\n // prevent ToC DOM rendering if it's already rendered by an external system\n skipRendering: false,\n // Optional callback to change heading labels.\n // For example it can be used to cut down and put ellipses on multiline headings you deem too long.\n // Called each time a heading is parsed. Expects a string in return, the modified label to display.\n // function (string) => string\n headingLabelCallback: false,\n // ignore headings that are hidden in DOM\n ignoreHiddenElements: false,\n // Optional callback to modify properties of parsed headings.\n // The heading element is passed in node parameter and information parsed by default parser is provided in obj parameter.\n // Function has to return the same or modified obj.\n // The heading will be excluded from TOC if nothing is returned.\n // function (object, HTMLElement) => object | void\n headingObjectCallback: null,\n // Set the base path, useful if you use a `base` tag in `head`.\n basePath: '',\n // Only takes affect when `tocSelector` is scrolling,\n // keep the toc scroll position in sync with the content.\n disableTocScrollSync: false,\n};\n","/**\n * This file is responsible for building the DOM and updating DOM state.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function (options) {\n var forEach = [].forEach\n var some = [].some\n var body = document.body\n var currentlyHighlighting = true\n var SPACE_CHAR = ' '\n\n /**\n * Create link and list elements.\n * @param {Object} d\n * @param {HTMLElement} container\n * @return {HTMLElement}\n */\n function createEl (d, container) {\n var link = container.appendChild(createLink(d))\n if (d.children.length) {\n var list = createList(d.isCollapsed)\n d.children.forEach(function (child) {\n createEl(child, list)\n })\n link.appendChild(list)\n }\n }\n\n /**\n * Render nested heading array data into a given selector.\n * @param {String} selector\n * @param {Array} data\n * @return {HTMLElement}\n */\n function render (selector, data) {\n var collapsed = false\n var container = createList(collapsed)\n\n data.forEach(function (d) {\n createEl(d, container)\n })\n\n var parent = document.querySelector(selector)\n\n // Return if no parent is found.\n if (parent === null) {\n return\n }\n\n // Remove existing child if it exists.\n if (parent.firstChild) {\n parent.removeChild(parent.firstChild)\n }\n\n // Just return the parent and don't append the list if no links are found.\n if (data.length === 0) {\n return parent\n }\n\n // Append the Elements that have been created\n return parent.appendChild(container)\n }\n\n /**\n * Create link element.\n * @param {Object} data\n * @return {HTMLElement}\n */\n function createLink (data) {\n var item = document.createElement('li')\n var a = document.createElement('a')\n if (options.listItemClass) {\n item.setAttribute('class', options.listItemClass)\n }\n\n if (options.onClick) {\n a.onclick = options.onClick\n }\n\n if (options.includeHtml && data.childNodes.length) {\n forEach.call(data.childNodes, function (node) {\n a.appendChild(node.cloneNode(true))\n })\n } else {\n // Default behavior.\n a.textContent = data.textContent\n }\n a.setAttribute('href', options.basePath + '#' + data.id)\n a.setAttribute('class', options.linkClass +\n SPACE_CHAR + 'node-name--' + data.nodeName +\n SPACE_CHAR + options.extraLinkClasses)\n item.appendChild(a)\n return item\n }\n\n /**\n * Create list element.\n * @param {Boolean} isCollapsed\n * @return {HTMLElement}\n */\n function createList (isCollapsed) {\n var listElement = (options.orderedList) ? 'ol' : 'ul'\n var list = document.createElement(listElement)\n var classes = options.listClass +\n SPACE_CHAR + options.extraListClasses\n if (isCollapsed) {\n classes += SPACE_CHAR + options.collapsibleClass\n classes += SPACE_CHAR + options.isCollapsedClass\n }\n list.setAttribute('class', classes)\n return list\n }\n\n /**\n * Update fixed sidebar class.\n * @return {HTMLElement}\n */\n function updateFixedSidebarClass () {\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n var posFixedEl = document.querySelector(options.positionFixedSelector)\n\n if (options.fixedSidebarOffset === 'auto') {\n options.fixedSidebarOffset = document.querySelector(options.tocSelector).offsetTop\n }\n\n if (top > options.fixedSidebarOffset) {\n if (posFixedEl.className.indexOf(options.positionFixedClass) === -1) {\n posFixedEl.className += SPACE_CHAR + options.positionFixedClass\n }\n } else {\n posFixedEl.className = posFixedEl.className.split(SPACE_CHAR + options.positionFixedClass).join('')\n }\n }\n\n /**\n * Get top position of heading\n * @param {HTMLElement}\n * @return {integer} position\n */\n function getHeadingTopPos (obj) {\n var position = 0\n if (obj !== document.querySelector(options.contentSelector && obj != null)) {\n position = obj.offsetTop\n if (options.hasInnerContainers) { position += getHeadingTopPos(obj.offsetParent) }\n }\n return position\n }\n\n /**\n * Update TOC highlighting and collapsed groups\n */\n function updateToc (headingsArray) {\n // If a fixed content container was set\n if (options.scrollContainer && document.querySelector(options.scrollContainer)) {\n var top\n top = document.querySelector(options.scrollContainer).scrollTop\n } else {\n top = document.documentElement.scrollTop || body.scrollTop\n }\n\n // Add fixed class at offset\n if (options.positionFixedSelector) {\n updateFixedSidebarClass()\n }\n\n // Get the most TOP heading currently visible on the page to\n // identify what element to be highlighted\n var headings = headingsArray;\n var topHeader;\n var headingTopPos;\n\n // Using some instead of each so that we can escape early\n if (currentlyHighlighting &&\n document.querySelector(options.tocSelector) !== null &&\n headings.length > 0) {\n some.call(headings, function (heading, i) {\n headingTopPos = getHeadingTopPos(heading)\n if (headingTopPos > top + options.headingsOffset + 10) {\n // Don't allow negative index value\n // var index = (i === 0) ? i : i - 1;\n // topHeader = headings[index];\n // jadams, index correction seems NOT needed\n topHeader = headings[i];\n return true\n } else if (i === headings.length - 1) {\n // This allows scrolling for the last heading on the page\n topHeader = headings[headings.length - 1]\n return true\n }\n })\n\n // Remove the active class from the other tocLinks.\n var tocLinks = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.linkClass)\n forEach.call(tocLinks, function (tocLink) {\n tocLink.className = tocLink.className.split(SPACE_CHAR + options.activeLinkClass).join('')\n })\n var tocLis = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listItemClass)\n forEach.call(tocLis, function (tocLi) {\n tocLi.className = tocLi.className.split(SPACE_CHAR + options.activeListItemClass).join('')\n })\n\n // Add the active class to the active tocLink.\n var activeTocLink = document.querySelector(options.tocSelector)\n .querySelector('.' + options.linkClass +\n '.node-name--' + topHeader.nodeName +\n '[href=\"' + options.basePath + '#' + topHeader.id.replace(/([ #;&,.+*~':\"!^$[\\]()=>|/@])/g, '\\\\$1') + '\"]')\n if (activeTocLink.className.indexOf(options.activeLinkClass) === -1) {\n activeTocLink.className += SPACE_CHAR + options.activeLinkClass\n }\n var li = activeTocLink.parentNode\n if (li && li.className.indexOf(options.activeListItemClass) === -1) {\n li.className += SPACE_CHAR + options.activeListItemClass\n }\n\n var tocLists = document.querySelector(options.tocSelector)\n .querySelectorAll('.' + options.listClass + '.' + options.collapsibleClass)\n\n // Collapse the other collapsible lists.\n forEach.call(tocLists, function (list) {\n if (list.className.indexOf(options.isCollapsedClass) === -1) {\n list.className += SPACE_CHAR + options.isCollapsedClass\n }\n })\n\n // Expand the active link's collapsible list and its sibling if applicable.\n if (activeTocLink.nextSibling && activeTocLink.nextSibling.className.indexOf(options.isCollapsedClass) !== -1) {\n activeTocLink.nextSibling.className = activeTocLink.nextSibling.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n }\n removeCollapsedFromParents(activeTocLink.parentNode.parentNode)\n }\n }\n\n /**\n * Remove collpased class from parent elements.\n * @param {HTMLElement} element\n * @return {HTMLElement}\n */\n function removeCollapsedFromParents (element) {\n if (element.className.indexOf(options.collapsibleClass) !== -1 && element.className.indexOf(options.isCollapsedClass) !== -1) {\n element.className = element.className.split(SPACE_CHAR + options.isCollapsedClass).join('')\n return removeCollapsedFromParents(element.parentNode.parentNode)\n }\n return element\n }\n\n /**\n * Disable TOC Animation when a link is clicked.\n * @param {Event} event\n */\n function disableTocAnimation (event) {\n var target = event.target || event.srcElement\n if (typeof target.className !== 'string' || target.className.indexOf(options.linkClass) === -1) {\n return\n }\n // Bind to tocLink clicks to temporarily disable highlighting\n // while smoothScroll is animating.\n currentlyHighlighting = false\n }\n\n /**\n * Enable TOC Animation.\n */\n function enableTocAnimation () {\n currentlyHighlighting = true\n }\n\n return {\n enableTocAnimation: enableTocAnimation,\n disableTocAnimation: disableTocAnimation,\n render: render,\n updateToc: updateToc\n }\n}\n","/**\n * This file is responsible for parsing the content from the DOM and making\n * sure data is nested properly.\n *\n * @author Tim Scanlin\n */\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function parseContent (options) {\n var reduce = [].reduce\n\n /**\n * Get the last item in an array and return a reference to it.\n * @param {Array} array\n * @return {Object}\n */\n function getLastItem (array) {\n return array[array.length - 1]\n }\n\n /**\n * Get heading level for a heading dom node.\n * @param {HTMLElement} heading\n * @return {Number}\n */\n function getHeadingLevel (heading) {\n return +heading.nodeName.split('H').join('')\n }\n\n /**\n * Get important properties from a heading element and store in a plain object.\n * @param {HTMLElement} heading\n * @return {Object}\n */\n function getHeadingObject (heading) {\n // each node is processed twice by this method because nestHeadingsArray() and addNode() calls it\n // first time heading is real DOM node element, second time it is obj\n // that is causing problem so I am processing only original DOM node\n if (!(heading instanceof window.HTMLElement)) return heading\n\n if (options.ignoreHiddenElements && (!heading.offsetHeight || !heading.offsetParent)) {\n return null\n }\n\n var obj = {\n id: heading.id,\n children: [],\n nodeName: heading.nodeName,\n headingLevel: getHeadingLevel(heading),\n textContent: options.headingLabelCallback ? String(options.headingLabelCallback(heading.textContent)) : heading.textContent.trim()\n }\n\n if (options.includeHtml) {\n obj.childNodes = heading.childNodes\n }\n\n if (options.headingObjectCallback) {\n return options.headingObjectCallback(obj, heading)\n }\n\n return obj\n }\n\n /**\n * Add a node to the nested array.\n * @param {Object} node\n * @param {Array} nest\n * @return {Array}\n */\n function addNode (node, nest) {\n var obj = getHeadingObject(node)\n var level = obj.headingLevel\n var array = nest\n var lastItem = getLastItem(array)\n var lastItemLevel = lastItem\n ? lastItem.headingLevel\n : 0\n var counter = level - lastItemLevel\n\n while (counter > 0) {\n lastItem = getLastItem(array)\n if (lastItem && lastItem.children !== undefined) {\n array = lastItem.children\n }\n counter--\n }\n\n if (level >= options.collapseDepth) {\n obj.isCollapsed = true\n }\n\n array.push(obj)\n return array\n }\n\n /**\n * Select headings in content area, exclude any selector in options.ignoreSelector\n * @param {String} contentSelector\n * @param {Array} headingSelector\n * @return {Array}\n */\n function selectHeadings (contentSelector, headingSelector) {\n var selectors = headingSelector\n if (options.ignoreSelector) {\n selectors = headingSelector.split(',')\n .map(function mapSelectors (selector) {\n return selector.trim() + ':not(' + options.ignoreSelector + ')'\n })\n }\n try {\n return document.querySelector(contentSelector)\n .querySelectorAll(selectors)\n } catch (e) {\n console.warn('Element not found: ' + contentSelector); // eslint-disable-line\n return null\n }\n }\n\n /**\n * Nest headings array into nested arrays with 'children' property.\n * @param {Array} headingsArray\n * @return {Object}\n */\n function nestHeadingsArray (headingsArray) {\n return reduce.call(headingsArray, function reducer (prev, curr) {\n var currentHeading = getHeadingObject(curr)\n if (currentHeading) {\n addNode(currentHeading, prev.nest)\n }\n return prev\n }, {\n nest: []\n })\n }\n\n return {\n nestHeadingsArray: nestHeadingsArray,\n selectHeadings: selectHeadings\n }\n}\n","// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n\nmodule.exports = function updateTocScroll(options) {\n var toc = document.querySelector(options.tocSelector);\n if (toc && toc.scrollHeight > toc.clientHeight) {\n var activeItem = toc.querySelector('.' + options.activeListItemClass);\n if (activeItem) {\n toc.scrollTop = activeItem.offsetTop;\n }\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/tocbot/scroll-smooth/index.js\n # Scroll-Smooth (Tocbot v4.12.0) implementation for J1 template\n #\n # Product/Info:\n # https://jekyll.one\n # https://tscanlin.github.io/tocbot\n # https://github.com/tscanlin/tocbot\n #\n # Copyright (C) 2021 Juergen Adams\n # Copyright (C) 2016 Tim Scanlin\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # Tocbot is licensed under the MIT License.\n # For details, https://github.com/tscanlin/tocbot/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint no-redeclare: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-empty: \"off\" */\n/* eslint semi: \"off\" */\n// -----------------------------------------------------------------------------\n/* globals location, requestAnimationFrame */\n\nexports.initSmoothScrolling = initSmoothScrolling\n\nfunction initSmoothScrolling (options) {\n if (isCssSmoothSCrollSupported()) { }\n\n var duration = options.duration\n var offset = options.offset\n\n var pageUrl = location.hash\n ? stripHash(location.href)\n : location.href\n\n delegatedLinkHijacking()\n\n function delegatedLinkHijacking () {\n document.body.addEventListener('click', onClick, false)\n\n function onClick (e) {\n if (\n !isInPageLink(e.target) ||\n e.target.className.indexOf('no-smooth-scroll') > -1 ||\n (e.target.href.charAt(e.target.href.length - 2) === '#' &&\n e.target.href.charAt(e.target.href.length - 1) === '!') ||\n e.target.className.indexOf(options.linkClass) === -1) {\n return\n }\n\n // Don't prevent default or hash doesn't change.\n // e.preventDefault()\n\n jump(e.target.hash, {\n duration: duration,\n offset: offset,\n callback: function () {\n setFocus(e.target.hash)\n }\n })\n }\n }\n\n function isInPageLink (n) {\n return n.tagName.toLowerCase() === 'a' &&\n (n.hash.length > 0 || n.href.charAt(n.href.length - 1) === '#') &&\n (stripHash(n.href) === pageUrl || stripHash(n.href) + '#' === pageUrl)\n }\n\n function stripHash (url) {\n return url.slice(0, url.lastIndexOf('#'))\n }\n\n function isCssSmoothSCrollSupported () {\n return 'scrollBehavior' in document.documentElement.style\n }\n\n // Adapted from:\n // https://www.nczonline.net/blog/2013/01/15/fixing-skip-to-content-links/\n function setFocus (hash) {\n var element = document.getElementById(hash.substring(1))\n\n if (element) {\n if (!/^(?:a|select|input|button|textarea)$/i.test(element.tagName)) {\n element.tabIndex = -1\n }\n\n element.focus()\n }\n }\n}\n\nfunction jump (target, options) {\n var start = window.pageYOffset\n var opt = {\n duration: options.duration,\n offset: options.offset || 0,\n callback: options.callback,\n easing: options.easing || easeInOutQuad\n }\n // This makes ids that start with a number work: ('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n // DecodeURI for nonASCII hashes, they was encoded, but id was not encoded, it lead to not finding the tgt element by id.\n // And this is for IE: document.body.scrollTop\n var tgt = document.querySelector('[id=\"' + decodeURI(target).split('#').join('') + '\"]')\n var distance = typeof target === 'string'\n ? opt.offset + (\n target\n ? (tgt && tgt.getBoundingClientRect().top) || 0 // handle non-existent links better.\n : -(document.documentElement.scrollTop || document.body.scrollTop))\n : target\n var duration = typeof opt.duration === 'function'\n ? opt.duration(distance)\n : opt.duration\n var timeStart\n var timeElapsed\n\n requestAnimationFrame(function (time) { timeStart = time; loop(time) })\n function loop (time) {\n timeElapsed = time - timeStart\n\n window.scrollTo(0, opt.easing(timeElapsed, start, distance, duration))\n\n if (timeElapsed < duration) { requestAnimationFrame(loop) } else { end() }\n }\n\n function end () {\n window.scrollTo(0, start + distance)\n\n if (typeof opt.callback === 'function') { opt.callback() }\n }\n\n // Robert Penner's easeInOutQuad - http://robertpenner.com/easing/\n function easeInOutQuad (t, b, c, d) {\n t /= d / 2\n if (t < 1) return c / 2 * t * t + b\n t--\n return -c / 2 * (t * (t - 2) - 1) + b\n }\n}\n","/*\n # -----------------------------------------------------------------------------\n # ~/js/adoc_result_viewer/view_results.js\n # Provides JavaScript functions displaying results for Asciidoctor\n # example block\n #\n # Product/Info:\n # https://jekyll.one\n #\n # Copyright (C) 2021 Juergen Adams\n #\n # J1 Template is licensed under MIT License.\n # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE\n # -----------------------------------------------------------------------------\n # TODO: Improve lanuage settings\n # TODO: Improve auto-hide functionality for the results block\n # -----------------------------------------------------------------------------\n*/\n\n// -----------------------------------------------------------------------------\n// ESLint shimming\n// -----------------------------------------------------------------------------\n/* eslint indent: \"off\" */\n/* global $ */\n// -----------------------------------------------------------------------------\n\nvar timeoutHandle;\n// var language = 'de';\nvar language = document.documentElement.lang;\n\nfunction toggle_result_block(result_block) {\n window.clearTimeout(timeoutHandle); // Clear the timeout object\n result_block.prev().toggleClass('stacked');\n result_block.toggle();\n\n // jadams: Improve auto-hide functionality for the results block\n //\n // timeoutHandle = window.setTimeout(function () {\n // result_block.hide();\n // }, 5000);\n}\n\nfunction insert_result_links() {\n $('.result').each(function(idx, node) {\n var view_result_link;\n var result_block = $(node);\n var title_div = result_block.prev().find('.title');\n\n if (language == 'en') {\n view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"toggle results\" data-original-title=\"toggle results\">View</span></div>');\n } else if (language == 'de') {\n view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"Anzeige umschalten\" data-original-title=\"toggle results\">Anzeige</span></div>');\n } else {\n view_result_link = $('<div class=\"view-result j1-viewer\"><span class=\"btn-viewer j1-tooltip\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"toggle results\" data-original-title=\"toggle results\">View</span></div>');\n }\n\n title_div.append(view_result_link);\n view_result_link.on('click', function(event) {\n event.preventDefault();\n toggle_result_block(result_block);\n });\n });\n}\n\n$(insert_result_links);\n"],"sourceRoot":""}
|
@@ -28,7 +28,7 @@
|
|
28
28
|
* J1 Core
|
29
29
|
* Copyright (C) 2021 Juergen Adams
|
30
30
|
* Licensed under MIT License.
|
31
|
-
*/e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},void 0);return{_init_:function(e){},getState:function(){return"loaded"},isMobile:function(e){var t,n=!1;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(t.substr(0,4)))&&(n=!0),n},bsFormClearButton:function(){$(":input").on("keydown focus change mouseover",(function(){$(this).val().length>0&&$(this).nextAll(".form-clear").removeClass("d-none")})).on("keydown keyup blur",(function(){0===$(this).val().length&&$(this).nextAll(".form-clear").addClass("d-none")}))}}}()},function(e,t){e.exports=function(e){var t,n,r={};$.extend({foo:"bar",bar:"foo"},e);return{init:function(e,o){return t=log4javascript.getLogger("j1.core.navigator"),n="core is being initialized",t.info(n),this.manageDropdownMenu(e,o),this.navbarSticky(),this.eventHandler(),r.type="command",r.action="core_initialized",r.text="navigator core initialized",j1.sendMessage("j1.core.navigator","j1.adapter.navigator",r),!0},eventHandler:function(){var e=log4javascript.getLogger("j1.core.navigator.eventHandler"),t=$("nav.navbar.navigator");if($('a[href="#"]').click((function(t){t.preventDefault?t.preventDefault():t.returnValue=!1,e.info('bound click event to "#", suppress default action')})),t.hasClass("navbar-sticky")&&t.wrap("<div class='wrap-sticky'></div>"),t.hasClass("brand-center")){var n=new Array,r=$("nav.brand-center"),o=r.find("ul.navbar-nav");r.find("ul.navbar-nav > li").each((function(){n.push($(this).html())}));var a=n.splice(0,Math.round(n.length/2)),i=n,s="",l=function(e){s="";for(var t=0;t<e.length;t++)s+="<li>"+e[t]+"</li>"};l(a),o.html(s),r.find("ul.nav").first().addClass("navbar-left"),l(i),o.after('<ul class="nav navbar-nav"></ul>').next().html(s),r.find("ul.nav").last().addClass("navbar-right"),r.find("ul.nav.navbar-left").wrap("<div class='col_half left'></div>"),r.find("ul.nav.navbar-right").wrap("<div class='col_half right'></div>"),r.find("ul.navbar-nav > li").each((function(){var e=$("ul.dropdown-menu",this),t=$("ul.megamenu-content",this);e.closest("li").addClass("dropdown"),t.closest("li").addClass("megamenu-fw")}))}t.find("ul.nav").hasClass("navbar-center")&&t.addClass("menu-center"),t.hasClass("navbar-full")?($("nav.navbar.navigator").find("ul.nav").wrap("<div class='wrap-full-menu'></div>"),$(".wrap-full-menu").wrap("<div class='nav-full'></div>"),$("ul.nav.navbar-nav").prepend("<li class='close-full-menu'><a href='#'><i class='mdi mdi-close'></i></a></li>")):t.hasClass("navbar-mobile")?t.removeClass("no-full"):t.addClass("no-full"),t.hasClass("no-background")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?$(".navbar-fixed").removeClass("no-background"):$(".navbar-fixed").addClass("no-background")})),t.hasClass("navbar-transparent")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?($(".navbar-fixed").removeClass("navbar-transparent"),$(".navbar-fixed").addClass("navbar-scrolled")):($(".navbar-fixed").removeClass("navbar-scrolled"),$(".navbar-fixed").addClass("navbar-transparent"))})),$(".attr-nav").each((function(){e.debug("register OPEN event|s for QuickSearch"),$("li.search > a",this).on("click",(function(t){e.debug("manage search action OPEN"),$("html,body").animate({scrollTop:0},0),$(".top-search").slideToggle("slow","swing",(function(){$(".top-search").is(":visible")?($("body").addClass("stop-scrolling"),$("body").bind("touchmove",(function(e){e.preventDefault()}))):($("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"))}))}))})),e.debug("register CLOSE event|s for QuickSearch"),$(".input-group-addon.close-search").on("click",(function(t){t.preventDefault(),e.debug("manage search action CLOSE"),$(".top-search").slideUp("slow","swing"),$("html,body").animate({scrollTop:0},0),$("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"),t.stopPropagation()})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register SHOW|HIDE event|s for J1 Translator"),$("li.translator > a",this).on("click",(function(t){e.debug("toggle translator icon SHOW|HIDE"),$("#google_translate_element").toggle(),"none"!==$("#google_translate_element").css("display")&&$("html,body").animate({scrollTop:0},"slow")}))})),$("body").wrapInner("<div class='wrapper'></div>")},manageDropdownMenu:function(e,t){var n,r,o,a,i=e,s=t,l=$("nav.navbar.navigator"),c=(window.matchMedia("(orientation: landscape)").matches,$(window).width()),u=($("nav").width(),l.find("ul.nav").data("in")),d=l.find("ul.nav").data("out"),p="#"+s.xhr_container_id+".collapse",h=s.delay_menu_open;if(c<=(r="lg"===i.nav_bar.media_breakpoint?992:"md"===i.nav_bar.media_breakpoint?768:"sm"===i.nav_bar.media_breakpoint?576:992)?($(p).addClass("navbar-collapse"),$(p).removeClass("show"),$("#navigator_nav_quicklinks").addClass("show"),$("nav.navbar.navigator .attr-nav").each((function(){$(".dropdown-menu",this).removeClass("animated"),$("li.dropdown",this).off("mouseenter"),$("li.dropdown",this).off("mouseleave"),$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle(),$(".navbar-toggle").each((function(){$(".mdi",this).removeClass("mdi-close"),$(".mdi",this).addClass("mdi-menu"),$(".navbar-collapse").removeClass("in"),$(".navbar-collapse").removeClass("open")}))})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).stop().fadeOut(),$("li.dropdown",this).removeClass("open")}))})),$("#desktop_menu").hide()):c>r&&($("#navigator_nav_quicklinks").removeClass("show"),$("#desktop_menu").show(),$(".dropdown-menu > li").on("mouseenter",(function(){if($("body").hasClass("stop-scrolling"))return!1;$("body").addClass("stop-scrolling")})),$(".dropdown-menu > li").on("mouseleave",(function(){$("body").hasClass("stop-scrolling")&&$("body").removeClass("stop-scrolling")})),$(".dropdown-menu > li").hover((function(){var e=$(this).find("ul");1==e.length&&e.addClass("scrollable-menu")})),$(p).removeClass("navbar-collapse"),$(p).addClass("show"),$("nav.navbar.navigator ul.nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".megamenu-fw",this).each((function(){$(".title",this).off("click"),$("a.dropdown-toggle",this).off("click"),$(".content").removeClass("animated")})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){n=$(".dropdown-menu",this).eq(0),o=$(this),n.removeClass(d),n.removeClass("open"),o.addClass("open"),a=window.setTimeout((function(){o.hasClass("open")&&(n.stop().fadeIn().addClass(u),n.addClass("open"),o.addClass("open"))}),h)})),$("li.dropdown",this).on("mouseleave",(function(){window.clearTimeout(a),$(this).removeClass("open").removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)})),$(this).on("mouseleave",(function(){window.clearTimeout(a),$("li.dropdown",this).removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)}))}))),$("nav.navbar.navigator .attr-nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){$(".dropdown-menu",this).eq(0).removeClass(d),$(".dropdown-menu",this).eq(0).stop().fadeIn().addClass(u),$(this).addClass("open")})),$("li.dropdown",this).on("mouseleave",(function(){$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$(this).removeClass("open")})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$("li.dropdown",this).removeClass("open")}))})),l.hasClass("navbar-full")){var g=$(window).height(),m=$(window).width();$(".nav-full").css("height",g+"px"),$(".wrap-full-menu").css("height",g+"px"),$(".wrap-full-menu").css("width",m+"px"),$(".navbar-collapse").addClass("animated"),$(".navbar-toggle").each((function(){var e=$(this).data("target");$(this).off("click"),$(this).on("click",(function(t){t.preventDefault(),$(e).removeClass(d),$(e).addClass("in"),$(e).addClass(u)})),$("li.close-full-menu").on("click",(function(t){t.preventDefault(),$(e).addClass(d),setTimeout((function(){$(e).removeClass("in"),$(e).removeClass(u)}),500)}))}))}},navbarSticky:function(){var e=$("nav.navbar.navigator");if(e.hasClass("navbar-sticky")){var t=e.height();$(".wrap-sticky").height(t);var n=$(".wrap-sticky").offset().top;$(window).on("scroll",(function(){$(window).scrollTop()>n?e.addClass("sticked"):e.removeClass("sticked")}))}},updateSidebar:function(e){var t,r=log4javascript.getLogger("j1.core.navigator.updateSidebar");return t=JSON.stringify(e),n="user state data: "+t,r.debug(n),j1.resolveMacros(e),j1.updateMacros(e),!0}}}(jQuery)},function(e,t){
|
31
|
+
*/e.exports=function(e){$.extend({foo:"foo_option",bar:"bar_option"},void 0);return{_init_:function(e){},getState:function(){return"loaded"},isMobile:function(e){var t,n=!1;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(t.substr(0,4)))&&(n=!0),n},bsFormClearButton:function(){$(":input").on("keydown focus change mouseover",(function(){$(this).val().length>0&&$(this).nextAll(".form-clear").removeClass("d-none")})).on("keydown keyup blur",(function(){0===$(this).val().length&&$(this).nextAll(".form-clear").addClass("d-none")}))},createDropCap:function(){$(".paragraph.dropcap").children("p").addClass("dropcap"),$("p.dropcap").length&&$("p.dropcap").each((function(){var e=$(this),t=$.trim(e.text()),n=t[0],r='<span class="j1-dropcap">'+n+"</span>";e.html(t.replace(n,r))}))}}}()},function(e,t){e.exports=function(e){var t,n,r={};$.extend({foo:"bar",bar:"foo"},e);return{init:function(e,o){return t=log4javascript.getLogger("j1.core.navigator"),n="core is being initialized",t.info(n),this.manageDropdownMenu(e,o),this.navbarSticky(),this.eventHandler(),r.type="command",r.action="core_initialized",r.text="navigator core initialized",j1.sendMessage("j1.core.navigator","j1.adapter.navigator",r),!0},eventHandler:function(){var e=log4javascript.getLogger("j1.core.navigator.eventHandler"),t=$("nav.navbar.navigator");if($('a[href="#"]').click((function(t){t.preventDefault?t.preventDefault():t.returnValue=!1,e.info('bound click event to "#", suppress default action')})),t.hasClass("navbar-sticky")&&t.wrap("<div class='wrap-sticky'></div>"),t.hasClass("brand-center")){var n=new Array,r=$("nav.brand-center"),o=r.find("ul.navbar-nav");r.find("ul.navbar-nav > li").each((function(){n.push($(this).html())}));var a=n.splice(0,Math.round(n.length/2)),i=n,s="",l=function(e){s="";for(var t=0;t<e.length;t++)s+="<li>"+e[t]+"</li>"};l(a),o.html(s),r.find("ul.nav").first().addClass("navbar-left"),l(i),o.after('<ul class="nav navbar-nav"></ul>').next().html(s),r.find("ul.nav").last().addClass("navbar-right"),r.find("ul.nav.navbar-left").wrap("<div class='col_half left'></div>"),r.find("ul.nav.navbar-right").wrap("<div class='col_half right'></div>"),r.find("ul.navbar-nav > li").each((function(){var e=$("ul.dropdown-menu",this),t=$("ul.megamenu-content",this);e.closest("li").addClass("dropdown"),t.closest("li").addClass("megamenu-fw")}))}t.find("ul.nav").hasClass("navbar-center")&&t.addClass("menu-center"),t.hasClass("navbar-full")?($("nav.navbar.navigator").find("ul.nav").wrap("<div class='wrap-full-menu'></div>"),$(".wrap-full-menu").wrap("<div class='nav-full'></div>"),$("ul.nav.navbar-nav").prepend("<li class='close-full-menu'><a href='#'><i class='mdi mdi-close'></i></a></li>")):t.hasClass("navbar-mobile")?t.removeClass("no-full"):t.addClass("no-full"),t.hasClass("no-background")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?$(".navbar-fixed").removeClass("no-background"):$(".navbar-fixed").addClass("no-background")})),t.hasClass("navbar-transparent")&&$(window).on("scroll",(function(){var e=$("nav.navbar").outerHeight();$(window).scrollTop()>e?($(".navbar-fixed").removeClass("navbar-transparent"),$(".navbar-fixed").addClass("navbar-scrolled")):($(".navbar-fixed").removeClass("navbar-scrolled"),$(".navbar-fixed").addClass("navbar-transparent"))})),$(".attr-nav").each((function(){e.debug("register OPEN event|s for QuickSearch"),$("li.search > a",this).on("click",(function(t){e.debug("manage search action OPEN"),$("html,body").animate({scrollTop:0},0),$(".top-search").slideToggle("slow","swing",(function(){$(".top-search").is(":visible")?($("body").addClass("stop-scrolling"),$("body").bind("touchmove",(function(e){e.preventDefault()}))):($("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"))}))}))})),e.debug("register CLOSE event|s for QuickSearch"),$(".input-group-addon.close-search").on("click",(function(t){t.preventDefault(),e.debug("manage search action CLOSE"),$(".top-search").slideUp("slow","swing"),$("html,body").animate({scrollTop:0},0),$("body").removeClass("stop-scrolling"),$("body").unbind("touchmove"),t.stopPropagation()})),$("nav.navbar.navigator .attr-nav").each((function(){e.debug("register SHOW|HIDE event|s for J1 Translator"),$("li.translator > a",this).on("click",(function(t){e.debug("toggle translator icon SHOW|HIDE"),$("#google_translate_element").toggle(),"none"!==$("#google_translate_element").css("display")&&$("html,body").animate({scrollTop:0},"slow")}))})),$("body").wrapInner("<div class='wrapper'></div>")},manageDropdownMenu:function(e,t){var n,r,o,a,i=e,s=t,l=$("nav.navbar.navigator"),c=(window.matchMedia("(orientation: landscape)").matches,$(window).width()),u=($("nav").width(),l.find("ul.nav").data("in")),d=l.find("ul.nav").data("out"),p="#"+s.xhr_container_id+".collapse",h=s.delay_menu_open;if(c<=(r="lg"===i.nav_bar.media_breakpoint?992:"md"===i.nav_bar.media_breakpoint?768:"sm"===i.nav_bar.media_breakpoint?576:992)?($(p).addClass("navbar-collapse"),$(p).removeClass("show"),$("#navigator_nav_quicklinks").addClass("show"),$("nav.navbar.navigator .attr-nav").each((function(){$(".dropdown-menu",this).removeClass("animated"),$("li.dropdown",this).off("mouseenter"),$("li.dropdown",this).off("mouseleave"),$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){$(this).closest("li.dropdown").find(".dropdown-menu").first().stop().fadeToggle(),$(".navbar-toggle").each((function(){$(".mdi",this).removeClass("mdi-close"),$(".mdi",this).addClass("mdi-menu"),$(".navbar-collapse").removeClass("in"),$(".navbar-collapse").removeClass("open")}))})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).stop().fadeOut(),$("li.dropdown",this).removeClass("open")}))})),$("#desktop_menu").hide()):c>r&&($("#navigator_nav_quicklinks").removeClass("show"),$("#desktop_menu").show(),$(".dropdown-menu > li").on("mouseenter",(function(){if($("body").hasClass("stop-scrolling"))return!1;$("body").addClass("stop-scrolling")})),$(".dropdown-menu > li").on("mouseleave",(function(){$("body").hasClass("stop-scrolling")&&$("body").removeClass("stop-scrolling")})),$(".dropdown-menu > li").hover((function(){var e=$(this).find("ul");1==e.length&&e.addClass("scrollable-menu")})),$(p).removeClass("navbar-collapse"),$(p).addClass("show"),$("nav.navbar.navigator ul.nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".megamenu-fw",this).each((function(){$(".title",this).off("click"),$("a.dropdown-toggle",this).off("click"),$(".content").removeClass("animated")})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){n=$(".dropdown-menu",this).eq(0),o=$(this),n.removeClass(d),n.removeClass("open"),o.addClass("open"),a=window.setTimeout((function(){o.hasClass("open")&&(n.stop().fadeIn().addClass(u),n.addClass("open"),o.addClass("open"))}),h)})),$("li.dropdown",this).on("mouseleave",(function(){window.clearTimeout(a),$(this).removeClass("open").removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)})),$(this).on("mouseleave",(function(){window.clearTimeout(a),$("li.dropdown",this).removeClass("open"),$(".dropdown-menu",this).removeClass("open"),$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d)}))}))),$("nav.navbar.navigator .attr-nav").each((function(){$("a.dropdown-toggle",this).off("click"),$("a.dropdown-toggle",this).on("click",(function(e){})),$(".dropdown-menu",this).addClass("animated"),$("li.dropdown",this).on("mouseenter",(function(){$(".dropdown-menu",this).eq(0).removeClass(d),$(".dropdown-menu",this).eq(0).stop().fadeIn().addClass(u),$(this).addClass("open")})),$("li.dropdown",this).on("mouseleave",(function(){$(".dropdown-menu",this).eq(0).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$(this).removeClass("open")})),$(this).on("mouseleave",(function(){$(".dropdown-menu",this).removeClass(u),$(".dropdown-menu",this).eq(0).stop().fadeOut().addClass(d),$("li.dropdown",this).removeClass("open")}))})),l.hasClass("navbar-full")){var g=$(window).height(),m=$(window).width();$(".nav-full").css("height",g+"px"),$(".wrap-full-menu").css("height",g+"px"),$(".wrap-full-menu").css("width",m+"px"),$(".navbar-collapse").addClass("animated"),$(".navbar-toggle").each((function(){var e=$(this).data("target");$(this).off("click"),$(this).on("click",(function(t){t.preventDefault(),$(e).removeClass(d),$(e).addClass("in"),$(e).addClass(u)})),$("li.close-full-menu").on("click",(function(t){t.preventDefault(),$(e).addClass(d),setTimeout((function(){$(e).removeClass("in"),$(e).removeClass(u)}),500)}))}))}},navbarSticky:function(){var e=$("nav.navbar.navigator");if(e.hasClass("navbar-sticky")){var t=e.height();$(".wrap-sticky").height(t);var n=$(".wrap-sticky").offset().top;$(window).on("scroll",(function(){$(window).scrollTop()>n?e.addClass("sticked"):e.removeClass("sticked")}))}},updateSidebar:function(e){var t,r=log4javascript.getLogger("j1.core.navigator.updateSidebar");return t=JSON.stringify(e),n="user state data: "+t,r.debug(n),j1.resolveMacros(e),j1.updateMacros(e),!0}}}(jQuery)},function(e,t){
|
32
32
|
/*!
|
33
33
|
* J1 Asciidoctor
|
34
34
|
* Copyright (C) 2021 Juergen Adams
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["dist/template.js"],"names":["e","t","n","r","exports","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","this","Function","window","Cookies","log4javascript","liteURL","platform","j1","adapter","core","navigator","asciidoctor","scrollSmooth","anime","a","noConflict","arguments","length","replace","decodeURIComponent","document","path","defaults","expires","Date","toUTCString","JSON","stringify","test","write","encodeURIComponent","String","escape","split","cookie","slice","join","charAt","read","parse","set","getJSON","remove","withConverter","module","__webpack_require__","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","factory","isUndefined","EventSupport","Array","push","shift","splice","concat","eventTypes","eventListeners","setEventTypes","handleError","addEventListener","array_contains","removeEventListener","array_remove","dispatchEvent","applicationStartDate","uniqueId","getTime","Math","floor","random","emptyFunction","newLine","pageLoaded","Log4JavaScript","toStr","toString","getExceptionMessage","message","description","getUrlFileName","max","lastIndexOf","substr","getExceptionStringRep","lineNumber","fileName","logLog","warn","showStackTraces","stack","bool","Boolean","trim","splitIntoLines","version","edition","urlEncode","extractBooleanFromParam","extractStringFromParam","extractIntFromParam","parseInt","isNaN","extractFunctionFromParam","isError","Error","apply","obj","args","methodName","argsStrings","len","script","returnValue","eval","quietMode","debugMessages","setQuietMode","numberOfErrors","alertAllErrors","setAlertAllErrors","debug","displayDebug","alert","error","exception","enabled","log4javascript_disabled","setEnabled","isEnabled","useTimeStampsInMilliseconds","setTimeStampsInMilliseconds","isTimeStampsInMilliseconds","evalInScope","expr","setShowStackTraces","Level","level","name","Timer","INFO","start","equals","isGreaterOrEqual","ALL","Number","MIN_VALUE","TRACE","DEBUG","WARN","ERROR","FATAL","OFF","MAX_VALUE","getElapsedTime","anonymousLoggerName","defaultLoggerName","nullLoggerName","rootLoggerName","Logger","parent","children","addChild","invalidateAppenderCache","getAdditivity","setAdditivity","addAppender","Appender","setAddedToLogger","removeAppender","setRemovedFromLogger","removeAllAppenders","getEffectiveAppenders","log","getEffectiveLevel","LoggingEvent","callAppenders","doAppend","setLevel","getLevel","group","groupEnd","time","timeEnd","assert","trace","info","fatal","isEnabledFor","isTraceEnabled","isDebugEnabled","isInfoEnabled","isWarnEnabled","isErrorEnabled","isFatalEnabled","isEntryPoint","loggers","loggerNames","ROOT_LOGGER_DEFAULT_LEVEL","rootLogger","getRootLogger","getLogger","substring","defaultLogger","getDefaultLogger","createDefaultLogger","nullLogger","getNullLogger","resetConfiguration","logger","timeStamp","timeStampInMilliseconds","timeStampInSeconds","milliseconds","getMilliseconds","messages","getThrowableStrRep","getCombinedMessages","Layout","loggerKey","timeStampKey","millisecondsKey","levelKey","messageKey","exceptionKey","urlKey","batchHeader","batchFooter","batchSeparator","returnsPostData","overrideTimeStampsSetting","format","ignoresThrowable","getContentType","allowBatching","getTimeStampValue","getDataValues","location","href","hasCustomFields","customFields","setKeys","setCustomField","formatWithException","SimpleDateFormat","SimpleLayout","NullLayout","XmlLayout","combineMessages","escapeNewLines","JsonLayout","readable","colon","tab","lineBreak","HttpPostDataLayout","formatObjectExpansion","u","PatternLayout","pattern","DEFAULT_CONVERSION_PATTERN","AlertAppender","BrowserConsoleAppender","layout","threshold","append","setLayout","getLayout","setThreshold","getThreshold","isCombinedMessages","escapeCdata","isReadable","G","y","M","w","W","D","F","E","H","k","K","h","S","Z","setMilliseconds","getDifference","isBefore","getUTCTime","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getTimeSince","getPreviousSunday","getDay","getWeekInYear","minimalDaysInFirstWeek","getWeekInMonth","getDayInYear","formatString","setMinimalDaysInFirstWeek","getMinimalDaysInFirstWeek","exec","g","f","v","getTimezoneOffset","b","abs","C","index","TTCC_CONVERSION_PATTERN","ISO8601_DATEFORMAT","DATETIME_DATEFORMAT","ABSOLUTETIME_DATEFORMAT","x","console","opera","postError","xhrFactory","XMLHttpRequest","xmlHttpFactories","ActiveXObject","withCredentialsSupported","getXmlHttp","ConsoleAppender","isHttpRequestSuccessful","status","AjaxAppender","timed","waitForResponse","batchSize","timerInterval","requestSuccessCallback","failCallback","postVarName","sendAllOnUnload","contentType","setTimeout","L","onreadystatechange","readyState","open","withCredentials","setRequestHeader","send","getSessionId","setSessionId","isTimed","setTimed","getTimerInterval","setTimerInterval","isWaitForResponse","setWaitForResponse","getBatchSize","setBatchSize","isSendAllOnUnload","setSendAllOnUnload","setRequestSuccessCallback","setFailCallback","getPostVarName","setPostVarName","getHeaders","addHeader","toLowerCase","sendAll","sendAllRemaining","onbeforeunload","setCookie","setTime","toGMTString","getCookie","indexOf","unescape","getBaseUrl","getElementsByTagName","src","isLoaded","loaded","padWithSpaces","PopUpAppender","focusPopUp","initiallyMinimized","lazyInit","useDocumentWrite","newestMessageAtTop","scrollToLatestMessage","width","height","maxMessages","T","showCommandLine","commandLineObjectExpansionDepth","A","showHideButton","I","showCloseButton","N","isNewestMessageAtTop","setNewestMessageAtTop","setNewestAtTop","isScrollToLatestMessage","setScrollToLatestMessage","setScrollToLatest","getWidth","setWidth","getHeight","setHeight","getMaxMessages","setMaxMessages","isShowCommandLine","setShowCommandLine","isShowHideButton","setShowHideButton","isShowCloseButton","setShowCloseButton","getCommandLineObjectExpansionDepth","setCommandLineObjectExpansionDepth","R","O","loggingEvent","levelName","formattedMessage","initiallyExpanded","P","isInitiallyMinimized","setInitiallyMinimized","isUseDocumentWrite","setUseDocumentWrite","$","ee","j","focus","clear","clearLog","focusCommandLine","focusSearch","B","getCommandWindow","setCommandWindow","executeLastCommand","evalLastCommand","_","getCommandLayout","setCommandLayout","evalCommandAndAppend","appendResult","execScript","appender","commandReturnValue","commandLineFunctionsHash","evalExpr","result","addCommandLineFunction","storeCommandHistory","writeln","close","U","setAppender","setMainWindow","commandHistory","currentCommandIndex","win","unload","caller","setInterval","clearInterval","q","domain","hostname","V","addCssProperty","z","X","J","hide","blur","style","display","show","isVisible","confirm","parentNode","removeChild","appendChild","createElement","border","innerHTML","getElementById","nodeType","position","left","right","bottom","body","frames","Y","Q","useOldPopUp","complainAboutPopUpBlocking","reopenWhenClosed","isUseOldPopUp","setUseOldPopUp","isComplainAboutPopUpBlocking","setComplainAboutPopUpBlocking","isFocusPopUp","setFocusPopUp","isReopenWhenClosed","setReopenWhenClosed","frameElement","tagName","id","host","closed","setCloseIfOpenerCloses","mainPageReloaded","getConsoleWindow","addGlobalCommandLineFunction","showLogEntryDeleteButtons","InPageAppender","InlineAppender","cssText","childNodes","prefix","outerHTML","RegExp","$1","attributes","specified","nodeValue","nodeName","hasChildNodes","setDocumentReady","attachEvent","oldOnload","onload","hash","origin","pathname","protocol","search","password","username","port","params","changeQueryParser","function","object","global","self","pow","toUpperCase","userAgent","likeChrome","java","environment","operamini","label","Apple","iPad","iPhone","iPod","Alcatel","Archos","Amazon","Kindle","Asus","Transformer","Nook","BlackBerry","PlayBook","Google","Nexus","HP","TouchPad","HTC","Huawei","Lenovo","LG","Microsoft","Xbox","Motorola","Xoom","Nintendo","Wii","Nokia","Lumia","Oppo","Samsung","Sony","PlayStation","Xiaomi","Mi","Redmi","manufacturer","product","unshift","parseFloat","runtime","flash","system","Capabilities","os","phantom","major","minor","patch","documentMode","toFixed","lang","System","getProperty","require","process","browser","versions","electron","node","nw","arch","appMinorVersion","external","architecture","family","cpuClass","prerelease","ua","webpackPolyfill","deprecate","paths","_init_","extend","foo","bar","getState","isMobile","vendor","bsFormClearButton","on","val","nextAll","removeClass","addClass","init","manageDropdownMenu","navbarSticky","eventHandler","type","action","text","sendMessage","click","preventDefault","hasClass","wrap","find","each","html","round","first","after","next","last","closest","prepend","outerHeight","scrollTop","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","matchMedia","matches","data","xhr_container_id","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hover","eq","fadeIn","clearTimeout","offset","top","updateSidebar","resolveMacros","updateMacros","jQuery","dummyOption","logText","callouts","conums","scroll","duration","scrollTo","callback","pageYOffset","easing","querySelector","decodeURI","getBoundingClientRect","documentElement","requestAnimationFrame","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","loop","direction","autoplay","timelineOffset","delay","endDelay","CSS","springs","min","arr","isArray","pth","svg","SVGElement","inp","HTMLInputElement","dom","str","fnc","und","hex","rgb","hsl","col","key","map","sqrt","exp","cos","sin","ceil","Float32Array","linear","Sine","PI","Circ","Back","Bounce","Elastic","asin","forEach","keys","querySelectorAll","reduce","NodeList","HTMLCollection","some","target","total","getAttribute","offsetWidth","getComputedStyle","getPropertyValue","transform","Map","transforms","list","points","numberOfItems","getItem","getTotalLength","el","viewBox","getPointAtLength","property","atan2","totalLength","original","numbers","match","strings","keyframes","tweens","to","from","end","isPath","isColor","attribute","setAttribute","animatable","te","ne","re","oe","paused","tick","cancelAnimationFrame","ae","Promise","finished","targets","animatables","animations","reversed","currentTime","speed","seek","currentValue","passThrough","progress","reversePlayback","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","play","reverse","restart","ie","hidden","running","convertPx","setDashoffset","stagger","grid","axis","timeline","add","penner","destroy","skipRendering","tocSelector","scrollContainer","_scrollListener","_clickListener","options","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestHeadingsArray","nest","render","updateToc","disableTocScrollSync","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","disableTocAnimation","enableTocAnimation","refresh","tocbot","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","onclick","cloneNode","textContent","isCollapsed","srcElement","className","firstChild","offsetTop","offsetParent","nextSibling","HTMLElement","offsetHeight","headingLevel","scrollHeight","clientHeight","tabIndex","prev","toggleClass"],"mappings":"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"}
|
1
|
+
{"version":3,"sources":["dist/template.js"],"names":["e","t","n","r","exports","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","this","Function","window","Cookies","log4javascript","liteURL","platform","j1","adapter","core","navigator","asciidoctor","scrollSmooth","anime","a","noConflict","arguments","length","replace","decodeURIComponent","document","path","defaults","expires","Date","toUTCString","JSON","stringify","test","write","encodeURIComponent","String","escape","split","cookie","slice","join","charAt","read","parse","set","getJSON","remove","withConverter","module","__webpack_require__","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","factory","isUndefined","EventSupport","Array","push","shift","splice","concat","eventTypes","eventListeners","setEventTypes","handleError","addEventListener","array_contains","removeEventListener","array_remove","dispatchEvent","applicationStartDate","uniqueId","getTime","Math","floor","random","emptyFunction","newLine","pageLoaded","Log4JavaScript","toStr","toString","getExceptionMessage","message","description","getUrlFileName","max","lastIndexOf","substr","getExceptionStringRep","lineNumber","fileName","logLog","warn","showStackTraces","stack","bool","Boolean","trim","splitIntoLines","version","edition","urlEncode","extractBooleanFromParam","extractStringFromParam","extractIntFromParam","parseInt","isNaN","extractFunctionFromParam","isError","Error","apply","obj","args","methodName","argsStrings","len","script","returnValue","eval","quietMode","debugMessages","setQuietMode","numberOfErrors","alertAllErrors","setAlertAllErrors","debug","displayDebug","alert","error","exception","enabled","log4javascript_disabled","setEnabled","isEnabled","useTimeStampsInMilliseconds","setTimeStampsInMilliseconds","isTimeStampsInMilliseconds","evalInScope","expr","setShowStackTraces","Level","level","name","Timer","INFO","start","equals","isGreaterOrEqual","ALL","Number","MIN_VALUE","TRACE","DEBUG","WARN","ERROR","FATAL","OFF","MAX_VALUE","getElapsedTime","anonymousLoggerName","defaultLoggerName","nullLoggerName","rootLoggerName","Logger","parent","children","addChild","invalidateAppenderCache","getAdditivity","setAdditivity","addAppender","Appender","setAddedToLogger","removeAppender","setRemovedFromLogger","removeAllAppenders","getEffectiveAppenders","log","getEffectiveLevel","LoggingEvent","callAppenders","doAppend","setLevel","getLevel","group","groupEnd","time","timeEnd","assert","trace","info","fatal","isEnabledFor","isTraceEnabled","isDebugEnabled","isInfoEnabled","isWarnEnabled","isErrorEnabled","isFatalEnabled","isEntryPoint","loggers","loggerNames","ROOT_LOGGER_DEFAULT_LEVEL","rootLogger","getRootLogger","getLogger","substring","defaultLogger","getDefaultLogger","createDefaultLogger","nullLogger","getNullLogger","resetConfiguration","logger","timeStamp","timeStampInMilliseconds","timeStampInSeconds","milliseconds","getMilliseconds","messages","getThrowableStrRep","getCombinedMessages","Layout","loggerKey","timeStampKey","millisecondsKey","levelKey","messageKey","exceptionKey","urlKey","batchHeader","batchFooter","batchSeparator","returnsPostData","overrideTimeStampsSetting","format","ignoresThrowable","getContentType","allowBatching","getTimeStampValue","getDataValues","location","href","hasCustomFields","customFields","setKeys","setCustomField","formatWithException","SimpleDateFormat","SimpleLayout","NullLayout","XmlLayout","combineMessages","escapeNewLines","JsonLayout","readable","colon","tab","lineBreak","HttpPostDataLayout","formatObjectExpansion","u","PatternLayout","pattern","DEFAULT_CONVERSION_PATTERN","AlertAppender","BrowserConsoleAppender","layout","threshold","append","setLayout","getLayout","setThreshold","getThreshold","isCombinedMessages","escapeCdata","isReadable","G","y","M","w","W","D","F","E","H","k","K","h","S","Z","setMilliseconds","getDifference","isBefore","getUTCTime","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getTimeSince","getPreviousSunday","getDay","getWeekInYear","minimalDaysInFirstWeek","getWeekInMonth","getDayInYear","formatString","setMinimalDaysInFirstWeek","getMinimalDaysInFirstWeek","exec","g","f","v","getTimezoneOffset","b","abs","C","index","TTCC_CONVERSION_PATTERN","ISO8601_DATEFORMAT","DATETIME_DATEFORMAT","ABSOLUTETIME_DATEFORMAT","x","console","opera","postError","xhrFactory","XMLHttpRequest","xmlHttpFactories","ActiveXObject","withCredentialsSupported","getXmlHttp","ConsoleAppender","isHttpRequestSuccessful","status","AjaxAppender","timed","waitForResponse","batchSize","timerInterval","requestSuccessCallback","failCallback","postVarName","sendAllOnUnload","contentType","setTimeout","L","onreadystatechange","readyState","open","withCredentials","setRequestHeader","send","getSessionId","setSessionId","isTimed","setTimed","getTimerInterval","setTimerInterval","isWaitForResponse","setWaitForResponse","getBatchSize","setBatchSize","isSendAllOnUnload","setSendAllOnUnload","setRequestSuccessCallback","setFailCallback","getPostVarName","setPostVarName","getHeaders","addHeader","toLowerCase","sendAll","sendAllRemaining","onbeforeunload","setCookie","setTime","toGMTString","getCookie","indexOf","unescape","getBaseUrl","getElementsByTagName","src","isLoaded","loaded","padWithSpaces","PopUpAppender","focusPopUp","initiallyMinimized","lazyInit","useDocumentWrite","newestMessageAtTop","scrollToLatestMessage","width","height","maxMessages","T","showCommandLine","commandLineObjectExpansionDepth","A","showHideButton","I","showCloseButton","N","isNewestMessageAtTop","setNewestMessageAtTop","setNewestAtTop","isScrollToLatestMessage","setScrollToLatestMessage","setScrollToLatest","getWidth","setWidth","getHeight","setHeight","getMaxMessages","setMaxMessages","isShowCommandLine","setShowCommandLine","isShowHideButton","setShowHideButton","isShowCloseButton","setShowCloseButton","getCommandLineObjectExpansionDepth","setCommandLineObjectExpansionDepth","R","O","loggingEvent","levelName","formattedMessage","initiallyExpanded","P","isInitiallyMinimized","setInitiallyMinimized","isUseDocumentWrite","setUseDocumentWrite","$","ee","j","focus","clear","clearLog","focusCommandLine","focusSearch","B","getCommandWindow","setCommandWindow","executeLastCommand","evalLastCommand","_","getCommandLayout","setCommandLayout","evalCommandAndAppend","appendResult","execScript","appender","commandReturnValue","commandLineFunctionsHash","evalExpr","result","addCommandLineFunction","storeCommandHistory","writeln","close","U","setAppender","setMainWindow","commandHistory","currentCommandIndex","win","unload","caller","setInterval","clearInterval","q","domain","hostname","V","addCssProperty","z","X","J","hide","blur","style","display","show","isVisible","confirm","parentNode","removeChild","appendChild","createElement","border","innerHTML","getElementById","nodeType","position","left","right","bottom","body","frames","Y","Q","useOldPopUp","complainAboutPopUpBlocking","reopenWhenClosed","isUseOldPopUp","setUseOldPopUp","isComplainAboutPopUpBlocking","setComplainAboutPopUpBlocking","isFocusPopUp","setFocusPopUp","isReopenWhenClosed","setReopenWhenClosed","frameElement","tagName","id","host","closed","setCloseIfOpenerCloses","mainPageReloaded","getConsoleWindow","addGlobalCommandLineFunction","showLogEntryDeleteButtons","InPageAppender","InlineAppender","cssText","childNodes","prefix","outerHTML","RegExp","$1","attributes","specified","nodeValue","nodeName","hasChildNodes","setDocumentReady","attachEvent","oldOnload","onload","hash","origin","pathname","protocol","search","password","username","port","params","changeQueryParser","function","object","global","self","pow","toUpperCase","userAgent","likeChrome","java","environment","operamini","label","Apple","iPad","iPhone","iPod","Alcatel","Archos","Amazon","Kindle","Asus","Transformer","Nook","BlackBerry","PlayBook","Google","Nexus","HP","TouchPad","HTC","Huawei","Lenovo","LG","Microsoft","Xbox","Motorola","Xoom","Nintendo","Wii","Nokia","Lumia","Oppo","Samsung","Sony","PlayStation","Xiaomi","Mi","Redmi","manufacturer","product","unshift","parseFloat","runtime","flash","system","Capabilities","os","phantom","major","minor","patch","documentMode","toFixed","lang","System","getProperty","require","process","browser","versions","electron","node","nw","arch","appMinorVersion","external","architecture","family","cpuClass","prerelease","ua","webpackPolyfill","deprecate","paths","_init_","extend","foo","bar","getState","isMobile","vendor","bsFormClearButton","on","val","nextAll","removeClass","addClass","createDropCap","each","text","html","init","manageDropdownMenu","navbarSticky","eventHandler","type","action","sendMessage","click","preventDefault","hasClass","wrap","find","round","first","after","next","last","closest","prepend","outerHeight","scrollTop","animate","slideToggle","is","unbind","slideUp","stopPropagation","toggle","css","wrapInner","matchMedia","matches","data","xhr_container_id","delay_menu_open","nav_bar","media_breakpoint","off","stop","fadeToggle","fadeOut","hover","eq","fadeIn","clearTimeout","offset","top","updateSidebar","resolveMacros","updateMacros","jQuery","dummyOption","logText","callouts","conums","scroll","duration","scrollTo","callback","pageYOffset","easing","querySelector","decodeURI","getBoundingClientRect","documentElement","requestAnimationFrame","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","loop","direction","autoplay","timelineOffset","delay","endDelay","CSS","springs","min","arr","isArray","pth","svg","SVGElement","inp","HTMLInputElement","dom","str","fnc","und","hex","rgb","hsl","col","key","map","sqrt","exp","cos","sin","ceil","Float32Array","linear","Sine","PI","Circ","Back","Bounce","Elastic","asin","forEach","keys","querySelectorAll","reduce","NodeList","HTMLCollection","some","target","total","getAttribute","offsetWidth","getComputedStyle","getPropertyValue","transform","Map","transforms","list","points","numberOfItems","getItem","getTotalLength","el","viewBox","getPointAtLength","property","atan2","totalLength","original","numbers","match","strings","keyframes","tweens","to","from","end","isPath","isColor","attribute","setAttribute","animatable","te","ne","re","oe","paused","tick","cancelAnimationFrame","ae","Promise","finished","targets","animatables","animations","reversed","currentTime","speed","seek","currentValue","passThrough","progress","reversePlayback","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","play","reverse","restart","ie","hidden","running","convertPx","setDashoffset","stagger","grid","axis","timeline","add","penner","destroy","skipRendering","tocSelector","scrollContainer","_scrollListener","_clickListener","options","state","scrollSmoothDuration","scrollSmoothOffset","initSmoothScrolling","_buildHtml","_parseContent","selectHeadings","contentSelector","headingSelector","nestHeadingsArray","nest","render","updateToc","disableTocScrollSync","scrollingElement","eventPhase","currentTarget","scrollEndCallback","throttleTimeout","disableTocAnimation","enableTocAnimation","refresh","tocbot","ignoreSelector","hasInnerContainers","linkClass","extraLinkClasses","activeLinkClass","listClass","extraListClasses","isCollapsedClass","collapsibleClass","listItemClass","activeListItemClass","collapseDepth","headingsOffset","positionFixedSelector","positionFixedClass","fixedSidebarOffset","includeHtml","onClick","orderedList","headingLabelCallback","ignoreHiddenElements","headingObjectCallback","basePath","onclick","cloneNode","textContent","isCollapsed","srcElement","className","firstChild","offsetTop","offsetParent","nextSibling","HTMLElement","offsetHeight","headingLevel","scrollHeight","clientHeight","tabIndex","prev","toggleClass"],"mappings":"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"}
|
data/lib/j1/version.rb
CHANGED
data/lib/starter_web/Gemfile
CHANGED
@@ -53,7 +53,7 @@ gem 'jekyll', '~> 4.2'
|
|
53
53
|
|
54
54
|
# Theme Rubies, default: J1 Template (NOT used for the development system)
|
55
55
|
#
|
56
|
-
gem 'j1-template', '~> 2021.1.
|
56
|
+
gem 'j1-template', '~> 2021.1.22'
|
57
57
|
|
58
58
|
# ------------------------------------------------------------------------------
|
59
59
|
# PRODUCTION: Gem needed for the Jekyll and J1 prod environment
|
data/lib/starter_web/_config.yml
CHANGED
@@ -53,13 +53,13 @@ environment: production
|
|
53
53
|
# ------------------------------------------------------------------------------
|
54
54
|
# Sets the build version of J1 Template Gem
|
55
55
|
#
|
56
|
-
version: 2021.1.
|
56
|
+
version: 2021.1.22
|
57
57
|
|
58
58
|
# version
|
59
59
|
# ------------------------------------------------------------------------------
|
60
60
|
# Sets the build version of J1 Template
|
61
61
|
#
|
62
|
-
copyright: J1 ·
|
62
|
+
copyright: © 2021 J1 · All rights reserved
|
63
63
|
|
64
64
|
# ==============================================================================
|
65
65
|
# 2. THEME configuration
|
@@ -139,7 +139,7 @@ settings:
|
|
139
139
|
tagline: <b>powerful modern static websites</b>
|
140
140
|
description_properties: mr-3 mb-3
|
141
141
|
description: >
|
142
|
-
<p>
|
142
|
+
<p class="dropcap">
|
143
143
|
Jekyll One Template is the first toolbox to create modern webs and a
|
144
144
|
learning platform to experience what is behind current Internet
|
145
145
|
Technologies for the World Wide Web. J1 provides creative people
|
@@ -74,10 +74,10 @@ settings:
|
|
74
74
|
enabled: true
|
75
75
|
type: copyright
|
76
76
|
en:
|
77
|
-
statement:
|
77
|
+
statement: © 2021 J1 · All rights reserved
|
78
78
|
href: /pages/public/legal/en/copyright/
|
79
79
|
de:
|
80
|
-
statement:
|
80
|
+
statement: © 2021 J1 · Alle Rechte vorbehalten
|
81
81
|
href: /pages/public/legal/de/copyright/
|
82
82
|
|
83
83
|
- name: Impress
|
@@ -38,14 +38,14 @@ settings:
|
|
38
38
|
id: home_intro_panel
|
39
39
|
comment: Home Intro Panel
|
40
40
|
type: intro
|
41
|
-
animate:
|
41
|
+
animate: fadeInUp
|
42
42
|
properties: mt-3 mr-3 mb-5 ml-3
|
43
43
|
|
44
44
|
title: All in One
|
45
45
|
tagline: top features
|
46
46
|
description_properties: mr-3 mb-3
|
47
47
|
description: >
|
48
|
-
<p>
|
48
|
+
<p class="dropcap">
|
49
49
|
People quite often ask if static websites make sense
|
50
50
|
for anything beyond a one-page website. Some others see in
|
51
51
|
static websites the stone age of the World Wide Web. What's
|
@@ -74,8 +74,10 @@ settings:
|
|
74
74
|
icon_size: 3x
|
75
75
|
icon_color:
|
76
76
|
text: >
|
77
|
-
|
78
|
-
|
77
|
+
<p class="dropcap">
|
78
|
+
The Web is everywhere. J1 Template supports modern web browsers
|
79
|
+
on all devices for best results on PCs, Tablets, and SmartPhones.
|
80
|
+
</p>
|
79
81
|
|
80
82
|
buttons:
|
81
83
|
|
@@ -100,8 +102,10 @@ settings:
|
|
100
102
|
icon_size: 3x
|
101
103
|
icon_color:
|
102
104
|
text: >
|
103
|
-
|
104
|
-
|
105
|
+
<p class="dropcap">
|
106
|
+
Current Technology and Design. Excellent performance in running
|
107
|
+
a website. Use Jekyll One to present your content at its best.
|
108
|
+
</p>
|
105
109
|
|
106
110
|
buttons:
|
107
111
|
- name: Read More
|
@@ -126,9 +130,11 @@ settings:
|
|
126
130
|
icon_size: 3x
|
127
131
|
icon_color:
|
128
132
|
text: >
|
129
|
-
|
130
|
-
|
131
|
-
|
133
|
+
<p class="dropcap">
|
134
|
+
No programming is needed to start using J1. The Template
|
135
|
+
provides a large number of building blocks to create
|
136
|
+
modern web pages in minutes.
|
137
|
+
</p>
|
132
138
|
|
133
139
|
buttons:
|
134
140
|
- name: Read More
|
@@ -155,7 +161,7 @@ settings:
|
|
155
161
|
id: home_service_panel
|
156
162
|
comment: Home Service Panel
|
157
163
|
type: service
|
158
|
-
animate:
|
164
|
+
animate: fadeInUp
|
159
165
|
icon_family: MDI
|
160
166
|
|
161
167
|
style: flat
|
@@ -306,19 +312,21 @@ settings:
|
|
306
312
|
id: home_news_panel
|
307
313
|
comment: Home News Panel
|
308
314
|
type: news
|
309
|
-
animate:
|
315
|
+
animate: fadeInUp
|
310
316
|
properties: mt-5 mr-3 mb-5 ml-3
|
311
317
|
|
312
318
|
title: Creators Blog
|
313
319
|
tagline: latest news
|
314
320
|
description_properties: mr-3 mb-4
|
315
321
|
description: >
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
+
<p class="dropcap">
|
323
|
+
Explore the blog and find interesting articles around Jekyll and
|
324
|
+
website creation processes in general. And this blog is an excellent
|
325
|
+
example of how J1 and Jekyll can be used for blogging.
|
326
|
+
</p>
|
327
|
+
<p>
|
328
|
+
Have fun!
|
329
|
+
</p>
|
322
330
|
cards:
|
323
331
|
|
324
332
|
- name: Recent Posts
|
@@ -341,6 +341,15 @@ tag::urls[]
|
|
341
341
|
end::urls[]
|
342
342
|
|
343
343
|
|
344
|
+
// FOOTNOTES, global asciidoc attributes (variables)
|
345
|
+
// -----------------------------------------------------------------------------
|
346
|
+
tag::footnotes[]
|
347
|
+
|
348
|
+
:fn-wikipedia--open_data: footnote:[link:https://de.wikipedia.org/wiki/Open_Data[Wikipedia · OpenOata, window="_blank"]]
|
349
|
+
|
350
|
+
end::footnotes[]
|
351
|
+
|
352
|
+
|
344
353
|
// TAGS, global asciidoc attributes (variables)
|
345
354
|
// -----------------------------------------------------------------------------
|
346
355
|
tag::tags[]
|
@@ -414,7 +423,7 @@ end::tables[]
|
|
414
423
|
// -----------------------------------------------------------------------------
|
415
424
|
tag::products[]
|
416
425
|
:j1--license: MIT License
|
417
|
-
:j1--version: 2021.1.
|
426
|
+
:j1--version: 2021.1.22
|
418
427
|
:j1--site-name: Jekyll One
|
419
428
|
end::products[]
|
420
429
|
|
data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb
CHANGED
@@ -34,6 +34,7 @@ resource_options:
|
|
34
34
|
|
35
35
|
// Place an excerpt at the most top position
|
36
36
|
// -----------------------------------------------------------------------------
|
37
|
+
[role="dropcap"]
|
37
38
|
All you’re doing at the end of the day is writing your content, and the J1
|
38
39
|
Template does all the tricky things: putting out HTML, Javascript, and CSS.
|
39
40
|
As a result, the site creation process gets out of your way.
|
@@ -42,6 +42,7 @@ resource_options:
|
|
42
42
|
|
43
43
|
// Place an excerpt at the most top position
|
44
44
|
// -----------------------------------------------------------------------------
|
45
|
+
[role="dropcap"]
|
45
46
|
Is it needed for visitors to know what cookies are about? No doubts, you're
|
46
47
|
requested to inform - in Europe for legal reasons. All users visiting websites
|
47
48
|
are bothered all the time to accept cookies. For good reasons?
|
data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-01-site-generators.adoc
CHANGED
@@ -38,6 +38,7 @@ resource_options:
|
|
38
38
|
|
39
39
|
// Place an excerpt at the most top position
|
40
40
|
// -----------------------------------------------------------------------------
|
41
|
+
[role="dropcap"]
|
41
42
|
This article highlights top OpenSource projects providing static site
|
42
43
|
generators in many different programming languages. And Jekyll is only
|
43
44
|
one of them. Have a look if a full-blown CMS is (really) needed for your
|
@@ -39,6 +39,7 @@ resource_options:
|
|
39
39
|
|
40
40
|
// Place an excerpt at the most top position
|
41
41
|
// -----------------------------------------------------------------------------
|
42
|
+
[role="dropcap"]
|
42
43
|
The template system was initially developed to create a simple but fully
|
43
44
|
configurable website creation toolset for document servers. Document servers
|
44
45
|
provide websites or other content formats like PDF, projects, software
|
@@ -2,13 +2,18 @@
|
|
2
2
|
// Asciidoc attribute includes: attributes.asciidoc
|
3
3
|
// -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
|
6
5
|
// URLS, local references to internal|external web links (macro link:)
|
7
6
|
// -----------------------------------------------------------------------------
|
8
7
|
tag::urls[]
|
9
8
|
end::urls[]
|
10
9
|
|
11
10
|
|
11
|
+
// FOOTNOTES, global asciidoc attributes (variables)
|
12
|
+
// -----------------------------------------------------------------------------
|
13
|
+
tag::footnotes[]
|
14
|
+
end::footnotes[]
|
15
|
+
|
16
|
+
|
12
17
|
// TAGS, local asciidoc attributes (general variables)
|
13
18
|
// -----------------------------------------------------------------------------
|
14
19
|
tag::tags[]
|
@@ -24,6 +29,7 @@ tag::data[]
|
|
24
29
|
|
25
30
|
end::data[]
|
26
31
|
|
32
|
+
|
27
33
|
// DOCUMENTS, local document resources (macro include::)
|
28
34
|
// -----------------------------------------------------------------------------
|
29
35
|
tag::documents[]
|
data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc
CHANGED
@@ -33,7 +33,7 @@ resource_options:
|
|
33
33
|
|
34
34
|
// Place an excerpt at the most top position
|
35
35
|
// -----------------------------------------------------------------------------
|
36
|
-
|
36
|
+
[role="dropcap"]
|
37
37
|
This post is a *test series element*. Post series can help to split larger
|
38
38
|
posts into a group of smaller articles. This may helpful, if a large post
|
39
39
|
should be split into several *main chapters* but grouped together.
|
data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc
CHANGED
@@ -33,7 +33,7 @@ resource_options:
|
|
33
33
|
|
34
34
|
// Place an excerpt at the most top position
|
35
35
|
// -----------------------------------------------------------------------------
|
36
|
-
|
36
|
+
[role="dropcap"]
|
37
37
|
This post is a *test series element*. Post series can help to split larger
|
38
38
|
posts into a group of smaller articles. This may helpful, if a large post
|
39
39
|
should be split into several *main chapters* but grouped together.
|
data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc
CHANGED
@@ -33,7 +33,7 @@ resource_options:
|
|
33
33
|
|
34
34
|
// Place an excerpt at the most top position
|
35
35
|
// -----------------------------------------------------------------------------
|
36
|
-
|
36
|
+
[role="dropcap"]
|
37
37
|
This post is a *test series element*. Post series can help to split larger
|
38
38
|
posts into a group of smaller articles. This may helpful, if a large post
|
39
39
|
should be split into several *main chapters* but grouped together.
|
data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc
CHANGED
@@ -33,7 +33,7 @@ resource_options:
|
|
33
33
|
|
34
34
|
// Place an excerpt at the most top position
|
35
35
|
// -----------------------------------------------------------------------------
|
36
|
-
|
36
|
+
[role="dropcap"]
|
37
37
|
This post is a *test series element*. Post series can help to split larger
|
38
38
|
posts into a group of smaller articles. This may helpful, if a large post
|
39
39
|
should be split into several *main chapters* but grouped together.
|
@@ -33,6 +33,7 @@ resource_options:
|
|
33
33
|
|
34
34
|
// Place an excerpt at the most top position
|
35
35
|
// -----------------------------------------------------------------------------
|
36
|
+
[role="dropcap"]
|
36
37
|
Minneapolis is the largest city in the state of Minnesota in the United States,
|
37
38
|
and the county seat of Hennepin County. According to the United States Census
|
38
39
|
Bureau, the city has a total area of 151.3 km² (58.4 mi²). 142.2 km² (54.9 mi²)
|
data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc
CHANGED
@@ -32,7 +32,8 @@ resource_options:
|
|
32
32
|
|
33
33
|
// Place an excerpt at the most top position
|
34
34
|
// -----------------------------------------------------------------------------
|
35
|
-
|
35
|
+
[role="dropcap"]
|
36
|
+
Narcisse Snake Pits are located in the Rural Municipality of Armstrong
|
36
37
|
about 6 kilometres (3.7 mi) north of Narcisse, Manitoba, Canada. The dens
|
37
38
|
are the winter home of tens of thousands of red-sided garter snakes
|
38
39
|
(Thamnophis sirtalis parietalis).
|
data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc
CHANGED
@@ -32,7 +32,8 @@ resource_options:
|
|
32
32
|
|
33
33
|
// Place an excerpt at the most top position
|
34
34
|
// -----------------------------------------------------------------------------
|
35
|
-
|
35
|
+
[role="dropcap"]
|
36
|
+
*Columbia River* is the largest river in the Pacific Northwest region of
|
36
37
|
North America. It flows northwest and then south into the US state of Washington,
|
37
38
|
then turns west to form most of the border between Washington and the state of
|
38
39
|
Oregon before emptying into the Pacific Ocean.
|
data/lib/starter_web/collections/posts/public/wikipedia/_posts/_includes/attributes.asciidoc
CHANGED
@@ -8,6 +8,12 @@ tag::urls[]
|
|
8
8
|
end::urls[]
|
9
9
|
|
10
10
|
|
11
|
+
// FOOTNOTES, global asciidoc attributes (variables)
|
12
|
+
// -----------------------------------------------------------------------------
|
13
|
+
tag::footnotes[]
|
14
|
+
end::footnotes[]
|
15
|
+
|
16
|
+
|
11
17
|
// TAGS, local asciidoc attributes (general variables)
|
12
18
|
// -----------------------------------------------------------------------------
|
13
19
|
tag::tags[]
|
@@ -19,6 +25,7 @@ end::tags[]
|
|
19
25
|
tag::data[]
|
20
26
|
end::data[]
|
21
27
|
|
28
|
+
|
22
29
|
// DOCUMENTS, local document resources (macro include::)
|
23
30
|
// -----------------------------------------------------------------------------
|
24
31
|
tag::documents[]
|
@@ -25,13 +25,19 @@ tag::urls[]
|
|
25
25
|
:url-roundtrip--mdi-icons: /pages/public/learn/roundtrip/mdi_icon_font/#material-design-icons
|
26
26
|
:url-roundtrip--fontawesome-icons: /pages/public/learn/roundtrip/mdi_icon_font/#fontawesome-icons
|
27
27
|
:url-roundtrip--iconify-icons: /pages/public/learn/roundtrip/mdi_icon_font/#iconify-icons
|
28
|
-
:url-roundtrip--asciidoc-extensions:
|
28
|
+
:url-roundtrip--asciidoc-extensions: /pages/public/learn/roundtrip/asciidoc_extensions/
|
29
29
|
|
30
30
|
:url-asciidoctor--asciidoc-writers-guide: https://asciidoctor.org/docs/asciidoc-writers-guide/
|
31
31
|
:url-asciidoctor--asciidoc-manual: https://docs.asciidoctor.org/asciidoc/latest/
|
32
32
|
end::urls[]
|
33
33
|
|
34
34
|
|
35
|
+
// FOOTNOTES, global asciidoc attributes (variables)
|
36
|
+
// -----------------------------------------------------------------------------
|
37
|
+
tag::footnotes[]
|
38
|
+
end::footnotes[]
|
39
|
+
|
40
|
+
|
35
41
|
// Tags - Asciidoc attributes used internally
|
36
42
|
// -----------------------------------------------------------------------------
|
37
43
|
tag::tags[]
|
data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/attributes.asciidoc
CHANGED
@@ -23,10 +23,16 @@ tag::urls[]
|
|
23
23
|
:url-roundtrip--mdi-icons: /pages/public/learn/roundtrip/mdi_icon_font/#material-design-icons
|
24
24
|
:url-roundtrip--fontawesome-icons: /pages/public/learn/roundtrip/mdi_icon_font/#fontawesome-icons
|
25
25
|
:url-roundtrip--iconify-icons: /pages/public/learn/roundtrip/mdi_icon_font/#iconify-icons
|
26
|
-
:url-roundtrip--asciidoc-extensions:
|
26
|
+
:url-roundtrip--asciidoc-extensions: /pages/public/learn/roundtrip/asciidoc_extensions/
|
27
27
|
end::urls[]
|
28
28
|
|
29
29
|
|
30
|
+
// FOOTNOTES, global asciidoc attributes (variables)
|
31
|
+
// -----------------------------------------------------------------------------
|
32
|
+
tag::footnotes[]
|
33
|
+
end::footnotes[]
|
34
|
+
|
35
|
+
|
30
36
|
// Tags - Asciidoc attributes used internally
|
31
37
|
// -----------------------------------------------------------------------------
|
32
38
|
tag::tags[]
|
@@ -122,7 +122,6 @@ site_category_word_list: {{site_category_word_list | debug}}
|
|
122
122
|
--------------------------------------------------------------------------------
|
123
123
|
{% endcomment %}
|
124
124
|
|
125
|
-
|
126
125
|
{% comment %} Main
|
127
126
|
-------------------------------------------------------------------------------- {% endcomment %}
|
128
127
|
<!-- [INFO ] [ {{page.url}} ] [Generate HTML}] -->
|
@@ -56,7 +56,7 @@ resource_options:
|
|
56
56
|
|
57
57
|
// Include sub-documents
|
58
58
|
// -----------------------------------------------------------------------------
|
59
|
-
|
59
|
+
[role="dropcap"]
|
60
60
|
Welcome to the first preview page focussing on the image module. This page
|
61
61
|
shows some valuable features of the J1 Template to manage your image-based
|
62
62
|
content using lightboxes, carousels (slider), and galleries.
|