From d26fefb74a315f0ae7f6b18d754f978c923a14c5 Mon Sep 17 00:00:00 2001 From: wildkif Date: Thu, 18 Apr 2019 16:55:55 +0300 Subject: [PATCH 1/2] changed color scheme for buttons and tabs --- .../html/assets/scss/base/_base.scss | 28 ++++++++++ .../html/assets/scss/base/_theme.scss | 53 ++++++++++++------- .../html/assets/scss/layout/_wallet.scss | 7 +++ src/gui/qt-daemon/html/styles.js | 2 +- src/gui/qt-daemon/html/styles.js.map | 2 +- .../src/assets/scss/base/_base.scss | 28 ++++++++++ .../src/assets/scss/base/_theme.scss | 53 ++++++++++++------- .../src/assets/scss/layout/_wallet.scss | 7 +++ 8 files changed, 140 insertions(+), 40 deletions(-) diff --git a/src/gui/qt-daemon/html/assets/scss/base/_base.scss b/src/gui/qt-daemon/html/assets/scss/base/_base.scss index 2ce32768..d4c22d21 100644 --- a/src/gui/qt-daemon/html/assets/scss/base/_base.scss +++ b/src/gui/qt-daemon/html/assets/scss/base/_base.scss @@ -33,6 +33,13 @@ button { background-color: themed(disabledButtonHoverColor); } } + + &:focus { + + @include themify($themes) { + background-color: themed(disabledButtonFocusColor); + } + } } &.blue-button:not(:disabled) { @@ -54,6 +61,13 @@ button { background-color: themed(blueButtonHoverColor); } } + + &:focus { + + @include themify($themes) { + background-color: themed(blueButtonFocusColor); + } + } } &.green-button:not(:disabled) { @@ -69,6 +83,13 @@ button { background-color: themed(greenButtonHoverColor); } } + + &:focus { + + @include themify($themes) { + background-color: themed(greenButtonFocusColor); + } + } } &.turquoise-button:not(:disabled) { @@ -84,6 +105,13 @@ button { background-color: themed(turquoiseButtonHoverColor); } } + + &:focus { + + @include themify($themes) { + background-color: themed(turquoiseButtonFocusColor); + } + } } &.transparent-button { diff --git a/src/gui/qt-daemon/html/assets/scss/base/_theme.scss b/src/gui/qt-daemon/html/assets/scss/base/_theme.scss index 457870de..8ed39d76 100644 --- a/src/gui/qt-daemon/html/assets/scss/base/_theme.scss +++ b/src/gui/qt-daemon/html/assets/scss/base/_theme.scss @@ -13,26 +13,31 @@ $themes: ( greenTextColor: #5cda9d, redTextColor: #fe5252, blueButtonBackgroundColor: #4db1ff, - blueButtonHoverColor: #60b9ff, - disabledButtonBackgroundColor: #90a4ae, - disabledButtonHoverColor: #9bb0ba, + blueButtonHoverColor: #82d7ff, + blueButtonFocusColor: #59b5fd, + disabledButtonBackgroundColor: #9cadb7, + disabledButtonHoverColor: #b7d1e0, + disabledButtonFocusColor: #a7b9c2, greenButtonBackgroundColor: #5cda9d, - greenButtonHoverColor: #5ce2a1, + greenButtonHoverColor: #8dfcc6, + greenButtonFocusColor: #62e0b2, turquoiseButtonBackgroundColor: #4dd0e1, - turquoiseButtonHoverColor: #52d9ea, + turquoiseButtonHoverColor: #87f4f5, + turquoiseButtonFocusColor: #42d5e8, transparentButtonBorderColor: #2b3644, inputBackgroundColor: #171e27, - selectHoverColor: rgba(58, 72, 90, 0.5), + selectHoverColor: rgba(58, 69, 85, 0.5), selectSelectedColor: rgba(43, 54, 68, 0.5), switchBackgroundColor: #000000, accountBackgroundColor: rgba(43, 54, 68, 0.5), - accountHoverBackgroundColor: rgba(58, 72, 90, 0.5), + accountHoverBackgroundColor: rgba(58, 69, 85, 0.5), accountMainTextColor: #e0e0e0, accountOptionalTextColor: #556576, accountIndicatorTextColor: #111921, accountSwitchBackgroundColor: #000000, accountIndicatorBackgroundColor: #4db1ff, tabInactiveBackgroundColor: rgba(23, 31, 39, 0.5), + tabHoverBackgroundColor: rgba(58, 69, 85, 0.5), tableBackgroundColor: #18202a, messageMyBackgroundColor: #2a3544, messageBuddyBackgroundColor: #18202a, @@ -47,7 +52,7 @@ $themes: ( ), gray: ( bodyBackgroundColor: #101417, - sidebarBackgroundColor: rgba(23, 25, 27, 0.5), + sidebarBackgroundColor: rgba(28, 30, 33, 0.5), sidebarBorderColor: #2e3337, onlineColor: #47cf8d, offlineColor: #ff5252, @@ -59,26 +64,31 @@ $themes: ( greenTextColor: #47cf8d, redTextColor: #fe5252, blueButtonBackgroundColor: #42a5f5, - blueButtonHoverColor: #4dafff, + blueButtonHoverColor: #86d6ff, + blueButtonFocusColor: #5fb6fc, disabledButtonBackgroundColor: #79848f, - disabledButtonHoverColor: #85909b, + disabledButtonHoverColor: #a1aebb, + disabledButtonFocusColor: #8a959f, greenButtonBackgroundColor: #47cf8d, - greenButtonHoverColor: #49d993, + greenButtonHoverColor: #7bf6c6, + greenButtonFocusColor: #5cdc9e, turquoiseButtonBackgroundColor: #3ec5d7, - turquoiseButtonHoverColor: #43cee0, + turquoiseButtonHoverColor: #72edfe, + turquoiseButtonFocusColor: #50d0e1, transparentButtonBorderColor: #2f3438, inputBackgroundColor: #292d31, - selectHoverColor: rgba(70, 76, 81, 0.5), + selectHoverColor: rgba(58, 62, 66, 0.5), selectSelectedColor: rgba(37, 40, 43, 0.5), switchBackgroundColor: #000000, accountBackgroundColor: rgba(37, 40, 43, 0.5), - accountHoverBackgroundColor: rgba(70, 76, 81, 0.5), + accountHoverBackgroundColor: rgba(58, 62, 66, 0.5), accountMainTextColor: #e0e0e0, accountOptionalTextColor: #565c62, accountIndicatorTextColor: #1a1a1a, accountSwitchBackgroundColor: #000000, accountIndicatorBackgroundColor: #42a5f5, - tabInactiveBackgroundColor: rgba(23, 25, 27, 0.5), + tabInactiveBackgroundColor: rgba(28, 30, 33, 0.5), + tabHoverBackgroundColor: rgba(58, 62, 66, 0.5), tableBackgroundColor: #25292d, messageMyBackgroundColor: #30363c, messageBuddyBackgroundColor: #25292d, @@ -105,13 +115,17 @@ $themes: ( greenTextColor: #46c172, redTextColor: #ff5252, blueButtonBackgroundColor: #2c95f1, - blueButtonHoverColor: #379ffa, + blueButtonHoverColor: #5cb3ff, + blueButtonFocusColor: #379ffa, disabledButtonBackgroundColor: #90a4ae, - disabledButtonHoverColor: #9baeb7, + disabledButtonHoverColor: #aebec6, + disabledButtonFocusColor: #a7b9c2, greenButtonBackgroundColor: #46c172, - greenButtonHoverColor: #46ca75, + greenButtonHoverColor: #5ad586, + greenButtonFocusColor: #53c77c, turquoiseButtonBackgroundColor: #26b6c7, - turquoiseButtonHoverColor: #2bbdcf, + turquoiseButtonHoverColor: #52cbd9, + turquoiseButtonFocusColor: #31becf, transparentButtonBorderColor: #ebebeb, inputBackgroundColor: #e6e6e6, selectHoverColor: rgba(240, 240, 240, 0.5), @@ -125,6 +139,7 @@ $themes: ( accountSwitchBackgroundColor: #ffffff, accountIndicatorBackgroundColor: #ffffff, tabInactiveBackgroundColor: rgba(224, 224, 224, 0.5), + tabHoverBackgroundColor: #ffffff, tableBackgroundColor: #ffffff, messageMyBackgroundColor: #fff, messageBuddyBackgroundColor: #ededed, diff --git a/src/gui/qt-daemon/html/assets/scss/layout/_wallet.scss b/src/gui/qt-daemon/html/assets/scss/layout/_wallet.scss index 2398b646..6a969805 100644 --- a/src/gui/qt-daemon/html/assets/scss/layout/_wallet.scss +++ b/src/gui/qt-daemon/html/assets/scss/layout/_wallet.scss @@ -76,6 +76,13 @@ app-wallet { background-color: themed(contentBackgroundColor); } } + + &:hover:not(.active) { + + @include themify($themes) { + background-color: themed(tabHoverBackgroundColor); + } + } } } diff --git a/src/gui/qt-daemon/html/styles.js b/src/gui/qt-daemon/html/styles.js index 2ee449fa..ed335548 100644 --- a/src/gui/qt-daemon/html/styles.js +++ b/src/gui/qt-daemon/html/styles.js @@ -7,7 +7,7 @@ /*! no static exports found */ /***/ (function(module, exports) { -module.exports = [[module.i, "/*\r\n* Implementation of themes\r\n*/\n.ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}\n.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}\n.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}\n.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #333}\n.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}\n.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}\n.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#007eff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 0 3px rgba(0,126,255,0.1)}\n.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}\n.ng-select .ng-has-value .ng-placeholder{display:none}\n.ng-select .ng-select-container{background-color:#fff;border-radius:4px;border:1px solid #ccc;min-height:36px;align-items:center}\n.ng-select .ng-select-container:hover{box-shadow:0 1px 0 rgba(0,0,0,0.06)}\n.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}\n[dir=\"rtl\"] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}\n.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}\n.ng-select.ng-select-single .ng-select-container{height:36px}\n.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}\n[dir=\"rtl\"] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}\n.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e6e6e6}\n.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:0.9em;margin-bottom:5px;background-color:#ebf5ff;border-radius:2px;margin-right:5px}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{display:inline-block;padding:1px 5px}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid #b8dbff;border-right:none}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid #b8dbff}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}\n.ng-select .ng-clear-wrapper{color:#999}\n.ng-select .ng-clear-wrapper:hover .ng-clear{color:#D0021B}\n.ng-select .ng-spinner-zone{padding:5px 5px 0 0}\n[dir=\"rtl\"] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}\n.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}\n[dir=\"rtl\"] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}\n.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}\n.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}\n.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px 0 rgba(0,0,0,0.06);left:0}\n.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}\n.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}\n.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}\n.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}\n.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}\n.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}\n.ng-dropdown-panel .ng-dropdown-panel-items{margin-bottom:1px}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:rgba(0,0,0,0.54);cursor:pointer}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{background-color:#ebf5ff;font-weight:600}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:rgba(0,0,0,0.87);padding:8px 10px}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#ebf5ff}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5faff;color:#333}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}\n[dir=\"rtl\"] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}\n[dir=\"rtl\"] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}\n[dir=\"rtl\"] .ng-dropdown-panel{direction:rtl;text-align:right}\nhtml {\n box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box; }\n*, *:before, *:after {\n box-sizing: inherit;\n -webkit-box-sizing: inherit;\n -moz-box-sizing: inherit;\n margin: 0;\n padding: 0;\n -webkit-touch-collout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\nhtml, body, div, span, applet, object, iframe,\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\na, abbr, acronym, address, big, cite, code,\ndel, dfn, em, img, ins, kbd, q, s, samp,\nsmall, strike, strong, sub, sup, tt, var,\nb, u, i, center,\ndl, dt, dd, ol, ul, li,\nfieldset, form, label, legend,\ntable, caption, tbody, tfoot, thead, tr, th, td,\narticle, aside, canvas, details, embed,\nfigure, figcaption, footer, header, hgroup,\nmenu, nav, output, ruby, section, summary,\ntime, mark, audio, video {\n border: 0;\n font-size: 100%;\n font: inherit;\n vertical-align: baseline; }\narticle, aside, details, figcaption, figure,\nfooter, header, hgroup, menu, nav, section {\n display: block; }\nbody {\n line-height: 1;\n font-style: normal; }\nol, ul {\n list-style: none; }\nblockquote, q {\n quotes: none; }\nblockquote:before, blockquote:after,\nq:before, q:after {\n content: none; }\ntable {\n border-collapse: collapse;\n border-spacing: 0; }\ntd,\nth {\n padding: 0; }\ninput {\n outline: none; }\ninput:-webkit-autofill {\n -webkit-box-shadow: 0 0 0 1000px white inset; }\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n outline: none; }\nbutton[disabled],\nhtml input[disabled] {\n cursor: default; }\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0; }\ninput {\n line-height: normal; }\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box; }\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none; }\na {\n text-decoration: none; }\na:active, a:hover, a:focus {\n outline: 0; }\ni {\n font-style: italic; }\nb, strong {\n font-weight: 700; }\nimg {\n width: auto;\n max-width: 100%;\n height: auto;\n vertical-align: top;\n border: 0; }\n.hidden {\n display: none !important; }\n.theme-dark .app-content .preloader .loading-bar {\n background-color: #5cda9d; }\n.theme-gray .app-content .preloader .loading-bar {\n background-color: #47cf8d; }\n.theme-white .app-content .preloader .loading-bar {\n background-color: #46c172; }\nbutton {\n border: none;\n font-family: OpenSans, sans-serif;\n font-size: 1.5rem;\n font-weight: 600;\n outline: none;\n padding: 0 1rem;\n height: 4.2rem; }\n.theme-dark button:disabled:not(.transparent-button) {\n background-color: #90a4ae;\n color: #111921; }\n.theme-gray button:disabled:not(.transparent-button) {\n background-color: #79848f;\n color: #1a1a1a; }\n.theme-white button:disabled:not(.transparent-button) {\n background-color: #90a4ae;\n color: #fefefe; }\n.theme-dark button:disabled:not(.transparent-button):hover {\n background-color: #9bb0ba; }\n.theme-gray button:disabled:not(.transparent-button):hover {\n background-color: #85909b; }\n.theme-white button:disabled:not(.transparent-button):hover {\n background-color: #9baeb7; }\n.theme-dark button.blue-button:not(:disabled).error-text {\n color: #fe5252; }\n.theme-gray button.blue-button:not(:disabled).error-text {\n color: #fe5252; }\n.theme-white button.blue-button:not(:disabled).error-text {\n color: #ff5252; }\n.theme-dark button.blue-button:not(:disabled) {\n background-color: #4db1ff;\n color: #111921; }\n.theme-gray button.blue-button:not(:disabled) {\n background-color: #42a5f5;\n color: #1a1a1a; }\n.theme-white button.blue-button:not(:disabled) {\n background-color: #2c95f1;\n color: #fefefe; }\n.theme-dark button.blue-button:not(:disabled):hover {\n background-color: #60b9ff; }\n.theme-gray button.blue-button:not(:disabled):hover {\n background-color: #4dafff; }\n.theme-white button.blue-button:not(:disabled):hover {\n background-color: #379ffa; }\n.theme-dark button.green-button:not(:disabled) {\n background-color: #5cda9d;\n color: #111921; }\n.theme-gray button.green-button:not(:disabled) {\n background-color: #47cf8d;\n color: #1a1a1a; }\n.theme-white button.green-button:not(:disabled) {\n background-color: #46c172;\n color: #fefefe; }\n.theme-dark button.green-button:not(:disabled):hover {\n background-color: #5ce2a1; }\n.theme-gray button.green-button:not(:disabled):hover {\n background-color: #49d993; }\n.theme-white button.green-button:not(:disabled):hover {\n background-color: #46ca75; }\n.theme-dark button.turquoise-button:not(:disabled) {\n background-color: #4dd0e1;\n color: #111921; }\n.theme-gray button.turquoise-button:not(:disabled) {\n background-color: #3ec5d7;\n color: #1a1a1a; }\n.theme-white button.turquoise-button:not(:disabled) {\n background-color: #26b6c7;\n color: #fefefe; }\n.theme-dark button.turquoise-button:not(:disabled):hover {\n background-color: #52d9ea; }\n.theme-gray button.turquoise-button:not(:disabled):hover {\n background-color: #43cee0; }\n.theme-white button.turquoise-button:not(:disabled):hover {\n background-color: #2bbdcf; }\nbutton.transparent-button {\n display: flex;\n align-items: center;\n justify-content: center; }\n.theme-dark button.transparent-button {\n background-color: transparent;\n border: 0.2rem solid #2b3644;\n color: #e0e0e0; }\n.theme-gray button.transparent-button {\n background-color: transparent;\n border: 0.2rem solid #2f3438;\n color: #e0e0e0; }\n.theme-white button.transparent-button {\n background-color: transparent;\n border: 0.2rem solid #ebebeb;\n color: #43454b; }\nbutton.transparent-button .icon {\n margin-right: 1rem;\n -webkit-mask: url('complete-testwallet.svg') no-repeat center;\n mask: url('complete-testwallet.svg') no-repeat center;\n width: 1.7rem;\n height: 1.7rem; }\n.theme-dark button.transparent-button .icon {\n background-color: #e0e0e0; }\n.theme-gray button.transparent-button .icon {\n background-color: #e0e0e0; }\n.theme-white button.transparent-button .icon {\n background-color: #43454b; }\n.input-block {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n margin-bottom: 0.4rem; }\n.input-block .wrap-label {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n min-height: 2.4rem; }\n.input-block label {\n font-size: 1.3rem;\n line-height: 2.4rem; }\n.theme-dark .input-block label {\n color: #556576; }\n.theme-gray .input-block label {\n color: #565c62; }\n.theme-white .input-block label {\n color: #a0a5ab; }\n.input-block input[type='text'], .input-block input[type='password'], .input-block select {\n border: none;\n font-size: 1.4rem;\n outline: none;\n padding: 0 1rem;\n width: 100%;\n height: 4.2rem; }\n.theme-dark .input-block input[type='text'], .theme-dark .input-block input[type='password'], .theme-dark .input-block select {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray .input-block input[type='text'], .theme-gray .input-block input[type='password'], .theme-gray .input-block select {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white .input-block input[type='text'], .theme-white .input-block input[type='password'], .theme-white .input-block select {\n background-color: #e6e6e6;\n color: #43454b; }\n.input-block.textarea {\n height: auto; }\n.input-block.textarea textarea {\n font-family: OpenSans, sans-serif;\n border: none;\n font-size: 1.4rem;\n outline: none;\n padding: 1rem;\n width: 100%;\n min-width: 100%;\n height: 100%;\n min-height: 7.5rem;\n max-height: 7.5rem;\n overflow: auto;\n resize: none; }\n.theme-dark .input-block.textarea textarea {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray .input-block.textarea textarea {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white .input-block.textarea textarea {\n background-color: #e6e6e6;\n color: #43454b; }\n.input-block .error-block {\n font-size: 1rem;\n line-height: 1.4rem;\n align-self: flex-end;\n text-align: right; }\n.theme-dark .input-block .error-block {\n color: #fe5252; }\n.theme-gray .input-block .error-block {\n color: #fe5252; }\n.theme-white .input-block .error-block {\n color: #ff5252; }\n.theme-dark .error-text {\n color: #fe5252; }\n.theme-gray .error-text {\n color: #fe5252; }\n.theme-white .error-text {\n color: #ff5252; }\ninput[type='radio'].style-radio + label {\n display: flex;\n align-items: center;\n cursor: pointer;\n font-weight: 400;\n padding-left: 2.4rem;\n -webkit-touch-collout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n.theme-dark input[type='radio'].style-radio + label {\n color: #556576; }\n.theme-gray input[type='radio'].style-radio + label {\n color: #565c62; }\n.theme-white input[type='radio'].style-radio + label {\n color: #a0a5ab; }\ninput[type='radio'].style-radio:not(checked) {\n position: absolute;\n opacity: 0; }\ninput[type='radio'].style-radio:not(checked) + label {\n position: relative; }\ninput[type='radio'].style-radio:not(checked) + label:before {\n content: '';\n position: absolute;\n top: 0.7rem;\n left: 0;\n background: transparent;\n border-radius: 50%;\n width: 1.4rem;\n height: 1.4rem; }\n.theme-dark input[type='radio'].style-radio:not(checked) + label:before {\n border: 0.1rem solid #4db1ff; }\n.theme-gray input[type='radio'].style-radio:not(checked) + label:before {\n border: 0.1rem solid #42a5f5; }\n.theme-white input[type='radio'].style-radio:not(checked) + label:before {\n border: 0.1rem solid #2c95f1; }\ninput[type='radio'].style-radio:not(checked) + label:after {\n content: '';\n position: absolute;\n top: 1rem;\n left: 0.3rem;\n border-radius: 50%;\n opacity: 0;\n width: 0.8rem;\n height: 0.8rem; }\n.theme-dark input[type='radio'].style-radio:not(checked) + label:after {\n background-color: #4db1ff; }\n.theme-gray input[type='radio'].style-radio:not(checked) + label:after {\n background-color: #42a5f5; }\n.theme-white input[type='radio'].style-radio:not(checked) + label:after {\n background-color: #2c95f1; }\ninput[type='radio'].style-radio:checked + label:after {\n opacity: 1; }\ninput[type='checkbox'].style-checkbox + label {\n display: flex;\n align-items: center;\n cursor: pointer;\n font-weight: 400;\n padding-left: 3.6rem;\n -webkit-touch-collout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n.theme-dark input[type='checkbox'].style-checkbox + label {\n color: #556576; }\n.theme-gray input[type='checkbox'].style-checkbox + label {\n color: #565c62; }\n.theme-white input[type='checkbox'].style-checkbox + label {\n color: #a0a5ab; }\ninput[type='checkbox'].style-checkbox:not(checked) {\n position: absolute;\n top: 50%;\n left: 1.6rem;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n visibility: hidden; }\ninput[type='checkbox'].style-checkbox:not(checked) + label {\n position: relative; }\ninput[type='checkbox'].style-checkbox:not(checked) + label:before {\n content: '';\n position: absolute;\n top: 50%;\n left: 1.6rem;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n background: transparent;\n width: 1.4rem;\n height: 1.4rem; }\n.theme-dark input[type='checkbox'].style-checkbox:not(checked) + label:before {\n border: 0.1rem solid #4db1ff; }\n.theme-gray input[type='checkbox'].style-checkbox:not(checked) + label:before {\n border: 0.1rem solid #42a5f5; }\n.theme-white input[type='checkbox'].style-checkbox:not(checked) + label:before {\n border: 0.1rem solid #2c95f1; }\ninput[type='checkbox'].style-checkbox:checked + label:before {\n background: url('complete-testwallet.svg'); }\n.theme-dark input[type='checkbox'].style-checkbox:checked + label:before {\n background-color: #4db1ff; }\n.theme-gray input[type='checkbox'].style-checkbox:checked + label:before {\n background-color: #42a5f5; }\n.theme-white input[type='checkbox'].style-checkbox:checked + label:before {\n background-color: #2c95f1; }\n.theme-dark .switch {\n background-color: #000000; }\n.theme-gray .switch {\n background-color: #000000; }\n.theme-white .switch {\n background-color: #e0e0e0; }\n.theme-dark .switch .circle.on {\n background-color: #4db1ff; }\n.theme-gray .switch .circle.on {\n background-color: #42a5f5; }\n.theme-white .switch .circle.on {\n background-color: #2c95f1; }\n.theme-dark .switch .circle.off {\n background-color: #556576; }\n.theme-gray .switch .circle.off {\n background-color: #565c62; }\n.theme-white .switch .circle.off {\n background-color: #a0a5ab; }\n.table-tooltip {\n font-size: 1.3rem;\n padding: 1rem 2rem;\n white-space: pre-wrap; }\n.theme-dark .table-tooltip {\n background: #42505f;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\n color: #e0e0e0; }\n.theme-gray .table-tooltip {\n background: #3e464c;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\n color: #e0e0e0; }\n.theme-white .table-tooltip {\n background: #ffffff;\n box-shadow: 0 0 1rem rgba(120, 120, 120, 0.5);\n color: #43454b; }\n.table-tooltip.ng-tooltip-top {\n margin-top: -1rem; }\n.table-tooltip.ng-tooltip-top:before {\n content: \"\";\n position: absolute;\n bottom: -2rem;\n left: calc(50% - 1rem);\n border-width: 1rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-top:before {\n border-color: #42505f transparent transparent transparent; }\n.theme-gray .table-tooltip.ng-tooltip-top:before {\n border-color: #3e464c transparent transparent transparent; }\n.theme-white .table-tooltip.ng-tooltip-top:before {\n border-color: #ffffff transparent transparent transparent; }\n.table-tooltip.ng-tooltip-top-left {\n margin-top: -1rem; }\n.table-tooltip.ng-tooltip-top-left:before {\n content: \"\";\n position: absolute;\n bottom: -1rem;\n left: 0.7rem;\n border-width: 1rem 1rem 0 0;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-top-left:before {\n border-color: #42505f transparent transparent transparent; }\n.theme-gray .table-tooltip.ng-tooltip-top-left:before {\n border-color: #3e464c transparent transparent transparent; }\n.theme-white .table-tooltip.ng-tooltip-top-left:before {\n border-color: #ffffff transparent transparent transparent; }\n.table-tooltip.ng-tooltip-top-right {\n margin-top: -1rem; }\n.table-tooltip.ng-tooltip-top-right:before {\n content: \"\";\n position: absolute;\n bottom: -1rem;\n right: 0.7rem;\n border-width: 0.5rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-top-right:before {\n border-color: #42505f #42505f transparent transparent; }\n.theme-gray .table-tooltip.ng-tooltip-top-right:before {\n border-color: #3e464c #3e464c transparent transparent; }\n.theme-white .table-tooltip.ng-tooltip-top-right:before {\n border-color: #ffffff #ffffff transparent transparent; }\n.table-tooltip.ng-tooltip-bottom {\n margin-top: 1rem; }\n.table-tooltip.ng-tooltip-bottom:before {\n content: \"\";\n position: absolute;\n top: -2rem;\n left: calc(50% - 1rem);\n border-width: 1rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-bottom:before {\n border-color: transparent transparent #42505f transparent; }\n.theme-gray .table-tooltip.ng-tooltip-bottom:before {\n border-color: transparent transparent #3e464c transparent; }\n.theme-white .table-tooltip.ng-tooltip-bottom:before {\n border-color: transparent transparent #ffffff transparent; }\n.table-tooltip.ng-tooltip-bottom-left {\n margin-top: 1rem; }\n.table-tooltip.ng-tooltip-bottom-left:before {\n content: \"\";\n position: absolute;\n top: -1rem;\n left: 0.7rem;\n border-width: 0.5rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-bottom-left:before {\n border-color: transparent transparent #42505f #42505f; }\n.theme-gray .table-tooltip.ng-tooltip-bottom-left:before {\n border-color: transparent transparent #3e464c #3e464c; }\n.theme-white .table-tooltip.ng-tooltip-bottom-left:before {\n border-color: transparent transparent #ffffff #ffffff; }\n.table-tooltip.ng-tooltip-bottom-right {\n margin-top: 1rem; }\n.table-tooltip.ng-tooltip-bottom-right:before {\n content: \"\";\n position: absolute;\n top: -1rem;\n right: 0.7rem;\n border-width: 0.5rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-bottom-right:before {\n border-color: transparent #42505f #42505f transparent; }\n.theme-gray .table-tooltip.ng-tooltip-bottom-right:before {\n border-color: transparent #3e464c #3e464c transparent; }\n.theme-white .table-tooltip.ng-tooltip-bottom-right:before {\n border-color: transparent #ffffff #ffffff transparent; }\n.table-tooltip.ng-tooltip-left {\n margin-left: -1rem; }\n.table-tooltip.ng-tooltip-left:before {\n content: \"\";\n position: absolute;\n top: 0;\n right: -1rem;\n border-width: 1rem 1rem 0 0;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-left:before {\n border-color: #42505f transparent transparent transparent; }\n.theme-gray .table-tooltip.ng-tooltip-left:before {\n border-color: #3e464c transparent transparent transparent; }\n.theme-white .table-tooltip.ng-tooltip-left:before {\n border-color: #ffffff transparent transparent transparent; }\n.table-tooltip.ng-tooltip-right {\n margin-left: 1rem; }\n.table-tooltip.ng-tooltip-right:before {\n content: \"\";\n position: absolute;\n top: 0;\n left: -1rem;\n border-width: 1rem 0 0 1rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-right:before {\n border-color: #42505f transparent transparent transparent; }\n.theme-gray .table-tooltip.ng-tooltip-right:before {\n border-color: #3e464c transparent transparent transparent; }\n.theme-white .table-tooltip.ng-tooltip-right:before {\n border-color: #ffffff transparent transparent transparent; }\n.balance-tooltip {\n display: flex;\n flex-direction: column;\n font-size: 1.3rem;\n padding: 1.3rem; }\n.theme-dark .balance-tooltip {\n background: #42505f;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\n color: #e0e0e0; }\n.theme-gray .balance-tooltip {\n background: #3e464c;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\n color: #e0e0e0; }\n.theme-white .balance-tooltip {\n background: #ffffff;\n box-shadow: 0 0 1rem rgba(120, 120, 120, 0.5);\n color: #43454b; }\n.balance-tooltip.ng-tooltip-top {\n margin-top: -1rem; }\n.balance-tooltip.ng-tooltip-bottom {\n margin-top: 1rem; }\n.balance-tooltip.ng-tooltip-left {\n margin-left: -1rem; }\n.balance-tooltip.ng-tooltip-right {\n margin-left: 1rem; }\n.balance-tooltip .available {\n margin-bottom: 1.7rem; }\n.balance-tooltip .available b {\n font-weight: 600; }\n.balance-tooltip .locked {\n margin-bottom: 0.7rem; }\n.balance-tooltip .locked b {\n font-weight: 600; }\n.balance-tooltip .link {\n cursor: pointer; }\n.theme-dark .balance-tooltip .link {\n color: #4db1ff; }\n.theme-gray .balance-tooltip .link {\n color: #42a5f5; }\n.theme-white .balance-tooltip .link {\n color: #2c95f1; }\n.account-tooltip {\n word-break: break-word;\n max-width: 18rem; }\n.ngx-contextmenu .dropdown-menu {\n border: none;\n padding: 0; }\n.theme-dark .ngx-contextmenu .dropdown-menu {\n background-color: #2b3644;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5); }\n.theme-gray .ngx-contextmenu .dropdown-menu {\n background-color: #292d31;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5); }\n.theme-white .ngx-contextmenu .dropdown-menu {\n background-color: #e0e0e0;\n box-shadow: 0 0 1rem rgba(120, 120, 120, 0.5); }\n.ngx-contextmenu li {\n display: block;\n font-family: OpenSans, sans-serif;\n font-size: 1.3rem;\n text-transform: uppercase;\n text-align: center; }\n.ngx-contextmenu a {\n display: block;\n padding: 0.5em 1em; }\n.theme-dark .ngx-contextmenu a {\n color: #e0e0e0; }\n.theme-gray .ngx-contextmenu a {\n color: #e0e0e0; }\n.theme-white .ngx-contextmenu a {\n color: #43454b; }\n.theme-dark .ngx-contextmenu a:hover {\n background-color: #556576;\n color: #e0e0e0; }\n.theme-gray .ngx-contextmenu a:hover {\n background-color: #515960;\n color: #e0e0e0; }\n.theme-white .ngx-contextmenu a:hover {\n background-color: #ffffff;\n color: #43454b; }\n.ng-select.lock-selection-select {\n width: 100%; }\n.ng-select.lock-selection-select .ng-select-container {\n border: none;\n border-radius: 0;\n cursor: pointer;\n font-size: 1.4rem;\n outline: none;\n padding: 0 1rem;\n height: 4.2rem; }\n.theme-dark .ng-select.lock-selection-select .ng-select-container {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray .ng-select.lock-selection-select .ng-select-container {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white .ng-select.lock-selection-select .ng-select-container {\n background-color: #e6e6e6;\n color: #43454b; }\n.ng-select.lock-selection-select .ng-select-container .ng-value-container {\n padding: 0; }\n.ng-select.lock-selection-select .ng-dropdown-panel {\n border: none; }\n.theme-dark .ng-select.lock-selection-select .ng-dropdown-panel {\n background-color: #171e27; }\n.theme-gray .ng-select.lock-selection-select .ng-dropdown-panel {\n background-color: #292d31; }\n.theme-white .ng-select.lock-selection-select .ng-dropdown-panel {\n background-color: #e6e6e6; }\n.ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\n font-size: 1.4rem;\n padding: 1rem; }\n.theme-dark .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\n background-color: #e6e6e6;\n color: #43454b; }\n.theme-dark .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked {\n background-color: rgba(58, 72, 90, 0.5);\n color: #e0e0e0; }\n.theme-gray .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked {\n background-color: rgba(70, 76, 81, 0.5);\n color: #e0e0e0; }\n.theme-white .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked {\n background-color: rgba(240, 240, 240, 0.5);\n color: #43454b; }\n.theme-dark .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected {\n background-color: rgba(43, 54, 68, 0.5);\n color: #e0e0e0; }\n.theme-gray .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected {\n background-color: rgba(37, 40, 43, 0.5);\n color: #e0e0e0; }\n.theme-white .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected {\n background-color: rgba(224, 224, 224, 0.5);\n color: #43454b; }\n.theme-dark app-modal-container .modal {\n background: url('background-dark.png');\n color: #e0e0e0; }\n.theme-gray app-modal-container .modal {\n background: url('background-gray.png');\n color: #e0e0e0; }\n.theme-white app-modal-container .modal {\n background: url('background-white.png');\n color: #43454b; }\n.theme-dark app-modal-container .modal .content .icon.error {\n background-color: #fe5252; }\n.theme-gray app-modal-container .modal .content .icon.error {\n background-color: #fe5252; }\n.theme-white app-modal-container .modal .content .icon.error {\n background-color: #ff5252; }\n.theme-dark app-modal-container .modal .content .icon.success {\n background-color: #5cda9d; }\n.theme-gray app-modal-container .modal .content .icon.success {\n background-color: #47cf8d; }\n.theme-white app-modal-container .modal .content .icon.success {\n background-color: #46c172; }\n.theme-dark app-modal-container .modal .content .icon.info {\n background-color: #4db1ff; }\n.theme-gray app-modal-container .modal .content .icon.info {\n background-color: #42a5f5; }\n.theme-white app-modal-container .modal .content .icon.info {\n background-color: #2c95f1; }\n.theme-dark app-modal-container .modal .action-button {\n background-color: #4db1ff;\n color: #111921; }\n.theme-gray app-modal-container .modal .action-button {\n background-color: #42a5f5;\n color: #1a1a1a; }\n.theme-white app-modal-container .modal .action-button {\n background-color: #2c95f1;\n color: #fefefe; }\n.theme-dark app-modal-container .modal .close-button .icon {\n background-color: #556576; }\n.theme-gray app-modal-container .modal .close-button .icon {\n background-color: #515960; }\n.theme-white app-modal-container .modal .close-button .icon {\n background-color: #43454b; }\n.theme-dark app-transaction-details .table {\n border-top: 0.2rem solid #2b3644; }\n.theme-gray app-transaction-details .table {\n border-top: 0.2rem solid #2f3438; }\n.theme-white app-transaction-details .table {\n border-top: 0.2rem solid #ebebeb; }\n.theme-dark app-transaction-details .table .row .cell.label {\n color: #556576; }\n.theme-gray app-transaction-details .table .row .cell.label {\n color: #565c62; }\n.theme-white app-transaction-details .table .row .cell.label {\n color: #a0a5ab; }\n.theme-dark app-transaction-details .table .row .cell.value {\n color: #e0e0e0; }\n.theme-gray app-transaction-details .table .row .cell.value {\n color: #e0e0e0; }\n.theme-white app-transaction-details .table .row .cell.value {\n color: #43454b; }\n.theme-dark app-transaction-details .table .row .cell.key-value {\n color: #4db1ff; }\n.theme-gray app-transaction-details .table .row .cell.key-value {\n color: #42a5f5; }\n.theme-white app-transaction-details .table .row .cell.key-value {\n color: #2c95f1; }\n.theme-dark app-progress-container .progress-bar-container {\n color: #e0e0e0; }\n.theme-gray app-progress-container .progress-bar-container {\n color: #e0e0e0; }\n.theme-white app-progress-container .progress-bar-container {\n color: #43454b; }\n.theme-dark app-progress-container .progress-bar-container .progress-bar {\n background-color: #343f4a; }\n.theme-gray app-progress-container .progress-bar-container .progress-bar {\n background-color: #363a3e; }\n.theme-white app-progress-container .progress-bar-container .progress-bar {\n background-color: #dcdcdc; }\n.theme-dark app-progress-container .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #5cda9d; }\n.theme-gray app-progress-container .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #47cf8d; }\n.theme-white app-progress-container .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #46c172; }\napp-main, app-create-wallet, app-open-wallet, app-restore-wallet, app-seed-phrase, app-wallet-details, app-assign-alias, app-edit-alias, app-transfer-alias, app-settings, app-login {\n flex: 1 1 auto;\n padding: 3rem;\n min-width: 85rem; }\napp-main .content, app-create-wallet .content, app-open-wallet .content, app-restore-wallet .content, app-seed-phrase .content, app-wallet-details .content, app-assign-alias .content, app-edit-alias .content, app-transfer-alias .content, app-settings .content, app-login .content {\n position: relative;\n padding: 3rem;\n min-height: 100%; }\n.theme-dark app-main .content, .theme-dark app-create-wallet .content, .theme-dark app-open-wallet .content, .theme-dark app-restore-wallet .content, .theme-dark app-seed-phrase .content, .theme-dark app-wallet-details .content, .theme-dark app-assign-alias .content, .theme-dark app-edit-alias .content, .theme-dark app-transfer-alias .content, .theme-dark app-settings .content, .theme-dark app-login .content {\n background-color: rgba(43, 54, 68, 0.5);\n color: #e0e0e0; }\n.theme-gray app-main .content, .theme-gray app-create-wallet .content, .theme-gray app-open-wallet .content, .theme-gray app-restore-wallet .content, .theme-gray app-seed-phrase .content, .theme-gray app-wallet-details .content, .theme-gray app-assign-alias .content, .theme-gray app-edit-alias .content, .theme-gray app-transfer-alias .content, .theme-gray app-settings .content, .theme-gray app-login .content {\n background-color: rgba(37, 40, 43, 0.5);\n color: #e0e0e0; }\n.theme-white app-main .content, .theme-white app-create-wallet .content, .theme-white app-open-wallet .content, .theme-white app-restore-wallet .content, .theme-white app-seed-phrase .content, .theme-white app-wallet-details .content, .theme-white app-assign-alias .content, .theme-white app-edit-alias .content, .theme-white app-transfer-alias .content, .theme-white app-settings .content, .theme-white app-login .content {\n background-color: rgba(255, 255, 255, 0.5);\n color: #43454b; }\napp-main .content .head, app-create-wallet .content .head, app-open-wallet .content .head, app-restore-wallet .content .head, app-seed-phrase .content .head, app-wallet-details .content .head, app-assign-alias .content .head, app-edit-alias .content .head, app-transfer-alias .content .head, app-settings .content .head, app-login .content .head {\n position: absolute;\n top: 0;\n left: 0; }\n.theme-dark app-main .content .add-wallet .add-wallet-help {\n color: #4db1ff; }\n.theme-gray app-main .content .add-wallet .add-wallet-help {\n color: #42a5f5; }\n.theme-white app-main .content .add-wallet .add-wallet-help {\n color: #2c95f1; }\n.theme-dark app-main .content .add-wallet .add-wallet-help .icon {\n background-color: #4db1ff; }\n.theme-gray app-main .content .add-wallet .add-wallet-help .icon {\n background-color: #42a5f5; }\n.theme-white app-main .content .add-wallet .add-wallet-help .icon {\n background-color: #2c95f1; }\n.theme-dark app-seed-phrase .seed-phrase-content {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray app-seed-phrase .seed-phrase-content {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white app-seed-phrase .seed-phrase-content {\n background-color: #e6e6e6;\n color: #43454b; }\n.theme-dark app-wallet-details .seed-phrase {\n background-color: #171e27; }\n.theme-gray app-wallet-details .seed-phrase {\n background-color: #292d31; }\n.theme-white app-wallet-details .seed-phrase {\n background-color: #e6e6e6; }\napp-settings .content {\n height: 100%;\n overflow-y: auto;\n display: flex;\n justify-content: space-between;\n flex-direction: column; }\n.theme-dark app-settings .content .theme-selection {\n color: #556576; }\n.theme-gray app-settings .content .theme-selection {\n color: #565c62; }\n.theme-white app-settings .content .theme-selection {\n color: #a0a5ab; }\n.theme-dark app-settings .content .scale-selection .button-block {\n background-color: rgba(23, 31, 39, 0.5); }\n.theme-gray app-settings .content .scale-selection .button-block {\n background-color: rgba(23, 25, 27, 0.5); }\n.theme-white app-settings .content .scale-selection .button-block {\n background-color: rgba(224, 224, 224, 0.5); }\n.theme-dark app-settings .content .scale-selection .button-block .label {\n color: #556576; }\n.theme-gray app-settings .content .scale-selection .button-block .label {\n color: #565c62; }\n.theme-white app-settings .content .scale-selection .button-block .label {\n color: #a0a5ab; }\n.theme-dark app-settings .content .scale-selection .button-block.active {\n background-color: #4db1ff; }\n.theme-gray app-settings .content .scale-selection .button-block.active {\n background-color: #42a5f5; }\n.theme-white app-settings .content .scale-selection .button-block.active {\n background-color: #2c95f1; }\n.theme-dark app-settings .content .scale-selection .button-block.active .label {\n color: #4db1ff; }\n.theme-gray app-settings .content .scale-selection .button-block.active .label {\n color: #42a5f5; }\n.theme-white app-settings .content .scale-selection .button-block.active .label {\n color: #2c95f1; }\napp-login {\n min-width: inherit; }\n.theme-dark app-sidebar {\n background-color: rgba(23, 31, 39, 0.5); }\n.theme-gray app-sidebar {\n background-color: rgba(23, 25, 27, 0.5); }\n.theme-white app-sidebar {\n background-color: rgba(255, 255, 255, 0.5); }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-header h3 {\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-header h3 {\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-header h3 {\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-header button {\n color: #4db1ff; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-header button {\n color: #42a5f5; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-header button {\n color: #2c95f1; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account {\n background-color: transparent;\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account {\n background-color: transparent;\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account {\n background-color: transparent;\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .text {\n color: #556576; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .text {\n color: #565c62; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .text {\n color: #a0a5ab; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .icon {\n background-color: #4db1ff; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .icon {\n background-color: #42a5f5; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .icon {\n background-color: #2c95f1; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .indicator {\n background-color: #4db1ff;\n color: #111921; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .indicator {\n background-color: #42a5f5;\n color: #1a1a1a; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .indicator {\n background-color: #2c95f1;\n color: #fefefe; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar {\n background-color: #343f4a; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar {\n background-color: #363a3e; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar {\n background-color: #dcdcdc; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar .fill {\n background-color: #5cda9d; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar .fill {\n background-color: #47cf8d; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar .fill {\n background-color: #46c172; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization {\n color: #556576; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization {\n color: #565c62; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization {\n color: #a0a5ab; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active {\n background-color: rgba(43, 54, 68, 0.5);\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active {\n background-color: rgba(37, 40, 43, 0.5);\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active {\n background-color: #1e88e5;\n color: #ffffff; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .text {\n color: #556576; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .text {\n color: #565c62; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .text {\n color: #91baf1; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .indicator {\n background-color: #4db1ff;\n color: #111921; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .indicator {\n background-color: #42a5f5;\n color: #1a1a1a; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .indicator {\n background-color: #ffffff;\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .switch {\n background-color: #000000;\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .switch {\n background-color: #000000;\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .switch {\n background-color: #ffffff;\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row.account-synchronization {\n color: #556576; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row.account-synchronization {\n color: #565c62; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row.account-synchronization {\n color: #91baf1; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account:hover:not(.active) {\n background-color: rgba(58, 72, 90, 0.5); }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account:hover:not(.active) {\n background-color: rgba(70, 76, 81, 0.5); }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account:hover:not(.active) {\n background-color: rgba(240, 240, 240, 0.5); }\n.theme-dark app-sidebar .sidebar-settings {\n border-bottom: 0.2rem solid #1f2833; }\n.theme-gray app-sidebar .sidebar-settings {\n border-bottom: 0.2rem solid #2e3337; }\n.theme-white app-sidebar .sidebar-settings {\n border-bottom: 0.2rem solid #ebebeb; }\n.theme-dark app-sidebar .sidebar-settings .wrap-button button {\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-settings .wrap-button button {\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-settings .wrap-button button {\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-settings .wrap-button button .icon {\n background-color: #4db1ff; }\n.theme-gray app-sidebar .sidebar-settings .wrap-button button .icon {\n background-color: #42a5f5; }\n.theme-white app-sidebar .sidebar-settings .wrap-button button .icon {\n background-color: #2c95f1; }\n.theme-dark app-sidebar .sidebar-settings .wrap-button.active button {\n background-color: rgba(43, 54, 68, 0.5) !important;\n color: #e0e0e0 !important; }\n.theme-gray app-sidebar .sidebar-settings .wrap-button.active button {\n background-color: rgba(37, 40, 43, 0.5) !important;\n color: #e0e0e0 !important; }\n.theme-white app-sidebar .sidebar-settings .wrap-button.active button {\n background-color: #1e88e5 !important;\n color: #ffffff !important; }\n.theme-dark app-sidebar .sidebar-settings .wrap-button.active button .icon {\n background-color: #4db1ff !important; }\n.theme-gray app-sidebar .sidebar-settings .wrap-button.active button .icon {\n background-color: #42a5f5 !important; }\n.theme-white app-sidebar .sidebar-settings .wrap-button.active button .icon {\n background-color: #ffffff !important; }\n.theme-dark app-sidebar .sidebar-synchronization-status {\n color: #556576; }\n.theme-gray app-sidebar .sidebar-synchronization-status {\n color: #565c62; }\n.theme-white app-sidebar .sidebar-synchronization-status {\n color: #a0a5ab; }\n.theme-dark app-sidebar .sidebar-synchronization-status .status-container .offline:before {\n background-color: #fe5252; }\n.theme-gray app-sidebar .sidebar-synchronization-status .status-container .offline:before {\n background-color: #ff5252; }\n.theme-white app-sidebar .sidebar-synchronization-status .status-container .offline:before {\n background-color: #ff5252; }\n.theme-dark app-sidebar .sidebar-synchronization-status .status-container .online:before {\n background-color: #5cda9d; }\n.theme-gray app-sidebar .sidebar-synchronization-status .status-container .online:before {\n background-color: #47cf8d; }\n.theme-white app-sidebar .sidebar-synchronization-status .status-container .online:before {\n background-color: #46c172; }\n.theme-dark app-sidebar .sidebar-synchronization-status .status-container .testnet {\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-synchronization-status .status-container .testnet {\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-synchronization-status .status-container .testnet {\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar {\n background-color: #343f4a; }\n.theme-gray app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar {\n background-color: #363a3e; }\n.theme-white app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar {\n background-color: #dcdcdc; }\n.theme-dark app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar .fill {\n background-color: #5cda9d; }\n.theme-gray app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar .fill {\n background-color: #47cf8d; }\n.theme-white app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar .fill {\n background-color: #46c172; }\n.theme-dark app-sidebar .sidebar-synchronization-status .progress-bar-container .loading {\n background-color: #5cda9d; }\n.theme-gray app-sidebar .sidebar-synchronization-status .progress-bar-container .loading {\n background-color: #47cf8d; }\n.theme-white app-sidebar .sidebar-synchronization-status .progress-bar-container .loading {\n background-color: #46c172; }\n.theme-dark app-wallet {\n color: #e0e0e0; }\n.theme-gray app-wallet {\n color: #e0e0e0; }\n.theme-white app-wallet {\n color: #43454b; }\n.theme-dark app-wallet .header button {\n color: #e0e0e0; }\n.theme-gray app-wallet .header button {\n color: #e0e0e0; }\n.theme-white app-wallet .header button {\n color: #43454b; }\n.theme-dark app-wallet .header button .icon {\n background-color: #4db1ff; }\n.theme-gray app-wallet .header button .icon {\n background-color: #42a5f5; }\n.theme-white app-wallet .header button .icon {\n background-color: #2c95f1; }\n.theme-dark app-wallet .header .alias .icon {\n background-color: #4db1ff; }\n.theme-gray app-wallet .header .alias .icon {\n background-color: #42a5f5; }\n.theme-white app-wallet .header .alias .icon {\n background-color: #2c95f1; }\n.theme-dark app-wallet .address {\n color: #4db1ff; }\n.theme-gray app-wallet .address {\n color: #42a5f5; }\n.theme-white app-wallet .address {\n color: #2c95f1; }\n.theme-dark app-wallet .address .icon {\n background-color: #4db1ff; }\n.theme-gray app-wallet .address .icon {\n background-color: #42a5f5; }\n.theme-white app-wallet .address .icon {\n background-color: #2c95f1; }\n.theme-dark app-wallet .tabs .tabs-header .tab {\n background-color: rgba(23, 31, 39, 0.5); }\n.theme-gray app-wallet .tabs .tabs-header .tab {\n background-color: rgba(23, 25, 27, 0.5); }\n.theme-white app-wallet .tabs .tabs-header .tab {\n background-color: rgba(224, 224, 224, 0.5); }\n.theme-dark app-wallet .tabs .tabs-header .tab .icon {\n background-color: #4db1ff; }\n.theme-gray app-wallet .tabs .tabs-header .tab .icon {\n background-color: #42a5f5; }\n.theme-white app-wallet .tabs .tabs-header .tab .icon {\n background-color: #2c95f1; }\n.theme-dark app-wallet .tabs .tabs-header .tab .indicator {\n background-color: #4db1ff;\n color: #111921; }\n.theme-gray app-wallet .tabs .tabs-header .tab .indicator {\n background-color: #42a5f5;\n color: #1a1a1a; }\n.theme-white app-wallet .tabs .tabs-header .tab .indicator {\n background-color: #ffffff;\n color: #43454b; }\n.theme-dark app-wallet .tabs .tabs-header .tab.active {\n background-color: rgba(43, 54, 68, 0.5); }\n.theme-gray app-wallet .tabs .tabs-header .tab.active {\n background-color: rgba(37, 40, 43, 0.5); }\n.theme-white app-wallet .tabs .tabs-header .tab.active {\n background-color: rgba(255, 255, 255, 0.5); }\n.theme-dark app-wallet .tabs .tabs-content {\n background-color: rgba(43, 54, 68, 0.5); }\n.theme-gray app-wallet .tabs .tabs-content {\n background-color: rgba(37, 40, 43, 0.5); }\n.theme-white app-wallet .tabs .tabs-content {\n background-color: rgba(255, 255, 255, 0.5); }\n.theme-dark app-send .form-send .input-block-address .address-dropdown {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray app-send .form-send .input-block-address .address-dropdown {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white app-send .form-send .input-block-address .address-dropdown {\n background-color: #e6e6e6;\n color: #43454b; }\n.theme-dark app-send .form-send .input-block-address .address-dropdown div:hover {\n background-color: rgba(58, 72, 90, 0.5); }\n.theme-gray app-send .form-send .input-block-address .address-dropdown div:hover {\n background-color: rgba(70, 76, 81, 0.5); }\n.theme-white app-send .form-send .input-block-address .address-dropdown div:hover {\n background-color: rgba(240, 240, 240, 0.5); }\n.theme-dark app-send .form-send .send-select {\n color: #e0e0e0; }\n.theme-gray app-send .form-send .send-select {\n color: #e0e0e0; }\n.theme-white app-send .form-send .send-select {\n color: #43454b; }\n.theme-dark app-send .form-send .send-select .icon {\n background-color: #4db1ff; }\n.theme-gray app-send .form-send .send-select .icon {\n background-color: #42a5f5; }\n.theme-white app-send .form-send .send-select .icon {\n background-color: #2c95f1; }\n.theme-dark app-send .form-send .additional-details {\n border: 0.2rem solid #2b3644; }\n.theme-gray app-send .form-send .additional-details {\n border: 0.2rem solid #2f3438; }\n.theme-white app-send .form-send .additional-details {\n border: 0.2rem solid #ebebeb; }\n.theme-dark app-receive .btn-copy-address {\n background-color: #4db1ff; }\n.theme-gray app-receive .btn-copy-address {\n background-color: #42a5f5; }\n.theme-white app-receive .btn-copy-address {\n background-color: #2c95f1; }\n.theme-dark app-history table tbody tr:nth-child(4n+1) {\n background-color: #18202a; }\n.theme-gray app-history table tbody tr:nth-child(4n+1) {\n background-color: #25292d; }\n.theme-white app-history table tbody tr:nth-child(4n+1) {\n background-color: #ffffff; }\n.theme-dark app-history table tbody tr:nth-child(4n+2) {\n background-color: #18202a; }\n.theme-gray app-history table tbody tr:nth-child(4n+2) {\n background-color: #25292d; }\n.theme-white app-history table tbody tr:nth-child(4n+2) {\n background-color: #ffffff; }\n.theme-dark app-history table tbody tr:nth-child(4n+3) {\n background-color: transparent; }\n.theme-gray app-history table tbody tr:nth-child(4n+3) {\n background-color: transparent; }\n.theme-white app-history table tbody tr:nth-child(4n+3) {\n background-color: transparent; }\n.theme-dark app-history table tbody tr:nth-child(4n+4) {\n background-color: transparent; }\n.theme-gray app-history table tbody tr:nth-child(4n+4) {\n background-color: transparent; }\n.theme-white app-history table tbody tr:nth-child(4n+4) {\n background-color: transparent; }\n.theme-dark app-history table tbody tr .status .confirmation {\n background-color: #343f4a; }\n.theme-gray app-history table tbody tr .status .confirmation {\n background-color: #363a3e; }\n.theme-white app-history table tbody tr .status .confirmation {\n background-color: #dcdcdc; }\n.theme-dark app-history table tbody tr .status .confirmation .fill {\n background-color: #5cda9d; }\n.theme-gray app-history table tbody tr .status .confirmation .fill {\n background-color: #47cf8d; }\n.theme-white app-history table tbody tr .status .confirmation .fill {\n background-color: #46c172; }\napp-history table tbody tr .status.send .icon {\n background-color: #ff5252; }\napp-history table tbody tr .status.received .icon {\n background-color: #00c853; }\n.theme-dark app-contracts .wrap-table .contract .icon.new, .theme-dark app-contracts .wrap-table .contract .icon.alert {\n background-color: #fe5252; }\n.theme-gray app-contracts .wrap-table .contract .icon.new, .theme-gray app-contracts .wrap-table .contract .icon.alert {\n background-color: #fe5252; }\n.theme-white app-contracts .wrap-table .contract .icon.new, .theme-white app-contracts .wrap-table .contract .icon.alert {\n background-color: #ff5252; }\n.theme-dark app-contracts .wrap-table .contract .icon.purchase, .theme-dark app-contracts .wrap-table .contract .icon.sell {\n background-color: #4db1ff; }\n.theme-gray app-contracts .wrap-table .contract .icon.purchase, .theme-gray app-contracts .wrap-table .contract .icon.sell {\n background-color: #42a5f5; }\n.theme-white app-contracts .wrap-table .contract .icon.purchase, .theme-white app-contracts .wrap-table .contract .icon.sell {\n background-color: #2c95f1; }\n.theme-dark app-purchase .form-purchase .purchase-select {\n color: #e0e0e0; }\n.theme-gray app-purchase .form-purchase .purchase-select {\n color: #e0e0e0; }\n.theme-white app-purchase .form-purchase .purchase-select {\n color: #43454b; }\n.theme-dark app-purchase .form-purchase .purchase-select .icon {\n background-color: #4db1ff; }\n.theme-gray app-purchase .form-purchase .purchase-select .icon {\n background-color: #42a5f5; }\n.theme-white app-purchase .form-purchase .purchase-select .icon {\n background-color: #2c95f1; }\n.theme-dark app-purchase .form-purchase .purchase-states {\n color: #4db1ff; }\n.theme-gray app-purchase .form-purchase .purchase-states {\n color: #42a5f5; }\n.theme-white app-purchase .form-purchase .purchase-states {\n color: #2c95f1; }\n.theme-dark app-purchase .form-purchase .additional-details {\n border: 0.2rem solid #2b3644; }\n.theme-gray app-purchase .form-purchase .additional-details {\n border: 0.2rem solid #2f3438; }\n.theme-white app-purchase .form-purchase .additional-details {\n border: 0.2rem solid #ebebeb; }\n.theme-dark app-purchase .progress-bar-container .progress-bar {\n background-color: #343f4a; }\n.theme-gray app-purchase .progress-bar-container .progress-bar {\n background-color: #363a3e; }\n.theme-white app-purchase .progress-bar-container .progress-bar {\n background-color: #dcdcdc; }\n.theme-dark app-purchase .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #5cda9d; }\n.theme-gray app-purchase .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #47cf8d; }\n.theme-white app-purchase .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #46c172; }\napp-messages table tbody tr td:first-child span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; }\n.theme-dark app-messages table tbody tr td:first-child .icon {\n background-color: #fe5252; }\n.theme-gray app-messages table tbody tr td:first-child .icon {\n background-color: #fe5252; }\n.theme-white app-messages table tbody tr td:first-child .icon {\n background-color: #ff5252; }\n.theme-dark app-typing-message .head .interlocutor {\n color: #4db1ff; }\n.theme-gray app-typing-message .head .interlocutor {\n color: #42a5f5; }\n.theme-white app-typing-message .head .interlocutor {\n color: #2c95f1; }\n.theme-dark app-typing-message .messages-content .messages-list div.date {\n color: #556576; }\n.theme-gray app-typing-message .messages-content .messages-list div.date {\n color: #565c62; }\n.theme-white app-typing-message .messages-content .messages-list div.date {\n color: #a0a5ab; }\n.theme-dark app-typing-message .messages-content .messages-list div.my {\n background-color: #2a3544; }\n.theme-gray app-typing-message .messages-content .messages-list div.my {\n background-color: #30363c; }\n.theme-white app-typing-message .messages-content .messages-list div.my {\n background-color: #fff; }\napp-typing-message .messages-content .messages-list div.my:before {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n left: -1.1rem;\n border: 1.2rem solid transparent; }\n.theme-dark app-typing-message .messages-content .messages-list div.my:before {\n border-top-color: #2a3544; }\n.theme-gray app-typing-message .messages-content .messages-list div.my:before {\n border-top-color: #30363c; }\n.theme-white app-typing-message .messages-content .messages-list div.my:before {\n border-top-color: #fff; }\n.theme-dark app-typing-message .messages-content .messages-list div.buddy {\n background-color: #18202a; }\n.theme-gray app-typing-message .messages-content .messages-list div.buddy {\n background-color: #25292d; }\n.theme-white app-typing-message .messages-content .messages-list div.buddy {\n background-color: #ededed; }\napp-typing-message .messages-content .messages-list div.buddy:after {\n content: \"\";\n display: block;\n position: absolute;\n right: -1.1rem;\n top: 0;\n border: 1.2rem solid transparent; }\n.theme-dark app-typing-message .messages-content .messages-list div.buddy:after {\n border-top-color: #18202a; }\n.theme-gray app-typing-message .messages-content .messages-list div.buddy:after {\n border-top-color: #25292d; }\n.theme-white app-typing-message .messages-content .messages-list div.buddy:after {\n border-top-color: #ededed; }\n.theme-dark app-staking .chart-header .general .label {\n color: #556576; }\n.theme-gray app-staking .chart-header .general .label {\n color: #565c62; }\n.theme-white app-staking .chart-header .general .label {\n color: #a0a5ab; }\n.theme-dark app-staking .chart-header .general .options {\n color: #e0e0e0; }\n.theme-gray app-staking .chart-header .general .options {\n color: #e0e0e0; }\n.theme-white app-staking .chart-header .general .options {\n color: #43454b; }\napp-staking .chart-header .selected {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-grow: 1;\n font-size: 1.6rem; }\n.theme-dark app-staking .chart-options .title {\n color: #556576; }\n.theme-gray app-staking .chart-options .title {\n color: #565c62; }\n.theme-white app-staking .chart-options .title {\n color: #a0a5ab; }\n.theme-dark app-staking .chart-options .options button {\n color: #e0e0e0;\n background-color: #2b3644; }\n.theme-gray app-staking .chart-options .options button {\n color: #e0e0e0;\n background-color: #292d31; }\n.theme-white app-staking .chart-options .options button {\n color: #43454b;\n background-color: #e0e0e0; }\n.theme-dark app-staking .chart-options .options button.active {\n background-color: #556576; }\n.theme-gray app-staking .chart-options .options button.active {\n background-color: #515960; }\n.theme-white app-staking .chart-options .options button.active {\n background-color: #ffffff; }\n.head {\n display: flex;\n align-items: flex-end;\n justify-content: space-between;\n font-size: 1.3rem;\n padding: 0 3rem;\n width: 100%;\n height: 3rem; }\n.theme-dark .head {\n color: #4db1ff; }\n.theme-gray .head {\n color: #42a5f5; }\n.theme-white .head {\n color: #2c95f1; }\n.head .breadcrumbs > span:not(:last-child), .head .breadcrumbs a:not(:last-child) {\n position: relative;\n cursor: pointer;\n margin-right: 20px;\n outline-style: none; }\n.head .breadcrumbs > span:not(:last-child):after, .head .breadcrumbs a:not(:last-child):after {\n content: \"\";\n display: block;\n position: absolute;\n top: 0.5rem;\n right: -1.5rem;\n width: 0.9rem;\n height: 0.9rem;\n -webkit-mask: url('arrow-right.svg') no-repeat center;\n mask: url('arrow-right.svg') no-repeat center;\n -webkit-mask-size: cover;\n mask-size: cover; }\n.theme-dark .head .breadcrumbs > span:not(:last-child):after, .theme-dark .head .breadcrumbs a:not(:last-child):after {\n background-color: #4db1ff; }\n.theme-gray .head .breadcrumbs > span:not(:last-child):after, .theme-gray .head .breadcrumbs a:not(:last-child):after {\n background-color: #42a5f5; }\n.theme-white .head .breadcrumbs > span:not(:last-child):after, .theme-white .head .breadcrumbs a:not(:last-child):after {\n background-color: #2c95f1; }\n.head .back-btn {\n display: flex;\n align-items: center;\n background-color: transparent;\n color: #4db1ff;\n font-size: inherit;\n font-weight: 400;\n line-height: 1.3rem;\n padding: 0;\n height: auto; }\n.head .back-btn .icon {\n margin-right: 0.7rem;\n -webkit-mask: url('back.svg') no-repeat center;\n mask: url('back.svg') no-repeat center;\n width: 0.9rem;\n height: 0.9rem; }\n.theme-dark .head .back-btn .icon {\n background-color: #4db1ff; }\n.theme-gray .head .back-btn .icon {\n background-color: #42a5f5; }\n.theme-white .head .back-btn .icon {\n background-color: #2c95f1; }\n.scrolled-content::-webkit-scrollbar {\n background-color: transparent;\n cursor: default;\n width: 1rem;\n height: 1rem; }\n.scrolled-content::-webkit-scrollbar-track {\n background: transparent; }\n.scrolled-content::-webkit-scrollbar-thumb {\n background-color: #556576;\n background-clip: padding-box;\n border: 0.25rem solid transparent;\n border-radius: 0.5rem; }\n.scrolled-content::-webkit-scrollbar-thumb:hover {\n background-color: #556576; }\ntable {\n font-size: 1.3rem;\n width: 100%; }\ntable thead {\n text-align: left; }\n.theme-dark table thead {\n color: #556576; }\n.theme-gray table thead {\n color: #565c62; }\n.theme-white table thead {\n color: #a0a5ab; }\ntable thead tr {\n height: 4rem; }\ntable thead tr th {\n padding: 1rem;\n vertical-align: bottom; }\ntable thead tr th:first-child {\n padding-left: 3rem; }\ntable thead tr th:last-child {\n padding-right: 3rem; }\ntable tbody {\n text-align: left; }\n.theme-dark table tbody {\n color: #e0e0e0; }\n.theme-gray table tbody {\n color: #e0e0e0; }\n.theme-white table tbody {\n color: #43454b; }\ntable tbody tr {\n height: 3.5rem; }\n.theme-dark table tbody tr:nth-child(odd) {\n background-color: #18202a; }\n.theme-gray table tbody tr:nth-child(odd) {\n background-color: #25292d; }\n.theme-white table tbody tr:nth-child(odd) {\n background-color: #ffffff; }\ntable tbody tr td {\n line-height: 1.7rem;\n padding: 0 1rem;\n vertical-align: middle;\n white-space: nowrap;\n max-width: 20rem; }\ntable tbody tr td:first-child {\n padding-left: 3rem; }\ntable tbody tr td:last-child {\n padding-right: 3rem; }\n@font-face {\n font-family: OpenSans;\n src: url('OpenSans-Light.ttf');\n font-weight: 300; }\n@font-face {\n font-family: OpenSans;\n src: url('OpenSans-Regular.ttf');\n font-weight: 400; }\n@font-face {\n font-family: OpenSans;\n src: url('OpenSans-SemiBold.ttf');\n font-weight: 600; }\n@font-face {\n font-family: OpenSans;\n src: url('OpenSans-Bold.ttf');\n font-weight: 700; }\n@font-face {\n font-family: OpenSans;\n src: url('OpenSans-ExtraBold.ttf');\n font-weight: 800; }\nhtml {\n font-family: OpenSans, sans-serif;\n font-size: 10px; }\nbody {\n font-family: OpenSans, sans-serif;\n font-size: 1.6rem;\n width: 100vw;\n height: 100vh; }\nbody.theme-dark {\n background: #131921 url('background-dark.png') no-repeat center;\n background-size: cover; }\nbody.theme-gray {\n background: #101417 url('background-gray.png') no-repeat center;\n background-size: cover; }\nbody.theme-white {\n background: #eeeeee url('background-white.png') no-repeat center;\n background-size: cover; }\nbody app-root {\n display: flex;\n width: 100%;\n height: 100%; }\n\r\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9EOlxcUHJvamVjdHNcXFphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXNzZXRzXFxzY3NzXFxiYXNlXFxfbWl4aW5zLnNjc3MiLCJzcmMvc3R5bGVzLnNjc3MiLCJub2RlX21vZHVsZXMvQG5nLXNlbGVjdC9uZy1zZWxlY3QvdGhlbWVzL2RlZmF1bHQudGhlbWUuY3NzIiwic3JjL0Q6XFxQcm9qZWN0c1xcWmFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXGJhc2VcXF9udWxsLnNjc3MiLCJzcmMvRDpcXFByb2plY3RzXFxaYW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFzc2V0c1xcc2Nzc1xcYmFzZVxcX2Jhc2Uuc2NzcyIsInNyYy9EOlxcUHJvamVjdHNcXFphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXNzZXRzXFxzY3NzXFxiYXNlXFxfdGhlbWUuc2NzcyIsInNyYy9EOlxcUHJvamVjdHNcXFphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXNzZXRzXFxzY3NzXFxsYXlvdXRcXF9tYWluLnNjc3MiLCJzcmMvRDpcXFByb2plY3RzXFxaYW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFzc2V0c1xcc2Nzc1xcbGF5b3V0XFxfc2lkZWJhci5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0c1xcWmFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXGxheW91dFxcX3dhbGxldC5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0c1xcWmFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXG1vZHVsZXNcXF9oZWFkLnNjc3MiLCJzcmMvRDpcXFByb2plY3RzXFxaYW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFzc2V0c1xcc2Nzc1xcbW9kdWxlc1xcX3Njcm9sbC5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0c1xcWmFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXG1vZHVsZXNcXF90YWJsZS5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0c1xcWmFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxzdHlsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4RUE7O0NDNUVDO0FDRkQsaURBQWlELGVBQWUsQ0FBQyxpQ0FBaUM7QUFBQyx1REFBdUQsZUFBZTtBQUFDLDJEQUEyRCxRQUFRLENBQUMseUNBQXlDLENBQUMsc0JBQXNCO0FBQUMsaUVBQWlFLHlDQUF5QztBQUFDLGtFQUFrRSw0QkFBNEIsQ0FBQywyQkFBMkI7QUFBQywrREFBK0QseUJBQXlCLENBQUMsd0JBQXdCO0FBQUMseUVBQXlFLG9CQUFvQixDQUFDLDBFQUEwRTtBQUFDLG1EQUFtRCx3QkFBd0I7QUFBQyx5Q0FBeUMsWUFBWTtBQUFDLGdDQUFnQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsa0JBQWtCO0FBQUMsc0NBQXNDLG1DQUFtQztBQUFDLG9EQUFvRCxrQkFBa0IsQ0FBQyxpQkFBaUI7QUFBQyxnRUFBZ0Usa0JBQWtCLENBQUMsY0FBYztBQUFDLG9FQUFvRSxVQUFVO0FBQUMsaURBQWlELFdBQVc7QUFBQywrRUFBK0UsT0FBTyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0I7QUFBQywyRkFBMkYsa0JBQWtCLENBQUMsaUJBQWlCO0FBQUMsb0dBQW9HLHdCQUF3QixDQUFDLHdCQUF3QjtBQUFDLG9IQUFvSCxhQUFhO0FBQUMsdUVBQXVFLGVBQWUsQ0FBQyxnQkFBZ0I7QUFBQyxtRkFBbUYsaUJBQWlCLENBQUMsY0FBYztBQUFDLGlG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O0FMMEU3QjtJSXJDRSx5QkNjZ0M7SURiaEMsY0NRMkIsRUFBQTtBTDRCN0I7SUlyQ0UseUJDNERnQztJRDNEaEMsY0NzRDJCLEVBQUE7QUxsQjdCO0lJOUJJLHlCQ3RDeUIsRUFBQTtBTG9FN0I7SUk5QkkseUJDUXlCLEVBQUE7QUxzQjdCO0lJOUJJLHlCQ3NEeUIsRUFBQTtBTHhCN0I7SUl0QkUseUJDM0NpQztJRDRDakMsY0NyRDJCLEVBQUE7QUwwRTdCO0lJdEJFLHlCQ0dpQztJREZqQyxjQ1AyQixFQUFBO0FMNEI3QjtJSXRCRSx5QkNpRGlDO0lEaERqQyxjQ3VDMkIsRUFBQTtBTGxCN0I7SUlmSSx5QkNqRDBCLEVBQUE7QUxnRTlCO0lJZkkseUJDSDBCLEVBQUE7QUxrQjlCO0lJZkkseUJDMkMwQixFQUFBO0FMNUI5QjtJSVBFLHlCQ3hEcUM7SUR5RHJDLGNDcEUyQixFQUFBO0FMMEU3QjtJSVBFLHlCQ1ZxQztJRFdyQyxjQ3RCMkIsRUFBQTtBTDRCN0I7SUlQRSx5QkNvQ3FDO0lEbkNyQyxjQ3dCMkIsRUFBQTtBTGxCN0I7SUlBSSx5QkM5RDhCLEVBQUE7QUw4RGxDO0lJQUkseUJDaEI4QixFQUFBO0FMZ0JsQztJSUFJLHlCQzhCOEIsRUFBQTtBRHBHdEM7SUE0RUksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUIsRUFBQTtBSlJ2QjtNSVdFLDZCQUE2QjtNQUM3Qiw0QkN6RW1DO01EMEVuQyxjQ3hGb0IsRUFBQTtBTDJFdEI7TUlXRSw2QkFBNkI7TUFDN0IsNEJDM0JtQztNRDRCbkMsY0MxQ29CLEVBQUE7QUw2QnRCO01JV0UsNkJBQTZCO01BQzdCLDRCQ21CbUM7TURsQm5DLGNDSW9CLEVBQUE7QUR2RjFCO01BNEZNLGtCQUFrQjtNQUNsQiw2REFBcUU7Y0FBckUscURBQXFFO01BQ3JFLGFBQWE7TUFDYixjQUFjLEVBQUE7QUp6QmhCO1FJbUJJLHlCQzlGa0IsRUFBQTtBTDJFdEI7UUltQkkseUJDaERrQixFQUFBO0FMNkJ0QjtRSW1CSSx5QkNGa0IsRUFBQTtBRGMxQjtFQUNFLGFB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Q0ksZUFBZSxFQUFBO0FKNWJmO01JK2JFLGNDdmdCb0IsRUFBQTtBTHdFdEI7TUkrYkUsY0N6ZG9CLEVBQUE7QUwwQnRCO01JK2JFLGNDM2FvQixFQUFBO0FEZ2IxQjtFQUNFLHNCQUFzQjtFQUN0QixnQkFBZ0IsRUFBQTtBQUdsQjtFQUdJLFlBQVk7RUFDWixVQUFVLEVBQUE7QUo3Y1Y7SUlnZEUseUJDM2ZrQztJRDRmbEMsdUNDemZ3QyxFQUFBO0FMd0MxQztJSWdkRSx5QkM3Y2tDO0lEOGNsQyx1Q0MzY3dDLEVBQUE7QUxOMUM7SUlnZEUseUJDL1prQztJRGdhbEMsNkNDN1o4QyxFQUFBO0FEcVpwRDtFQWFJLGNBQWM7RUFDZCxpQ0FBaUM7RUFDakMsaUJBQWlCO0VBQ2pCLHlCQUF5QjtFQUN6QixrQkFBa0IsRUFBQTtBQWpCdEI7RUFxQkksY0FBYztFQUNkLGtCQUFrQixFQUFBO0FKL2RsQjtJSWtlRSxjQzdpQm9CLEVBQUE7QUwyRXRCO0lJa2VFLGNDL2ZvQixFQUFBO0FMNkJ0QjtJSWtlRSxjQ2pkb0IsRUFBQTtBTGpCdEI7SUl3ZUkseUJDbGhCMkI7SURtaEIzQixjQ3BqQmtCLEVBQUE7QUwyRXRCO0lJd2VJLHlCQ3BlMkI7SURxZTNCLGNDdGdCa0IsRUFBQTtBTDZCdEI7SUl3ZUkseUJDdGIyQjtJRHViM0IsY0N4ZGtCLEVBQUE7QUQ4ZDFCO0VBR0ksV0FBVyxFQUFBO0FBSGY7SUFNTSxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLGVBQWU7SUFDZixjQUFjLEVBQUE7QUozZmhCO01JOGZJLHlCQzFqQnlCO01EMmpCekIsY0Mxa0JrQixFQUFBO0FMMkV0QjtNSThmSSx5QkM1Z0J5QjtNRDZnQnpCLGNDNWhCa0IsRUFBQTtBTDZCdEI7TUk4ZkkseUJDOWR5QjtNRCtkekIsY0M5ZWtCLEVBQUE7QUQ4ZDFCO01Bb0JRLFVBQVUsRUFBQTtBQXBCbEI7SUF5Qk0sWUFBWSxFQUFBO0FKeGdCZDtNSTJnQkkseUJDdmtCeUIsRUFBQTtBTDREN0I7TUkyZ0JJLHlCQ3poQnlCLEVBQUE7QUxjN0I7TUkyZ0JJLHlCQzNleUIsRUFBQTtBRCtjakM7TUFrQ1UsaUJBQWlCO01BQ2pCLGFBQWEsRUFBQTtBSmxoQm5CO1FJcWhCUSx5QkNqbEJxQjtRRGtsQnJCLGNDam1CYyxFQUFBO0FMMkV0QjtRSXFoQlEseUJDbmlCcUI7UURvaUJyQixjQ25qQmMsRUFBQTtBTDZCdEI7UUlxaEJRLHlCQ3JmcUI7UURzZnJCLGNDcmdCYyxFQUFBO0FMakJ0QjtRSTRoQlUsdUNDdmxCNkI7UUR3bEI3QixjQ3htQlksRUFBQTtBTDJFdEI7UUk0aEJVLHVDQ3ppQjZCO1FEMGlCN0IsY0MxakJZLEVBQUE7QUw2QnRCO1FJNGhCVSwwQ0MzZmdDO1FENGZoQyxjQzVnQlksRUFBQTtBTGpCdEI7UUlvaUJVLHVDQzlsQmdDO1FEK2xCaEMsY0NobkJZLEVBQUE7QUwyRXRCO1FJb2lCVSx1Q0NoakJnQztRRGlqQmhDLGNDbGtCWSxFQUFBO0FMNkJ0QjtRSW9pQlUsMENDbGdCbUM7UURtZ0JuQyxjQ3BoQlksRUFBQTtBTGpCdEI7RUltakJFLHNDQzFsQjBEO0VEMmxCMUQsY0MvbkJvQixFQUFBO0FMMkV0QjtFSW1qQkUsc0NDNWlCMEQ7RUQ2aUIxRCxjQ2psQm9CLEVBQUE7QUw2QnRCO0VJbWpCRSx1Q0M5ZjJEO0VEK2YzRCxjQ25pQm9CLEVBQUE7QUxqQnRCO0VJNGpCTSx5QkNsb0JlLEVBQUE7QUxzRXJCO0VJNGpCTSx5QkNwbEJlLEVBQUE7QUx3QnJCO0VJNGpCTSx5QkN0aUJlLEVBQUE7QUx0QnJCO0VJbWtCTSx5QkMxb0JpQixFQUFBO0FMdUV2QjtFSW1rQk0seUJDNWxCaUIsRUFBQTtBTHlCdkI7RUlta0JNLHlCQzlpQmlCLEVBQUE7QUxyQnZCO0VJMGtCTSx5QkNscEJnQixFQUFBO0FMd0V0QjtFSTBrQk0seUJDcG1CZ0IsRUFBQTtBTDBCdEI7RUkwa0JNLHlCQ3RqQmdCLEVBQUE7QUxwQnRCO0VJa2xCSSx5QkMxcEJrQjtFRDJwQmxCLGNDN3BCeUIsRUFBQTtBTDBFN0I7RUlrbEJJLHlCQzVtQmtCO0VENm1CbEIsY0MvbUJ5QixFQUFBO0FMNEI3QjtFSWtsQkkseUJDOWpCa0I7RUQrakJsQixjQ2prQnlCLEVBQUE7QUxsQjdCO0VJNGxCTSx5QkNsb0JtQixFQUFBO0FMc0N6QjtFSTRsQk0seUJDcGxCbUIsRUFBQTtBTFJ6QjtFSTRsQk0seUJDdGlCbUIsRUFBQTtBTHREekI7RUl3bUJFLGdDQ3JxQm1DLEVBQUE7QUw2RHJDO0VJd21CRSxnQ0N2bkJtQyxFQUFBO0FMZXJDO0VJd21CRSxnQ0N6a0JtQyxFQUFBO0FML0JyQztFSWtuQlEsY0MzckJrQixFQUFBO0FMeUUxQjtFSWtuQlEsY0M3b0JrQixFQUFBO0FMMkIxQjtFSWtuQlEsY0MvbEJrQixFQUFBO0FMbkIxQjtFSXluQlEsY0Nwc0JjLEVBQUE7QUwyRXRCO0VJeW5CUSxjQ3RwQmMsRUFBQTtBTDZCdEI7RUl5bkJRLGNDeG1CYyxFQUFBO0FMakJ0QjtFSWdvQlEsY0N4c0JjLEVBQUE7QUx3RXRCO0VJZ29CUSxjQzFwQmMsRUFBQTtBTDBCdEI7RUlnb0JRLGNDNW1CYyxFQUFBO0FMcEJ0QjtFSTZvQkUsY0N4dEJvQixFQUFBO0FMMkV0QjtFSTZvQkUsY0MxcUJvQixFQUFBO0FMNkJ0QjtFSTZvQkUsY0M1bkJvQixFQUFBO0FMakJ0QjtFSW1wQkkseUJDaHNCK0IsRUFBQTtBTDZDbkM7RUltcEJJLHlCQ2xwQitCLEVBQUE7QUxEbkM7RUltcEJJLHlCQ3BtQitCLEVBQUE7QUwvQ25DO0VJeXBCTSx5QkNyc0JpQyxFQUFBO0FMNEN2QztFSXlwQk0seUJDdnBCaUMsRUFBQTtBTEZ2QztFSXlwQk0seUJDem1CaUMsRUFBQTtBQ25JM0M7RUFDRSxjQUFjO0VBQ2QsYUFBYTtFQUNiLGdCQUFnQixFQUFBO0FBSGxCO0lBTUksa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixnQkFBZ0IsRUFBQTtBTjJFaEI7TU14RUUsdUNESjJDO01DSzNDLGNESm9CLEVBQUE7QUwyRXRCO01NeEVFLHVDRDBDMkM7TUN6QzNDLGNEMENvQixFQUFBO0FMNkJ0QjtNTXhFRSwwQ0R3RjhDO01DdkY5QyxjRHdGb0IsRUFBQTtBQ3BHMUI7TUFnQk0sa0JBQWtCO01BQ2xCLE1BQU07TUFDTixPQUFPLEVBQUE7QU5pRVQ7RU1uRE0sY0RyQmdCLEVBQUE7QUx3RXRCO0VNbkRNLGNEeUJnQixFQUFBO0FMMEJ0QjtFTW5ETSxjRHVFZ0IsRUFBQTtBTHBCdEI7RU03Q1EseUJEM0JjLEVBQUE7QUx3RXRCO0VNN0NRLHlCRG1CYyxFQUFBO0FMMEJ0QjtFTTdDUSx5QkRpRWMsRUFBQTtBTHBCdEI7RU1oQ0UseUJENUIyQjtFQzZCM0IsY0Q1Q29CLEVBQUE7QUwyRXRCO0VNaENFLHlCRGtCMkI7RUNqQjNCLGNERW9CLEVBQUE7QUw2QnRCO0VNaENFLHlCRGdFMkI7RUMvRDNCLGNEZ0RvQixFQUFBO0FMakJ0QjtFTXJCRSx5QkR2QzJCLEVBQUE7QUw0RDdCO0VNckJFLHlCRE8yQixFQUFBO0FMYzdCO0VNckJFLHlCRHFEMkIsRUFBQTtBQ2hEakM7RUFHSSxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYiw4QkFBOEI7RUFDOUIsc0JBQXNCLEVBQUE7QU5TdEI7SU1KSSxjRHJFc0IsRUFBQTtBTHlFMUI7SU1KSSxjRHZCc0IsRUFBQTtBTDJCMUI7SU1KSSxjRHVCc0IsRUFBQTtBTG5CMUI7SU1LTSx1Q0R0RDJDLEVBQUE7QUxpRGpEO0lNS00sdUNEUjJDLEVBQUE7QUxHakQ7SU1LTSwwQ0RzQzhDLEVBQUE7QUwzQ3BEO0lNV1EsY0RwRmtCLEVBQUE7QUx5RTFCO0lNV1EsY0R0Q2tCLEVBQUE7QUwyQjFCO0lNV1EsY0RRa0IsRUFBQTtBTG5CMUI7SU1rQlEseUJEMUZjLEVBQUE7QUx3RXRCO0lNa0JRLHlCRDVDYyxFQUFBO0FMMEJ0QjtJTWtCUSx5QkRFYyxFQUFBO0FMcEJ0QjtJTXdCVSxjRGhHWSxFQUFBO0FMd0V0QjtJTXdCVSxjRGxEWSxFQUFBO0FMMEJ0QjtJTXdCVSxjREpZLEVBQUE7QUNhMUI7RUFDRSxrQkFBa0IsRUFBQTtBTmxDaEI7RU9oRkEsdUNGQTZDLEVBQUE7QUxnRjdDO0VPaEZBLHVDRjhDNkMsRUFBQTtBTGtDN0M7RU9oRkEsMENGNEZnRCxFQUFBO0FMWmhEO0VPdEVNLGNGTGdCLEVBQUE7QUwyRXRCO0VPdEVNLGNGeUNnQixFQUFBO0FMNkJ0QjtFT3RFTSxjRnVGZ0IsRUFBQTtBTGpCdEI7RU8vRE0sY0ZUZ0IsRUFBQTtBTHdFdEI7RU8vRE0sY0ZxQ2dCLEVBQUE7QUwwQnRCO0VPL0RNLGNGbUZnQixFQUFBO0FMcEJ0QjtFT3JETSw2QkFBNkI7RUFDN0IsY0Z2QmdCLEVBQUE7QUwyRXRCO0VPckRNLDZCQUE2QjtFQUM3QixjRnVCZ0IsRUFBQTtBTDZCdEI7RU9yRE0sNkJBQTZCO0VBQzdCLGNGcUVnQixFQUFBO0FMakJ0QjtFTzVDVSxjRjdCZ0IsRUFBQTtBTHlFMUI7RU81Q1UsY0ZpQmdCLEVBQUE7QUwyQjFCO0VPNUNVLGNGK0RnQixFQUFBO0FMbkIxQjtFT3JDVSx5QkZuQ1ksRUFBQTtBTHdFdEI7RU9yQ1UseUJGV1ksRUFBQTtBTDBCdEI7RU9yQ1UseUJGeURZLEVBQUE7QUxwQnRCO0VPOUJVLHlCRnZDd0I7RUV3Q3hCLGNGN0NtQixFQUFBO0FMMEU3QjtFTzlCVSx5QkZPd0I7RUVOeEIsY0ZDbUIsRUFBQTtBTDRCN0I7RU85QlUseUJGcUR3QjtFRXBEeEIsY0YrQ21CLEVBQUE7QUxsQjdCO0VPcEJZLHlCRnpCdUIsRUFBQTtBTDZDbkM7RU9wQlkseUJGcUJ1QixFQUFBO0FMRG5DO0VPcEJZLHlCRm1FdUIsRUFBQTtBTC9DbkM7RU9kYyx5QkY5QnlCLEVBQUE7QUw0Q3ZDO0VPZGMseUJGZ0J5QixFQUFBO0FMRnZDO0VPZGMseUJGOER5QixFQUFBO0FMaER2QztFT0xVLGNGcEVnQixFQUFBO0FMeUUxQjtFT0xVLGNGdEJnQixFQUFBO0FMMkIxQjtFT0xVLGNGd0JnQixFQUFBO0FMbkIxQjtFT0dRLHVDRjNEcUM7RUU0RHJDLGNGMURxQixFQUFBO0FMc0Q3QjtFT0dRLHVDRmJxQztFRWNyQyxjRlpxQixFQUFBO0FMUTdCO0VPR1EseUJGaUNxQztFRWhDckMsY0ZrQ3FCLEVBQUE7QUx0QzdCO0VPWVksY0ZqRXFCLEVBQUE7QUxxRGpDO0VPWVksY0ZuQnFCLEVBQUE7QUxPakM7RU9ZWSxjRjJCcUIsRUFBQTtBTHZDakM7RU9tQlkseUJGckU0QjtFRXNFNUIsY0Z4RXNCLEVBQUE7QUxvRGxDO0VPbUJZLHlCRnZCNEI7RUV3QjVCLGNGMUJzQixFQUFBO0FMTWxDO0VPbUJZLHlCRnVCNEI7RUV0QjVCLGNGb0JzQixFQUFBO0FMeENsQztFTzJCWSx5QkY5RXlCO0VFK0V6QixjRnZHVSxFQUFBO0FMMkV0QjtFTzJCWSx5QkZoQ3lCO0VFaUN6QixjRnpEVSxFQUFBO0FMNkJ0QjtFTzJCWSx5QkZjeUI7RUViekIsY0ZYVSxFQUFBO0FMakJ0QjtFT21DWSxjRnhGcUIsRUFBQTtBTHFEakM7RU9tQ1ksY0YxQ3FCLEVBQUE7QUxPakM7RU9tQ1ksY0ZJcUIsRUFBQTtBTHZDakM7RU80Q1EsdUNGbkcwQyxFQUFBO0FMdURsRDtFTzRDUSx1Q0ZyRDBDLEVBQUE7QUxTbEQ7RU80Q1EsMENGUDZDLEVBQUE7QUxyQ3JEO0VPc0RFLG1DRnJJeUIsRUFBQTtBTCtFM0I7RU9zREUsbUNGdkZ5QixFQUFBO0FMaUMzQjtFT3NERSxtQ0Z6Q3lCLEVBQUE7QUxiM0I7RU84RE0sY0Z6SWdCLEVBQUE7QUwyRXRCO0VPOERNLGNGM0ZnQixFQUFBO0FMNkJ0QjtFTzhETSxjRjdDZ0IsRUFBQTtBTGpCdEI7RU9vRVEseUJGNUljLEVBQUE7QUx3RXRCO0VPb0VRLHlCRjlGYyxFQUFBO0FMMEJ0QjtFT29FUSx5QkZoRGMsRUFBQTtBTHBCdEI7RU84RVEsa0RBQTBEO0VBQzFELHlCQUE2QyxFQUFBO0FQL0VyRDtFTzhFUSxrREFBMEQ7RUFDMUQseUJBQTZDLEVBQUE7QVAvRXJEO0VPOEVRLG9DQUEwRDtFQUMxRCx5QkFBNkMsRUFBQTtBUC9FckQ7RU9xRlUsb0NBQW1FLEVBQUE7QVByRjdFO0VPcUZVLG9DQUFtRSxFQUFBO0FQckY3RTtFT3FGVSxvQ0FBbUUsRUFBQTtBUHJGN0U7RU9nR0UsY0Z6S3dCLEVBQUE7QUx5RTFCO0VPZ0dFLGNGM0h3QixFQUFBO0FMMkIxQjtFT2dHRSxjRjdFd0IsRUFBQTtBTG5CMUI7RU93R00seUJGckxlLEVBQUE7QUw2RXJCO0VPd0dNLHlCRnZJZSxFQUFBO0FMK0JyQjtFT3dHTSx5QkZ6RmUsRUFBQTtBTGZyQjtFTytHTSx5QkY3TGMsRUFBQTtBTDhFcEI7RU8rR00seUJGL0ljLEVBQUE7QUxnQ3BCO0VPK0dNLHlCRmpHYyxFQUFBO0FMZHBCO0VPc0hNLGNGak1nQixFQUFBO0FMMkV0QjtFT3NITSxjRm5KZ0IsRUFBQTtBTDZCdEI7RU9zSE0sY0ZyR2dCLEVBQUE7QUxqQnRCO0VPa0lRLHlCRi9LMkIsRUFBQTtBTDZDbkM7RU9rSVEseUJGakkyQixFQUFBO0FMRG5DO0VPa0lRLHlCRm5GMkIsRUFBQTtBTC9DbkM7RU93SVUseUJGcEw2QixFQUFBO0FMNEN2QztFT3dJVSx5QkZ0STZCLEVBQUE7QUxGdkM7RU93SVUseUJGeEY2QixFQUFBO0FMaER2QztFT2lKTSx5QkY3TGlDLEVBQUE7QUw0Q3ZDO0VPaUpNLHlCRi9JaUMsRUFBQTtBTEZ2QztFT2lKTSx5QkZqR2lDLEVBQUE7QUxoRHZDO0VRaEZBLGNIS3NCLEVBQUE7QUwyRXRCO0VRaEZBLGNIbURzQixFQUFBO0FMNkJ0QjtFUWhGQSxjSGlHc0IsRUFBQTtBTGpCdEI7RVF4RUksY0hIa0IsRUFBQTtBTDJFdEI7RVF4RUksY0gyQ2tCLEVBQUE7QUw2QnRCO0VReEVJLGNIeUZrQixFQUFBO0FMakJ0QjtFUWxFTSx5QkhOZ0IsRUFBQTtBTHdFdEI7RVFsRU0seUJId0NnQixFQUFBO0FMMEJ0QjtFUWxFTSx5QkhzRmdCLEVBQUE7QUxwQnRCO0VReERNLHlCSGhCZ0IsRUFBQTtBTHdFdEI7RVF4RE0seUJIOEJnQixFQUFBO0FMMEJ0QjtFUXhETSx5Qkg0RWdCLEVBQUE7QUxwQnRCO0VRL0NFLGNIekJvQixFQUFBO0FMd0V0QjtFUS9DRSxjSHFCb0IsRUFBQTtBTDBCdEI7RVEvQ0UsY0htRW9CLEVBQUE7QUxwQnRCO0VRekNJLHlCSC9Ca0IsRUFBQTtBTHdFdEI7RVF6Q0kseUJIZWtCLEVBQUE7QUwwQnRCO0VRekNJLHlCSDZEa0IsRUFBQTtBTHBCdEI7RVE3Qk0sdUNIcEIyQyxFQUFBO0FMaURqRDtFUTdCTSx1Q0gwQjJDLEVBQUE7QUxHakQ7RVE3Qk0sMENId0U4QyxFQUFBO0FMM0NwRDtFUXZCUSx5QkhqRGMsRUFBQTtBTHdFdEI7RVF2QlEseUJISGMsRUFBQTtBTDBCdEI7RVF2QlEseUJIMkNjLEVBQUE7QUxwQnRCO0VRaEJRLHlCSGxDZ0M7RUdtQ2hDLGNIckMwQixFQUFBO0FMb0RsQztFUWhCUSx5QkhZZ0M7RUdYaEMsY0hTMEIsRUFBQTtBTE1sQztFUWhCUSx5QkgwRGdDO0VHekRoQyxjSHVEMEIsRUFBQTtBTHhDbEM7RVFSUSx1Q0hwRXFDLEVBQUE7QUw0RTdDO0VRUlEsdUNIdEJxQyxFQUFBO0FMOEI3QztFUVJRLDBDSHdCd0MsRUFBQTtBTGhCaEQ7RVFDSSx1Q0g3RXlDLEVBQUE7QUw0RTdDO0VRQ0ksdUNIL0J5QyxFQUFBO0FMOEI3QztFUUNJLDBDSGU0QyxFQUFBO0FMaEJoRDtFUWdCTSx5Qkg1RXVCO0VHNkV2QixjSDVGZ0IsRUFBQTtBTDJFdEI7RVFnQk0seUJIOUJ1QjtFRytCdkIsY0g5Q2dCLEVBQUE7QUw2QnRCO0VRZ0JNLHlCSGdCdUI7RUdmdkIsY0hBZ0IsRUFBQTtBTGpCdEI7RVF1QlEsdUNIbEYrQixFQUFBO0FMMkR2QztFUXVCUSx1Q0hwQytCLEVBQUE7QUxhdkM7RVF1QlEsMENIVWtDLEVBQUE7QUxqQzFDO0VRZ0NJLGNIM0drQixFQUFBO0FMMkV0QjtFUWdDSSxjSDdEa0IsRUFBQTtBTDZCdEI7RVFnQ0ksY0hma0IsRUFBQTtBTGpCdEI7RVFzQ00seUJIOUdnQixFQUFBO0FMd0V0QjtFUXNDTSx5QkhoRWdCLEVBQUE7QUwwQnRCO0VRc0NNLHlCSGxCZ0IsRUFBQTtBTHBCdEI7RVE4Q0ksNEJIM0dpQyxFQUFBO0FMNkRyQztFUThDSSw0Qkg3RGlDLEVBQUE7QUxlckM7RVE4Q0ksNEJIZmlDLEVBQUE7QUwvQnJDO0VReURFLHlCSGpJb0IsRUFBQTtBTHdFdEI7RVF5REUseUJIbkZvQixFQUFBO0FMMEJ0QjtFUXlERSx5QkhyQ29CLEVBQUE7QUxwQnRCO0VReUVRLHlCSHpIcUIsRUFBQTtBTGdEN0I7RVF5RVEseUJIM0VxQixFQUFBO0FMRTdCO0VReUVRLHlCSDdCcUIsRUFBQTtBTDVDN0I7RVFnRlEseUJIaElxQixFQUFBO0FMZ0Q3QjtFUWdGUSx5QkhsRnFCLEVBQUE7QUxFN0I7RVFnRlEseUJIcENxQixFQUFBO0FMNUM3QjtFUXVGUSw2QkFBNkIsRUFBQTtBUnZGckM7RVF1RlEsNkJBQTZCLEVBQUE7QVJ2RnJDO0VRdUZRLDZCQUE2QixFQUFBO0FSdkZyQztFUThGUSw2QkFBNkIsRUFBQTtBUjlGckM7RVE4RlEsNkJBQTZCLEVBQUE7QVI5RnJDO0VROEZRLDZCQUE2QixFQUFBO0FSOUZyQztFUXVHVSx5QkhwSnlCLEVBQUE7QUw2Q25DO0VRdUdVLHlCSHRHeUIsRUFBQTtBTERuQztFUXVHVSx5Qkh4RHlCLEVBQUE7QUwvQ25DO0VRNkdZLHlCSHpKMkIsRUFBQTtBTDRDdkM7RVE2R1kseUJIM0cyQixFQUFBO0FMRnZDO0VRNkdZLHlCSDdEMkIsRUFBQTtBR2MzQztFQXdEWSx5QkFBeUIsRUFBQTtBQXhEckM7RUErRFkseUJBQXlCLEVBQUE7QVI3SGpDO0VRZ0pRLHlCSHROYSxFQUFBO0FMc0VyQjtFUWdKUSx5Qkh4S2EsRUFBQTtBTHdCckI7RVFnSlEseUJIMUhhLEVBQUE7QUx0QnJCO0VRdUpRLHlCSC9OYyxFQUFBO0FMd0V0QjtFUXVKUSx5QkhqTGMsRUFBQTtBTDBCdEI7RVF1SlEseUJIbkljLEVBQUE7QUxwQnRCO0VRc0tJLGNIalBrQixFQUFBO0FMMkV0QjtFUXNLSSxjSG5Na0IsRUFBQTtBTDZCdEI7RVFzS0ksY0hySmtCLEVBQUE7QUxqQnRCO0VRNEtNLHlCSHBQZ0IsRUFBQTtBTHdFdEI7RVE0S00seUJIdE1nQixFQUFBO0FMMEJ0QjtFUTRLTSx5Qkh4SmdCLEVBQUE7QUxwQnRCO0VRb0xJLGNINVBrQixFQUFBO0FMd0V0QjtFUW9MSSxjSDlNa0IsRUFBQTtBTDBCdEI7RVFvTEksY0hoS2tCLEVBQUE7QUxwQnRCO0VRMkxJLDRCSHhQaUMsRUFBQTtBTDZEckM7RVEyTEksNEJIMU1pQyxFQUFBO0FMZXJDO0VRMkxJLDRCSDVKaUMsRUFBQTtBTC9CckM7RVFxTUkseUJIbFArQixFQUFBO0FMNkNuQztFUXFNSSx5QkhwTStCLEVBQUE7QUxEbkM7RVFxTUkseUJIdEorQixFQUFBO0FML0NuQztFUTJNTSx5Qkh2UGlDLEVBQUE7QUw0Q3ZDO0VRMk1NLHlCSHpNaUMsRUFBQTtBTEZ2QztFUTJNTSx5QkgzSmlDLEVBQUE7QUdrSzNDO0VScFNFLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsbUJBQW1CLEVBQUE7QUFnRmpCO0VRbU9VLHlCSHpTVyxFQUFBO0FMc0VyQjtFUW1PVSx5QkgzUFcsRUFBQTtBTHdCckI7RVFtT1UseUJIN01XLEVBQUE7QUx0QnJCO0VRbVBJLGNIM1RrQixFQUFBO0FMd0V0QjtFUW1QSSxjSDdRa0IsRUFBQTtBTDBCdEI7RVFtUEksY0gvTmtCLEVBQUE7QUxwQnRCO0VRaVFRLGNIMVVrQixFQUFBO0FMeUUxQjtFUWlRUSxjSDVSa0IsRUFBQTtBTDJCMUI7RVFpUVEsY0g5T2tCLEVBQUE7QUxuQjFCO0VRd1FRLHlCSHZUeUIsRUFBQTtBTCtDakM7RVF3UVEseUJIelF5QixFQUFBO0FMQ2pDO0VRd1FRLHNCSDNOc0IsRUFBQTtBRytMbEM7RVJ0UEUsV0FEMEQ7RUFFMUQsY0FGNEI7RUFHNUIsa0JBSDRDO0VReVJsQyxNQUFNO0VBQ04sYUFBYTtFQUNiLGdDQUFnQyxFQUFBO0FSaFJ4QztJUW1SVSx5QkhsVXVCLEVBQUE7QUwrQ2pDO0lRbVJVLHlCSHBSdUIsRUFBQTtBTENqQztJUW1SVSxzQkh0T29CLEVBQUE7QUw3QzlCO0VRMlJRLHlCSHpVNEIsRUFBQTtBTDhDcEM7RVEyUlEseUJIM1I0QixFQUFBO0FMQXBDO0VRMlJRLHlCSDdPNEIsRUFBQTtBRzhMeEM7RVJ0UEUsV0FEMEQ7RUFFMUQsY0FGNEI7RUFHNUIsa0JBSDRDO0VRNFNsQyxjQUFjO0VBQ2QsTUFBTTtFQUNOLGdDQUFnQyxFQUFBO0FSblN4QztJUXNTVSx5QkhwVjBCLEVBQUE7QUw4Q3BDO0lRc1NVLHlCSHRTMEIsRUFBQTtBTEFwQztJUXNTVSx5Qkh4UDBCLEVBQUE7QUw5Q3BDO0VRd1RNLGNIallvQixFQUFBO0FMeUUxQjtFUXdUTSxjSG5Wb0IsRUFBQTtBTDJCMUI7RVF3VE0sY0hyU29CLEVBQUE7QUxuQjFCO0VRK1RNLGNIMVlnQixFQUFBO0FMMkV0QjtFUStUTSxjSDVWZ0IsRUFBQTtBTDZCdEI7RVErVE0sY0g5U2dCLEVBQUE7QUc4UjFCO0VBc0JNLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWixpQkFBaUIsRUFBQTtBUnpVbkI7RVFrVkksY0gzWnNCLEVBQUE7QUx5RTFCO0VRa1ZJLGNIN1dzQixFQUFBO0FMMkIxQjtFUWtWSSxjSC9Uc0IsRUFBQTtBTG5CMUI7RVEyVk0sY0h0YWdCO0VHdWFoQix5Qkh2WThCLEVBQUE7QUwyQ3BDO0VRMlZNLGNIeFhnQjtFR3lYaEIseUJIelY4QixFQUFBO0FMSHBDO0VRMlZNLGNIMVVnQjtFRzJVaEIseUJIM1M4QixFQUFBO0FMakRwQztFUWtXUSx5Qkg1WXVCLEVBQUE7QUwwQy9CO0VRa1dRLHlCSDlWdUIsRUFBQTtBTEovQjtFUWtXUSx5QkhoVHVCLEVBQUE7QUlySW5DO0VBQ0UsYUFBYTtFQUNiLHFCQUFxQjtFQUNyQiw4QkFBOEI7RUFDOUIsaUJBQWlCO0VBQ2pCLGVBQWU7RUFDZixXQUFXO0VBQ1gsWUFBWSxFQUFBO0FUNEVWO0lTekVBLGNKQ3NCLEVBQUE7QUx3RXRCO0lTekVBLGNKK0NzQixFQUFBO0FMMEJ0QjtJU3pFQSxjSjZGc0IsRUFBQTtBSXZHMUI7SUFrQlEsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsbUJBQW1CLEVBQUE7QUFyQjNCO01UeUVFLFdBRDBEO01BRTFELGNBRjRCO01BRzVCLGtCQUg0QztNUzlDcEMsV0FBVztNQUNYLGNBQWM7TUFDZCxhQUFhO01BQ2IsY0FBYztNQUNkLHFEQUE2RDtjQUE3RCw2Q0FBNkQ7TUFDN0Qsd0JBQWdCO2NBQWhCLGdCQUFnQixFQUFBO0FUb0R0QjtRU2pEUSx5Qkp2QmMsRUFBQTtBTHdFdEI7UVNqRFEseUJKdUJjLEVBQUE7QUwwQnRCO1FTakRRLHlCSnFFYyxFQUFBO0FJdkcxQjtJQTBDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDZCQUE2QjtJQUM3QixjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsVUFBVTtJQUNWLFlBQVksRUFBQTtBQWxEaEI7TUFxRE0sb0JBQW9CO01BQ3BCLDhDQUFzRDtjQUF0RCxzQ0FBc0Q7TUFDdEQsYUFBYTtNQUNiLGNBQWMsRUFBQTtBVDJCaEI7UVN4QkkseUJKaERrQixFQUFBO0FMd0V0QjtRU3hCSSx5QkpGa0IsRUFBQTtBTDBCdEI7UVN4QkkseUJKNENrQixFQUFBO0FLdkcxQjtFQUdJLDZCQUE2QjtFQUM3QixlQUFlO0VBQ2YsV0FBVztFQUNYLFlBQVksRUFBQTtBQU5oQjtFQVVJLHVCQUF1QixFQUFBO0FBVjNCO0VBY0kseUJBQXlCO0VBQ3pCLDRCQUE0QjtFQUM1QixpQ0FBaUM7RUFDakMscUJBQXFCLEVBQUE7QUFqQnpCO0VBcUJJLHlCQUF5QixFQUFBO0FDckI3QjtFQUNFLGlCQUFpQjtFQUNqQixXQUFXLEVBQUE7QUFGYjtJQUtJLGdCQUFnQixFQUFBO0FYOEVoQjtNVzNFRSxjTkV3QixFQUFBO0FMeUUxQjtNVzNFRSxjTmdEd0IsRUFBQTtBTDJCMUI7TVczRUUsY044RndCLEVBQUE7QU10RzlCO01BWU0sWUFBWSxFQUFBO0FBWmxCO1FBZVEsYUFBYTtRQUNiLHNCQUFzQixFQUFBO0FBaEI5QjtVQW1CVSxrQkFBa0IsRUFBQTtBQW5CNUI7VUF1QlUsbUJBQW1CLEVBQUE7QUF2QjdCO0lBOEJJLGdCQUFnQixFQUFBO0FYcURoQjtNV2xERSxjTnpCb0IsRUFBQTtBTDJFdEI7TVdsREUsY05xQm9CLEVBQUE7QUw2QnRCO01XbERFLGNObUVvQixFQUFBO0FNcEcxQjtNQXFDTSxjQUFjLEVBQUE7QVg4Q2hCO1FXekNNLHlCTlB1QixFQUFBO0FMZ0Q3QjtRV3pDTSx5Qk51Q3VCLEVBQUE7QUxFN0I7UVd6Q00seUJOcUZ1QixFQUFBO0FNL0hqQztRQStDUSxtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLHNCQUFzQjtRQUN0QixtQkFBbUI7UUFDbkIsZ0JBQWdCLEVBQUE7QUFuRHhCO1VBc0RVLGtCQUFrQixFQUFBO0FBdEQ1QjtVQTBEVSxtQkFBbUIsRUFBQTtBQ3ZDN0I7RUFDRSxxQkFBcUI7RUFDckIsOEJBQThDO0VBQzlDLGdCQUFnQixFQUFBO0FBR2xCO0VBQ0UscUJBQXFCO0VBQ3JCLGdDQUFnRDtFQUNoRCxnQkFBZ0IsRUFBQTtBQUdsQjtFQUNFLHFCQUFxQjtFQUNyQixpQ0FBaUQ7RUFDakQsZ0JBQWdCLEVBQUE7QUFHbEI7RUFDRSxxQkFBcUI7RUFDckIsNkJBQTZDO0VBQzdDLGdCQUFnQixFQUFBO0FBR2xCO0VBQ0UscUJBQXFCO0VBQ3JCLGtDQUFrRDtFQUNsRCxnQkFBZ0IsRUFBQTtBQUlsQjtFQUNFLGlDQUFpQztFQUNqQyxlQUFlLEVBQUE7QUFHakI7RUFDRSxpQ0FBaUM7RUFDakMsaUJBQWlCO0VBQ2pCLFlBQVk7RUFDWixhQUFhLEVBQUE7QUFKZjtJQU9JLCtEQUE2RTtJQUM3RSxzQkFBc0IsRUFBQTtBQVIxQjtJQVlJLCtEQUE2RTtJQUM3RSxzQkFBc0IsRUFBQTtBQWIxQjtJQWlCSSxnRUFBOEU7SUFDOUUsc0JBQXNCLEVBQUE7QUFsQjFCO0lBc0JJLGFBQWE7SUFDYixXQUFXO0lBQ1gsWUFBWSxFQUFBIiwiZmlsZSI6InNyYy9zdHlsZXMuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBtaXhpbiB0ZXh0LXRydW5jYXRlIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuQG1peGluIHRleHRXcmFwIHtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICBsaW5lLWJyZWFrOiBzdHJpY3Q7XHJcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xyXG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xyXG4gIGh5cGhlbnM6IGF1dG87XHJcbn1cclxuQG1peGluIGNvdmVyQm94IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG59XHJcbkBtaXhpbiBhYnMgKCR0b3A6IGF1dG8sICRyaWdodDogYXV0bywgJGJvdHRvbTogYXV0bywgJGxlZnQ6IGF1dG8pIHtcclxuICB0b3A6ICR0b3A7XHJcbiAgcmlnaHQ6ICRyaWdodDtcclxuICBib3R0b206ICRib3R0b207XHJcbiAgbGVmdDogJGxlZnQ7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcbkBtaXhpbiBjb3ZlckltZyB7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHQtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0LW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbn1cclxuQG1peGluIHZhbGluZ0JveCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogIDUwJTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbn1cclxuQG1peGluIHVuU2VsZWN0IHtcclxuXHQtd2Via2l0LXRvdWNoLWNvbGxvdXQ6IG5vbmU7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuQG1peGluIG1heDExOTkgeyAvLyBtYWtldCAxMTcxXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkgeyBAY29udGVudDsgfVxyXG59XHJcbkBtaXhpbiBtYXgxMTcwIHsgLy8gbWFrZXRzIDk5MlxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTcwcHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gbWF4OTkxIHsgLy8gbWFrZXRzIDc2MlxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkgeyBAY29udGVudDsgfVxyXG59XHJcbkBtaXhpbiBtYXg3NjEgeyAvLyBtYWtldHMgNTc2XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2MXB4KSB7IEBjb250ZW50OyB9XHJcbn1cclxuQG1peGluIG1heDU3NSB7IC8vIG1ha2V0cyA0MDBcclxuICBAbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gbW9iaWxlIHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogMzk5cHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gaWNvQ2VudGVyIHtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG59XHJcbkBtaXhpbiBwc2V1ZG8gKCRkaXNwbGF5OiBibG9jaywgJHBvczogYWJzb2x1dGUsICRjb250ZW50OiAnJyl7XHJcbiAgY29udGVudDogJGNvbnRlbnQ7XHJcbiAgZGlzcGxheTogJGRpc3BsYXk7XHJcbiAgcG9zaXRpb246ICRwb3M7XHJcbn1cclxuXHJcbi8qXHJcbiogSW1wbGVtZW50YXRpb24gb2YgdGhlbWVzXHJcbiovXHJcbkBtaXhpbiB0aGVtaWZ5KCR0aGVtZXM6ICR0aGVtZXMpIHtcclxuICBAZWFjaCAkdGhlbWUsICRtYXAgaW4gJHRoZW1lcyB7XHJcbiAgICAudGhlbWUtI3skdGhlbWV9ICYge1xyXG4gICAgICAkdGhlbWUtbWFwOiAoKSAhZ2xvYmFsO1xyXG4gICAgICBAZWFjaCAka2V5LCAkc3VibWFwIGluICRtYXAge1xyXG4gICAgICAgICR2YWx1ZTogbWFwLWdldChtYXAtZ2V0KCR0aGVtZXMsICR0aGVtZSksICcjeyRrZXl9Jyk7XHJcbiAgICAgICAgJHRoZW1lLW1hcDogbWFwLW1lcmdlKCR0aGVtZS1tYXAsICgka2V5OiAkdmFsdWUpKSAhZ2xvYmFsO1xyXG4gICAgICB9XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgICAkdGhlbWUtbWFwOiBudWxsICFnbG9iYWw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gdGhlbWVkKCRrZXkpIHtcclxuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLW1hcCwgJGtleSk7XHJcbn1cclxuIiwiLypcclxuKiBJbXBsZW1lbnRhdGlvbiBvZiB0aGVtZXNcclxuKi9cbkBpbXBvcnQgdXJsKH5Abmctc2VsZWN0L25nLXNlbGVjdC90aGVtZXMvZGVmYXVsdC50aGVtZS5jc3MpO1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC10b3VjaC1jb2xsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmIsIHUsIGksIGNlbnRlcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmJvZHkge1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuYmxvY2txdW90ZSwgcSB7XG4gIHF1b3Rlczogbm9uZTsgfVxuXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcbiAgY29udGVudDogbm9uZTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwOyB9XG5cbmlucHV0IHtcbiAgb3V0bGluZTogbm9uZTsgfVxuICBpbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDEwMDBweCB3aGl0ZSBpbnNldDsgfVxuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOmFjdGl2ZSwgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbmIsIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuaW1nIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBib3JkZXI6IDA7IH1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGhlbWUtZGFyayAuYXBwLWNvbnRlbnQgLnByZWxvYWRlciAubG9hZGluZy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IC5hcHAtY29udGVudCAucHJlbG9hZGVyIC5sb2FkaW5nLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIC5hcHAtY29udGVudCAucHJlbG9hZGVyIC5sb2FkaW5nLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGhlaWdodDogNC4ycmVtOyB9XG4gIC50aGVtZS1kYXJrIGJ1dHRvbjpkaXNhYmxlZDpub3QoLnRyYW5zcGFyZW50LWJ1dHRvbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MGE0YWU7XG4gICAgY29sb3I6ICMxMTE5MjE7IH1cbiAgLnRoZW1lLWdyYXkgYnV0dG9uOmRpc2FibGVkOm5vdCgudHJhbnNwYXJlbnQtYnV0dG9uKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc5ODQ4ZjtcbiAgICBjb2xvcjogIzFhMWExYTsgfVxuICAudGhlbWUtd2hpdGUgYnV0dG9uOmRpc2FibGVkOm5vdCgudHJhbnNwYXJlbnQtYnV0dG9uKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzkwYTRhZTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudGhlbWUtZGFyayBidXR0b246ZGlzYWJsZWQ6bm90KC50cmFuc3BhcmVudC1idXR0b24pOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWJiMGJhOyB9XG4gIC50aGVtZS1ncmF5IGJ1dHRvbjpkaXNhYmxlZDpub3QoLnRyYW5zcGFyZW50LWJ1dHRvbik6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4NTkwOWI7IH1cbiAgLnRoZW1lLXdoaXRlIGJ1dHRvbjpkaXNhYmxlZDpub3QoLnRyYW5zcGFyZW50LWJ1dHRvbik6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5YmFlYjc7IH1cbiAgLnRoZW1lLWRhcmsgYnV0dG9uLmJsdWUtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpLmVycm9yLXRleHQge1xuICAgIGNvbG9yOiAjZmU1MjUyOyB9XG4gIC50aGVtZS1ncmF5IGJ1dHRvbi5ibHVlLWJ1dHRvbjpub3QoOmRpc2FibGVkKS5lcnJvci10ZXh0IHtcbiAgICBjb2xvcjogI2ZlNTI1MjsgfVxuICAudGhlbWUtd2hpdGUgYnV0dG9uLmJsdWUtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpLmVycm9yLXRleHQge1xuICAgIGNvbG9yOiAjZmY1MjUyOyB9XG4gIC50aGVtZS1kYXJrIGJ1dHRvbi5ibHVlLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjtcbiAgICBjb2xvcjogIzExMTkyMTsgfVxuICAudGhlbWUtZ3JheSBidXR0b24uYmx1ZS1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7XG4gICAgY29sb3I6ICMxYTFhMWE7IH1cbiAgLnRoZW1lLXdoaXRlIGJ1dHRvbi5ibHVlLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudGhlbWUtZGFyayBidXR0b24uYmx1ZS1idXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2MGI5ZmY7IH1cbiAgLnRoZW1lLWdyYXkgYnV0dG9uLmJsdWUtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRhZmZmOyB9XG4gIC50aGVtZS13aGl0ZSBidXR0b24uYmx1ZS1idXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNzlmZmE7IH1cbiAgLnRoZW1lLWRhcmsgYnV0dG9uLmdyZWVuLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGE5ZDtcbiAgICBjb2xvcjogIzExMTkyMTsgfVxuICAudGhlbWUtZ3JheSBidXR0b24uZ3JlZW4tYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDdjZjhkO1xuICAgIGNvbG9yOiAjMWExYTFhOyB9XG4gIC50aGVtZS13aGl0ZSBidXR0b24uZ3JlZW4tYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZjMTcyO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC50aGVtZS1kYXJrIGJ1dHRvbi5ncmVlbi1idXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1Y2UyYTE7IH1cbiAgLnRoZW1lLWdyYXkgYnV0dG9uLmdyZWVuLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ5ZDk5MzsgfVxuICAudGhlbWUtd2hpdGUgYnV0dG9uLmdyZWVuLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ2Y2E3NTsgfVxuICAudGhlbWUtZGFyayBidXR0b24udHVycXVvaXNlLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkZDBlMTtcbiAgICBjb2xvcjogIzExMTkyMTsgfVxuICAudGhlbWUtZ3JheSBidXR0b24udHVycXVvaXNlLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNlYzVkNztcbiAgICBjb2xvcjogIzFhMWExYTsgfVxuICAudGhlbWUtd2hpdGUgYnV0dG9uLnR1cnF1b2lzZS1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNmI2Yzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRoZW1lLWRhcmsgYnV0dG9uLnR1cnF1b2lzZS1idXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MmQ5ZWE7IH1cbiAgLnRoZW1lLWdyYXkgYnV0dG9uLnR1cnF1b2lzZS1idXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0M2NlZTA7IH1cbiAgLnRoZW1lLXdoaXRlIGJ1dHRvbi50dXJxdW9pc2UtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmJiZGNmOyB9XG4gIGJ1dHRvbi50cmFuc3BhcmVudC1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC50aGVtZS1kYXJrIGJ1dHRvbi50cmFuc3BhcmVudC1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjMmIzNjQ0O1xuICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAudGhlbWUtZ3JheSBidXR0b24udHJhbnNwYXJlbnQtYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwLjJyZW0gc29saWQgIzJmMzQzODtcbiAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLnRoZW1lLXdoaXRlIGJ1dHRvbi50cmFuc3BhcmVudC1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjZWJlYmViO1xuICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgICBidXR0b24udHJhbnNwYXJlbnQtYnV0dG9uIC5pY29uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9jb21wbGV0ZS10ZXN0d2FsbGV0LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxLjdyZW07XG4gICAgICBoZWlnaHQ6IDEuN3JlbTsgfVxuICAgICAgLnRoZW1lLWRhcmsgYnV0dG9uLnRyYW5zcGFyZW50LWJ1dHRvbiAuaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7IH1cbiAgICAgIC50aGVtZS1ncmF5IGJ1dHRvbi50cmFuc3BhcmVudC1idXR0b24gLmljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtd2hpdGUgYnV0dG9uLnRyYW5zcGFyZW50LWJ1dHRvbiAuaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MzQ1NGI7IH1cblxuLmlucHV0LWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206IDAuNHJlbTsgfVxuICAuaW5wdXQtYmxvY2sgLndyYXAtbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWluLWhlaWdodDogMi40cmVtOyB9XG4gIC5pbnB1dC1ibG9jayBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTsgfVxuICAgIC50aGVtZS1kYXJrIC5pbnB1dC1ibG9jayBsYWJlbCB7XG4gICAgICBjb2xvcjogIzU1NjU3NjsgfVxuICAgIC50aGVtZS1ncmF5IC5pbnB1dC1ibG9jayBsYWJlbCB7XG4gICAgICBjb2xvcjogIzU2NWM2MjsgfVxuICAgIC50aGVtZS13aGl0ZSAuaW5wdXQtYmxvY2sgbGFiZWwge1xuICAgICAgY29sb3I6ICNhMGE1YWI7IH1cbiAgLmlucHV0LWJsb2NrIGlucHV0W3R5cGU9J3RleHQnXSwgLmlucHV0LWJsb2NrIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sIC5pbnB1dC1ibG9jayBzZWxlY3Qge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQuMnJlbTsgfVxuICAgIC50aGVtZS1kYXJrIC5pbnB1dC1ibG9jayBpbnB1dFt0eXBlPSd0ZXh0J10sIC50aGVtZS1kYXJrIC5pbnB1dC1ibG9jayBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCAudGhlbWUtZGFyayAuaW5wdXQtYmxvY2sgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzFlMjc7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS1ncmF5IC5pbnB1dC1ibG9jayBpbnB1dFt0eXBlPSd0ZXh0J10sIC50aGVtZS1ncmF5IC5pbnB1dC1ibG9jayBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCAudGhlbWUtZ3JheSAuaW5wdXQtYmxvY2sgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTJkMzE7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS13aGl0ZSAuaW5wdXQtYmxvY2sgaW5wdXRbdHlwZT0ndGV4dCddLCAudGhlbWUtd2hpdGUgLmlucHV0LWJsb2NrIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sIC50aGVtZS13aGl0ZSAuaW5wdXQtYmxvY2sgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgICBjb2xvcjogIzQzNDU0YjsgfVxuICAuaW5wdXQtYmxvY2sudGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5pbnB1dC1ibG9jay50ZXh0YXJlYSB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiA3LjVyZW07XG4gICAgICBtYXgtaGVpZ2h0OiA3LjVyZW07XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIHJlc2l6ZTogbm9uZTsgfVxuICAgICAgLnRoZW1lLWRhcmsgLmlucHV0LWJsb2NrLnRleHRhcmVhIHRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MWUyNztcbiAgICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAgIC50aGVtZS1ncmF5IC5pbnB1dC1ibG9jay50ZXh0YXJlYSB0ZXh0YXJlYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTJkMzE7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtd2hpdGUgLmlucHV0LWJsb2NrLnRleHRhcmVhIHRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgLmlucHV0LWJsb2NrIC5lcnJvci1ibG9jayB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRyZW07XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAudGhlbWUtZGFyayAuaW5wdXQtYmxvY2sgLmVycm9yLWJsb2NrIHtcbiAgICAgIGNvbG9yOiAjZmU1MjUyOyB9XG4gICAgLnRoZW1lLWdyYXkgLmlucHV0LWJsb2NrIC5lcnJvci1ibG9jayB7XG4gICAgICBjb2xvcjogI2ZlNTI1MjsgfVxuICAgIC50aGVtZS13aGl0ZSAuaW5wdXQtYmxvY2sgLmVycm9yLWJsb2NrIHtcbiAgICAgIGNvbG9yOiAjZmY1MjUyOyB9XG5cbi50aGVtZS1kYXJrIC5lcnJvci10ZXh0IHtcbiAgY29sb3I6ICNmZTUyNTI7IH1cblxuLnRoZW1lLWdyYXkgLmVycm9yLXRleHQge1xuICBjb2xvcjogI2ZlNTI1MjsgfVxuXG4udGhlbWUtd2hpdGUgLmVycm9yLXRleHQge1xuICBjb2xvcjogI2ZmNTI1MjsgfVxuXG5pbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvICsgbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmctbGVmdDogMi40cmVtO1xuICAtd2Via2l0LXRvdWNoLWNvbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAudGhlbWUtZGFyayBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvICsgbGFiZWwge1xuICAgIGNvbG9yOiAjNTU2NTc2OyB9XG4gIC50aGVtZS1ncmF5IGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW8gKyBsYWJlbCB7XG4gICAgY29sb3I6ICM1NjVjNjI7IH1cbiAgLnRoZW1lLXdoaXRlIGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW8gKyBsYWJlbCB7XG4gICAgY29sb3I6ICNhMGE1YWI7IH1cblxuaW5wdXRbdHlwZT0ncmFkaW8nXS5zdHlsZS1yYWRpbzpub3QoY2hlY2tlZCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7IH1cbiAgaW5wdXRbdHlwZT0ncmFkaW8nXS5zdHlsZS1yYWRpbzpub3QoY2hlY2tlZCkgKyBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86bm90KGNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjdyZW07XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTsgfVxuICAgIC50aGVtZS1kYXJrIGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86bm90KGNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICM0ZGIxZmY7IH1cbiAgICAudGhlbWUtZ3JheSBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvOm5vdChjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjNDJhNWY1OyB9XG4gICAgLnRoZW1lLXdoaXRlIGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86bm90KGNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICMyYzk1ZjE7IH1cbiAgaW5wdXRbdHlwZT0ncmFkaW8nXS5zdHlsZS1yYWRpbzpub3QoY2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXJlbTtcbiAgICBsZWZ0OiAwLjNyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDAuOHJlbTtcbiAgICBoZWlnaHQ6IDAuOHJlbTsgfVxuICAgIC50aGVtZS1kYXJrIGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86bm90KGNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuICAgIC50aGVtZS1ncmF5IGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86bm90KGNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuICAgIC50aGVtZS13aGl0ZSBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvOm5vdChjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuaW5wdXRbdHlwZT0ncmFkaW8nXS5zdHlsZS1yYWRpbzpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICBvcGFjaXR5OiAxOyB9XG5cbmlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3ggKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcGFkZGluZy1sZWZ0OiAzLjZyZW07XG4gIC13ZWJraXQtdG91Y2gtY29sbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC50aGVtZS1kYXJrIGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3ggKyBsYWJlbCB7XG4gICAgY29sb3I6ICM1NTY1NzY7IH1cbiAgLnRoZW1lLWdyYXkgaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveCArIGxhYmVsIHtcbiAgICBjb2xvcjogIzU2NWM2MjsgfVxuICAudGhlbWUtd2hpdGUgaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveCArIGxhYmVsIHtcbiAgICBjb2xvcjogI2EwYTVhYjsgfVxuXG5pbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94Om5vdChjaGVja2VkKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDEuNnJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveDpub3QoY2hlY2tlZCkgKyBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3g6bm90KGNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMS42cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtOyB9XG4gICAgLnRoZW1lLWRhcmsgaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveDpub3QoY2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgIzRkYjFmZjsgfVxuICAgIC50aGVtZS1ncmF5IGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3g6bm90KGNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICM0MmE1ZjU7IH1cbiAgICAudGhlbWUtd2hpdGUgaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveDpub3QoY2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgIzJjOTVmMTsgfVxuXG5pbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94OmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvY29tcGxldGUtdGVzdHdhbGxldC5zdmcpOyB9XG4gIC50aGVtZS1kYXJrIGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3g6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuICAudGhlbWUtZ3JheSBpbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94OmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cbiAgLnRoZW1lLXdoaXRlIGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3g6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayAuc3dpdGNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuXG4udGhlbWUtZ3JheSAuc3dpdGNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuXG4udGhlbWUtd2hpdGUgLnN3aXRjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWRhcmsgLnN3aXRjaCAuY2lyY2xlLm9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSAuc3dpdGNoIC5jaXJjbGUub24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSAuc3dpdGNoIC5jaXJjbGUub24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIC5zd2l0Y2ggLmNpcmNsZS5vZmYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IC5zd2l0Y2ggLmNpcmNsZS5vZmYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTY1YzYyOyB9XG5cbi50aGVtZS13aGl0ZSAuc3dpdGNoIC5jaXJjbGUub2ZmIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EwYTVhYjsgfVxuXG4udGFibGUtdG9vbHRpcCB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgfVxuICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcCB7XG4gICAgYmFja2dyb3VuZDogIzQyNTA1ZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMXJlbSByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgLnRoZW1lLWdyYXkgLnRhYmxlLXRvb2x0aXAge1xuICAgIGJhY2tncm91bmQ6ICMzZTQ2NGM7XG4gICAgYm94LXNoYWRvdzogMCAwIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS13aGl0ZSAudGFibGUtdG9vbHRpcCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMXJlbSByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNSk7XG4gICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3Age1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG4gICAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3A6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0ycmVtO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAxcmVtKTtcbiAgICAgIGJvcmRlci13aWR0aDogMXJlbTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgICAgIC50aGVtZS1kYXJrIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQyNTA1ZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLWdyYXkgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3A6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NjRjIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtd2hpdGUgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3A6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wLWxlZnQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG4gICAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3AtbGVmdDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTFyZW07XG4gICAgICBsZWZ0OiAwLjdyZW07XG4gICAgICBib3JkZXItd2lkdGg6IDFyZW0gMXJlbSAwIDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1sZWZ0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQyNTA1ZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLWdyYXkgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3AtbGVmdDpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzZTQ2NGMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1sZWZ0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1yaWdodCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cbiAgICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1yaWdodDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTFyZW07XG4gICAgICByaWdodDogMC43cmVtO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW07XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1yaWdodDpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0MjUwNWYgIzQyNTA1ZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLWdyYXkgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3AtcmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NjRjICMzZTQ2NGMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1yaWdodDpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZmZmZmYgI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMnJlbTtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMXJlbSk7XG4gICAgICBib3JkZXItd2lkdGg6IDFyZW07XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbTpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM0MjUwNWYgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzNlNDY0YyB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZiB0cmFuc3BhcmVudDsgfVxuICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbS1sZWZ0IHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b20tbGVmdDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTFyZW07XG4gICAgICBsZWZ0OiAwLjdyZW07XG4gICAgICBib3JkZXItd2lkdGg6IDAuNXJlbTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgICAgIC50aGVtZS1kYXJrIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tLWxlZnQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNDI1MDVmICM0MjUwNWY7IH1cbiAgICAgIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tLWxlZnQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjM2U0NjRjICMzZTQ2NGM7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbS1sZWZ0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZiAjZmZmZmZmOyB9XG4gIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tLXJpZ2h0IHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b20tcmlnaHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xcmVtO1xuICAgICAgcmlnaHQ6IDAuN3JlbTtcbiAgICAgIGJvcmRlci13aWR0aDogMC41cmVtO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAgICAgLnRoZW1lLWRhcmsgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b20tcmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNDI1MDVmICM0MjUwNWYgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tLXJpZ2h0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzNlNDY0YyAjM2U0NjRjIHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtd2hpdGUgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b20tcmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmZmZmICNmZmZmZmYgdHJhbnNwYXJlbnQ7IH1cbiAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07IH1cbiAgICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWxlZnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogLTFyZW07XG4gICAgICBib3JkZXItd2lkdGg6IDFyZW0gMXJlbSAwIDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWxlZnQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDI1MDVmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtZ3JheSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWxlZnQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NjRjIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtd2hpdGUgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1sZWZ0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtcmlnaHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAtMXJlbTtcbiAgICAgIGJvcmRlci13aWR0aDogMXJlbSAwIDAgMXJlbTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgICAgIC50aGVtZS1kYXJrIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtcmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDI1MDVmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtZ3JheSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXJpZ2h0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNlNDY0YyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtcmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5iYWxhbmNlLXRvb2x0aXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgcGFkZGluZzogMS4zcmVtOyB9XG4gIC50aGVtZS1kYXJrIC5iYWxhbmNlLXRvb2x0aXAge1xuICAgIGJhY2tncm91bmQ6ICM0MjUwNWY7XG4gICAgYm94LXNoYWRvdzogMCAwIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS1ncmF5IC5iYWxhbmNlLXRvb2x0aXAge1xuICAgIGJhY2tncm91bmQ6ICMzZTQ2NGM7XG4gICAgYm94LXNoYWRvdzogMCAwIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS13aGl0ZSAuYmFsYW5jZS10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMTIwLCAxMjAsIDEyMCwgMC41KTtcbiAgICBjb2xvcjogIzQzNDU0YjsgfVxuICAuYmFsYW5jZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuICAuYmFsYW5jZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5iYWxhbmNlLXRvb2x0aXAubmctdG9vbHRpcC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07IH1cbiAgLmJhbGFuY2UtdG9vbHRpcC5uZy10b29sdGlwLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAuYmFsYW5jZS10b29sdGlwIC5hdmFpbGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuN3JlbTsgfVxuICAgIC5iYWxhbmNlLXRvb2x0aXAgLmF2YWlsYWJsZSBiIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmJhbGFuY2UtdG9vbHRpcCAubG9ja2VkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07IH1cbiAgICAuYmFsYW5jZS10b29sdGlwIC5sb2NrZWQgYiB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5iYWxhbmNlLXRvb2x0aXAgLmxpbmsge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC50aGVtZS1kYXJrIC5iYWxhbmNlLXRvb2x0aXAgLmxpbmsge1xuICAgICAgY29sb3I6ICM0ZGIxZmY7IH1cbiAgICAudGhlbWUtZ3JheSAuYmFsYW5jZS10b29sdGlwIC5saW5rIHtcbiAgICAgIGNvbG9yOiAjNDJhNWY1OyB9XG4gICAgLnRoZW1lLXdoaXRlIC5iYWxhbmNlLXRvb2x0aXAgLmxpbmsge1xuICAgICAgY29sb3I6ICMyYzk1ZjE7IH1cblxuLmFjY291bnQtdG9vbHRpcCB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIG1heC13aWR0aDogMThyZW07IH1cblxuLm5neC1jb250ZXh0bWVudSAuZHJvcGRvd24tbWVudSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuICAudGhlbWUtZGFyayAubmd4LWNvbnRleHRtZW51IC5kcm9wZG93bi1tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIzNjQ0O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAudGhlbWUtZ3JheSAubmd4LWNvbnRleHRtZW51IC5kcm9wZG93bi1tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAudGhlbWUtd2hpdGUgLm5neC1jb250ZXh0bWVudSAuZHJvcGRvd24tbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMXJlbSByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNSk7IH1cblxuLm5neC1jb250ZXh0bWVudSBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLm5neC1jb250ZXh0bWVudSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNWVtIDFlbTsgfVxuICAudGhlbWUtZGFyayAubmd4LWNvbnRleHRtZW51IGEge1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS1ncmF5IC5uZ3gtY29udGV4dG1lbnUgYSB7XG4gICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgLnRoZW1lLXdoaXRlIC5uZ3gtY29udGV4dG1lbnUgYSB7XG4gICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgLnRoZW1lLWRhcmsgLm5neC1jb250ZXh0bWVudSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2O1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS1ncmF5IC5uZ3gtY29udGV4dG1lbnUgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUxNTk2MDtcbiAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAudGhlbWUtd2hpdGUgLm5neC1jb250ZXh0bWVudSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLXNlbGVjdC1jb250YWluZXIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICBoZWlnaHQ6IDQuMnJlbTsgfVxuICAgIC50aGVtZS1kYXJrIC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzFlMjc7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS1ncmF5IC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTJkMzE7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS13aGl0ZSAubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgICAubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIHtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAudGhlbWUtZGFyayAubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCAubmctZHJvcGRvd24tcGFuZWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MWUyNzsgfVxuICAgIC50aGVtZS1ncmF5IC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxOyB9XG4gICAgLnRoZW1lLXdoaXRlIC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gICAgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgcGFkZGluZzogMXJlbTsgfVxuICAgICAgLnRoZW1lLWRhcmsgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MWUyNztcbiAgICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAgIC50aGVtZS1ncmF5IC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTJkMzE7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtd2hpdGUgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgICAgIC50aGVtZS1kYXJrIC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tbWFya2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNzIsIDkwLCAwLjUpO1xuICAgICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgICAgLnRoZW1lLWdyYXkgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1tYXJrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcwLCA3NiwgODEsIDAuNSk7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtd2hpdGUgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1tYXJrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuNSk7XG4gICAgICAgIGNvbG9yOiAjNDM0NTRiOyB9XG4gICAgICAudGhlbWUtZGFyayAubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCAubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLXNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MywgNTQsIDY4LCAwLjUpO1xuICAgICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgICAgLnRoZW1lLWdyYXkgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzcsIDQwLCA0MywgMC41KTtcbiAgICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCAubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLXNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjQsIDIyNCwgMjI0LCAwLjUpO1xuICAgICAgICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCB7XG4gIGJhY2tncm91bmQ6IHVybCh+c3JjL2Fzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC1kYXJrLnBuZyk7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIHtcbiAgYmFja2dyb3VuZDogdXJsKH5zcmMvYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLWdyYXkucG5nKTtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIHtcbiAgYmFja2dyb3VuZDogdXJsKH5zcmMvYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLXdoaXRlLnBuZyk7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5jb250ZW50IC5pY29uLmVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlNTI1MjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuY29udGVudCAuaWNvbi5lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZTUyNTI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5jb250ZW50IC5pY29uLmVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTI1MjsgfVxuXG4udGhlbWUtZGFyayBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuY29udGVudCAuaWNvbi5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGE5ZDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuY29udGVudCAuaWNvbi5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3Y2Y4ZDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNvbnRlbnQgLmljb24uc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNvbnRlbnQgLmljb24uaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNvbnRlbnQgLmljb24uaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5jb250ZW50IC5pY29uLmluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5hY3Rpb24tYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjtcbiAgY29sb3I6ICMxMTE5MjE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmFjdGlvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1O1xuICBjb2xvcjogIzFhMWExYTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmFjdGlvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4udGhlbWUtZGFyayBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuY2xvc2UtYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuY2xvc2UtYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUxNTk2MDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNsb3NlLWJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4ycmVtIHNvbGlkICMyYjM2NDQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4ycmVtIHNvbGlkICMyZjM0Mzg7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMnJlbSBzb2xpZCAjZWJlYmViOyB9XG5cbi50aGVtZS1kYXJrIGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSAucm93IC5jZWxsLmxhYmVsIHtcbiAgY29sb3I6ICM1NTY1NzY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIC5yb3cgLmNlbGwubGFiZWwge1xuICBjb2xvcjogIzU2NWM2MjsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIC5yb3cgLmNlbGwubGFiZWwge1xuICBjb2xvcjogI2EwYTVhYjsgfVxuXG4udGhlbWUtZGFyayBhcHAtdHJhbnNhY3Rpb24tZGV0YWlscyAudGFibGUgLnJvdyAuY2VsbC52YWx1ZSB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSAucm93IC5jZWxsLnZhbHVlIHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSAucm93IC5jZWxsLnZhbHVlIHtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIC5yb3cgLmNlbGwua2V5LXZhbHVlIHtcbiAgY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIC5yb3cgLmNlbGwua2V5LXZhbHVlIHtcbiAgY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSAucm93IC5jZWxsLmtleS12YWx1ZSB7XG4gIGNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1wcm9ncmVzcy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtcHJvZ3Jlc3MtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wcm9ncmVzcy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIge1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtcHJvZ3Jlc3MtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzZjRhOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1wcm9ncmVzcy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNjNhM2U7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wcm9ncmVzcy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGM7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXByb2dyZXNzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5wcm9ncmVzcy1iYXItZnVsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Y2RhOWQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXByb2dyZXNzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5wcm9ncmVzcy1iYXItZnVsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wcm9ncmVzcy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciAucHJvZ3Jlc3MtYmFyLWZ1bGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZjMTcyOyB9XG5cbmFwcC1tYWluLCBhcHAtY3JlYXRlLXdhbGxldCwgYXBwLW9wZW4td2FsbGV0LCBhcHAtcmVzdG9yZS13YWxsZXQsIGFwcC1zZWVkLXBocmFzZSwgYXBwLXdhbGxldC1kZXRhaWxzLCBhcHAtYXNzaWduLWFsaWFzLCBhcHAtZWRpdC1hbGlhcywgYXBwLXRyYW5zZmVyLWFsaWFzLCBhcHAtc2V0dGluZ3MsIGFwcC1sb2dpbiB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAzcmVtO1xuICBtaW4td2lkdGg6IDg1cmVtOyB9XG4gIGFwcC1tYWluIC5jb250ZW50LCBhcHAtY3JlYXRlLXdhbGxldCAuY29udGVudCwgYXBwLW9wZW4td2FsbGV0IC5jb250ZW50LCBhcHAtcmVzdG9yZS13YWxsZXQgLmNvbnRlbnQsIGFwcC1zZWVkLXBocmFzZSAuY29udGVudCwgYXBwLXdhbGxldC1kZXRhaWxzIC5jb250ZW50LCBhcHAtYXNzaWduLWFsaWFzIC5jb250ZW50LCBhcHAtZWRpdC1hbGlhcyAuY29udGVudCwgYXBwLXRyYW5zZmVyLWFsaWFzIC5jb250ZW50LCBhcHAtc2V0dGluZ3MgLmNvbnRlbnQsIGFwcC1sb2dpbiAuY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDNyZW07XG4gICAgbWluLWhlaWdodDogMTAwJTsgfVxuICAgIC50aGVtZS1kYXJrIGFwcC1tYWluIC5jb250ZW50LCAudGhlbWUtZGFyayBhcHAtY3JlYXRlLXdhbGxldCAuY29udGVudCwgLnRoZW1lLWRhcmsgYXBwLW9wZW4td2FsbGV0IC5jb250ZW50LCAudGhlbWUtZGFyayBhcHAtcmVzdG9yZS13YWxsZXQgLmNvbnRlbnQsIC50aGVtZS1kYXJrIGFwcC1zZWVkLXBocmFzZSAuY29udGVudCwgLnRoZW1lLWRhcmsgYXBwLXdhbGxldC1kZXRhaWxzIC5jb250ZW50LCAudGhlbWUtZGFyayBhcHAtYXNzaWduLWFsaWFzIC5jb250ZW50LCAudGhlbWUtZGFyayBhcHAtZWRpdC1hbGlhcyAuY29udGVudCwgLnRoZW1lLWRhcmsgYXBwLXRyYW5zZmVyLWFsaWFzIC5jb250ZW50LCAudGhlbWUtZGFyayBhcHAtc2V0dGluZ3MgLmNvbnRlbnQsIC50aGVtZS1kYXJrIGFwcC1sb2dpbiAuY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQzLCA1NCwgNjgsIDAuNSk7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS1ncmF5IGFwcC1tYWluIC5jb250ZW50LCAudGhlbWUtZ3JheSBhcHAtY3JlYXRlLXdhbGxldCAuY29udGVudCwgLnRoZW1lLWdyYXkgYXBwLW9wZW4td2FsbGV0IC5jb250ZW50LCAudGhlbWUtZ3JheSBhcHAtcmVzdG9yZS13YWxsZXQgLmNvbnRlbnQsIC50aGVtZS1ncmF5IGFwcC1zZWVkLXBocmFzZSAuY29udGVudCwgLnRoZW1lLWdyYXkgYXBwLXdhbGxldC1kZXRhaWxzIC5jb250ZW50LCAudGhlbWUtZ3JheSBhcHAtYXNzaWduLWFsaWFzIC5jb250ZW50LCAudGhlbWUtZ3JheSBhcHAtZWRpdC1hbGlhcyAuY29udGVudCwgLnRoZW1lLWdyYXkgYXBwLXRyYW5zZmVyLWFsaWFzIC5jb250ZW50LCAudGhlbWUtZ3JheSBhcHAtc2V0dGluZ3MgLmNvbnRlbnQsIC50aGVtZS1ncmF5IGFwcC1sb2dpbiAuY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM3LCA0MCwgNDMsIDAuNSk7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS13aGl0ZSBhcHAtbWFpbiAuY29udGVudCwgLnRoZW1lLXdoaXRlIGFwcC1jcmVhdGUtd2FsbGV0IC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLW9wZW4td2FsbGV0IC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLXJlc3RvcmUtd2FsbGV0IC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLXNlZWQtcGhyYXNlIC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLXdhbGxldC1kZXRhaWxzIC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLWFzc2lnbi1hbGlhcyAuY29udGVudCwgLnRoZW1lLXdoaXRlIGFwcC1lZGl0LWFsaWFzIC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLXRyYW5zZmVyLWFsaWFzIC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLXNldHRpbmdzIC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLWxvZ2luIC5jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgIGNvbG9yOiAjNDM0NTRiOyB9XG4gICAgYXBwLW1haW4gLmNvbnRlbnQgLmhlYWQsIGFwcC1jcmVhdGUtd2FsbGV0IC5jb250ZW50IC5oZWFkLCBhcHAtb3Blbi13YWxsZXQgLmNvbnRlbnQgLmhlYWQsIGFwcC1yZXN0b3JlLXdhbGxldCAuY29udGVudCAuaGVhZCwgYXBwLXNlZWQtcGhyYXNlIC5jb250ZW50IC5oZWFkLCBhcHAtd2FsbGV0LWRldGFpbHMgLmNvbnRlbnQgLmhlYWQsIGFwcC1hc3NpZ24tYWxpYXMgLmNvbnRlbnQgLmhlYWQsIGFwcC1lZGl0LWFsaWFzIC5jb250ZW50IC5oZWFkLCBhcHAtdHJhbnNmZXItYWxpYXMgLmNvbnRlbnQgLmhlYWQsIGFwcC1zZXR0aW5ncyAuY29udGVudCAuaGVhZCwgYXBwLWxvZ2luIC5jb250ZW50IC5oZWFkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cblxuLnRoZW1lLWRhcmsgYXBwLW1haW4gLmNvbnRlbnQgLmFkZC13YWxsZXQgLmFkZC13YWxsZXQtaGVscCB7XG4gIGNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1tYWluIC5jb250ZW50IC5hZGQtd2FsbGV0IC5hZGQtd2FsbGV0LWhlbHAge1xuICBjb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLW1haW4gLmNvbnRlbnQgLmFkZC13YWxsZXQgLmFkZC13YWxsZXQtaGVscCB7XG4gIGNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1tYWluIC5jb250ZW50IC5hZGQtd2FsbGV0IC5hZGQtd2FsbGV0LWhlbHAgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1tYWluIC5jb250ZW50IC5hZGQtd2FsbGV0IC5hZGQtd2FsbGV0LWhlbHAgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtbWFpbiAuY29udGVudCAuYWRkLXdhbGxldCAuYWRkLXdhbGxldC1oZWxwIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2VlZC1waHJhc2UgLnNlZWQtcGhyYXNlLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcxZTI3O1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2VlZC1waHJhc2UgLnNlZWQtcGhyYXNlLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxO1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNlZWQtcGhyYXNlIC5zZWVkLXBocmFzZS1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldC1kZXRhaWxzIC5zZWVkLXBocmFzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzFlMjc7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldC1kZXRhaWxzIC5zZWVkLXBocmFzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOTJkMzE7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQtZGV0YWlscyAuc2VlZC1waHJhc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG5cbmFwcC1zZXR0aW5ncyAuY29udGVudCB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC50aGVtZS1kYXJrIGFwcC1zZXR0aW5ncyAuY29udGVudCAudGhlbWUtc2VsZWN0aW9uIHtcbiAgICBjb2xvcjogIzU1NjU3NjsgfVxuICAudGhlbWUtZ3JheSBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnRoZW1lLXNlbGVjdGlvbiB7XG4gICAgY29sb3I6ICM1NjVjNjI7IH1cbiAgLnRoZW1lLXdoaXRlIGFwcC1zZXR0aW5ncyAuY29udGVudCAudGhlbWUtc2VsZWN0aW9uIHtcbiAgICBjb2xvcjogI2EwYTVhYjsgfVxuICAudGhlbWUtZGFyayBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnNjYWxlLXNlbGVjdGlvbiAuYnV0dG9uLWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzLCAzMSwgMzksIDAuNSk7IH1cbiAgLnRoZW1lLWdyYXkgYXBwLXNldHRpbmdzIC5jb250ZW50IC5zY2FsZS1zZWxlY3Rpb24gLmJ1dHRvbi1ibG9jayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMywgMjUsIDI3LCAwLjUpOyB9XG4gIC50aGVtZS13aGl0ZSBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnNjYWxlLXNlbGVjdGlvbiAuYnV0dG9uLWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyNCwgMjI0LCAyMjQsIDAuNSk7IH1cbiAgLnRoZW1lLWRhcmsgYXBwLXNldHRpbmdzIC5jb250ZW50IC5zY2FsZS1zZWxlY3Rpb24gLmJ1dHRvbi1ibG9jayAubGFiZWwge1xuICAgIGNvbG9yOiAjNTU2NTc2OyB9XG4gIC50aGVtZS1ncmF5IGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2sgLmxhYmVsIHtcbiAgICBjb2xvcjogIzU2NWM2MjsgfVxuICAudGhlbWUtd2hpdGUgYXBwLXNldHRpbmdzIC5jb250ZW50IC5zY2FsZS1zZWxlY3Rpb24gLmJ1dHRvbi1ibG9jayAubGFiZWwge1xuICAgIGNvbG9yOiAjYTBhNWFiOyB9XG4gIC50aGVtZS1kYXJrIGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2suYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG4gIC50aGVtZS1ncmF5IGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2suYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG4gIC50aGVtZS13aGl0ZSBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnNjYWxlLXNlbGVjdGlvbiAuYnV0dG9uLWJsb2NrLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuICAudGhlbWUtZGFyayBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnNjYWxlLXNlbGVjdGlvbiAuYnV0dG9uLWJsb2NrLmFjdGl2ZSAubGFiZWwge1xuICAgIGNvbG9yOiAjNGRiMWZmOyB9XG4gIC50aGVtZS1ncmF5IGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2suYWN0aXZlIC5sYWJlbCB7XG4gICAgY29sb3I6ICM0MmE1ZjU7IH1cbiAgLnRoZW1lLXdoaXRlIGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2suYWN0aXZlIC5sYWJlbCB7XG4gICAgY29sb3I6ICMyYzk1ZjE7IH1cblxuYXBwLWxvZ2luIHtcbiAgbWluLXdpZHRoOiBpbmhlcml0OyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMywgMzEsIDM5LCAwLjUpOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMywgMjUsIDI3LCAwLjUpOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1oZWFkZXIgaDMge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1oZWFkZXIgaDMge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtaGVhZGVyIGgzIHtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtaGVhZGVyIGJ1dHRvbiB7XG4gIGNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWhlYWRlciBidXR0b24ge1xuICBjb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtaGVhZGVyIGJ1dHRvbiB7XG4gIGNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cgLnRleHQge1xuICBjb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cgLnRleHQge1xuICBjb2xvcjogIzU2NWM2MjsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC50ZXh0IHtcbiAgY29sb3I6ICNhMGE1YWI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjtcbiAgY29sb3I6ICMxMTE5MjE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1O1xuICBjb2xvcjogIzFhMWExYTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNmNGE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzYTNlOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGM7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIgLmZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3Y2Y4ZDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIgLmZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZjMTcyOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdy5hY2NvdW50LXN5bmNocm9uaXphdGlvbiB7XG4gIGNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdy5hY2NvdW50LXN5bmNocm9uaXphdGlvbiB7XG4gIGNvbG9yOiAjNTY1YzYyOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cuYWNjb3VudC1zeW5jaHJvbml6YXRpb24ge1xuICBjb2xvcjogI2EwYTVhYjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MywgNTQsIDY4LCAwLjUpO1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNywgNDAsIDQzLCAwLjUpO1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTg4ZTU7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUgLnNpZGViYXItYWNjb3VudC1yb3cgLnRleHQge1xuICBjb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93IC50ZXh0IHtcbiAgY29sb3I6ICM1NjVjNjI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUgLnNpZGViYXItYWNjb3VudC1yb3cgLnRleHQge1xuICBjb2xvcjogIzkxYmFmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93IC5pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmO1xuICBjb2xvcjogIzExMTkyMTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93IC5pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1O1xuICBjb2xvcjogIzFhMWExYTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSAuc2lkZWJhci1hY2NvdW50LXJvdyAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSAuc2lkZWJhci1hY2NvdW50LXJvdyAuc3dpdGNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSAuc2lkZWJhci1hY2NvdW50LXJvdyAuc3dpdGNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUgLnNpZGViYXItYWNjb3VudC1yb3cgLnN3aXRjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUgLnNpZGViYXItYWNjb3VudC1yb3cuYWNjb3VudC1zeW5jaHJvbml6YXRpb24ge1xuICBjb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93LmFjY291bnQtc3luY2hyb25pemF0aW9uIHtcbiAgY29sb3I6ICM1NjVjNjI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUgLnNpZGViYXItYWNjb3VudC1yb3cuYWNjb3VudC1zeW5jaHJvbml6YXRpb24ge1xuICBjb2xvcjogIzkxYmFmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQ6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNzIsIDkwLCAwLjUpOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudDpob3Zlcjpub3QoLmFjdGl2ZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcwLCA3NiwgODEsIDAuNSk7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudDpob3Zlcjpub3QoLmFjdGl2ZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuNSk7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3Mge1xuICBib3JkZXItYm90dG9tOiAwLjJyZW0gc29saWQgIzFmMjgzMzsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyB7XG4gIGJvcmRlci1ib3R0b206IDAuMnJlbSBzb2xpZCAjMmUzMzM3OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyB7XG4gIGJvcmRlci1ib3R0b206IDAuMnJlbSBzb2xpZCAjZWJlYmViOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXNldHRpbmdzIC53cmFwLWJ1dHRvbiBidXR0b24ge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24gYnV0dG9uIHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXNldHRpbmdzIC53cmFwLWJ1dHRvbiBidXR0b24ge1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24gYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24gYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3MgLndyYXAtYnV0dG9uIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3MgLndyYXAtYnV0dG9uLmFjdGl2ZSBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQzLCA1NCwgNjgsIDAuNSkgIWltcG9ydGFudDtcbiAgY29sb3I6ICNlMGUwZTAgIWltcG9ydGFudDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24uYWN0aXZlIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzcsIDQwLCA0MywgMC41KSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2UwZTBlMCAhaW1wb3J0YW50OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24uYWN0aXZlIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTg4ZTUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24uYWN0aXZlIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmYgIWltcG9ydGFudDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24uYWN0aXZlIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjUgIWltcG9ydGFudDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3MgLndyYXAtYnV0dG9uLmFjdGl2ZSBidXR0b24gLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyB7XG4gIGNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMge1xuICBjb2xvcjogIzU2NWM2MjsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyB7XG4gIGNvbG9yOiAjYTBhNWFiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLm9mZmxpbmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlNTI1MjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5vZmZsaW5lOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjUyNTI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLm9mZmxpbmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTI1MjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5vbmxpbmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGE5ZDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5vbmxpbmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3Y2Y4ZDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAub25saW5lOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAudGVzdG5ldCB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLnRlc3RuZXQge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAudGVzdG5ldCB7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnN5bmNpbmcgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNmNGE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAuc3luY2luZyAucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM2M2EzZTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAuc3luY2luZyAucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYzsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5zeW5jaW5nIC5wcm9ncmVzcy1iYXIgLmZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnN5bmNpbmcgLnByb2dyZXNzLWJhciAuZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnN5bmNpbmcgLnByb2dyZXNzLWJhciAuZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAubG9hZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Y2RhOWQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAubG9hZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnByb2dyZXNzLWJhci1jb250YWluZXIgLmxvYWRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZjMTcyOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtd2FsbGV0IHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQge1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IC5oZWFkZXIgYnV0dG9uIHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAuaGVhZGVyIGJ1dHRvbiB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC5oZWFkZXIgYnV0dG9uIHtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldCAuaGVhZGVyIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAuaGVhZGVyIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQgLmhlYWRlciBidXR0b24gLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQgLmhlYWRlciAuYWxpYXMgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQgLmhlYWRlciAuYWxpYXMgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC5oZWFkZXIgLmFsaWFzIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IC5hZGRyZXNzIHtcbiAgY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAuYWRkcmVzcyB7XG4gIGNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC5hZGRyZXNzIHtcbiAgY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldCAuYWRkcmVzcyAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAuYWRkcmVzcyAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQgLmFkZHJlc3MgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzLCAzMSwgMzksIDAuNSk7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMsIDI1LCAyNywgMC41KTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI0LCAyMjQsIDIyNCwgMC41KTsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWhlYWRlciAudGFiIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWhlYWRlciAudGFiIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYiAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjtcbiAgY29sb3I6ICMxMTE5MjE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYiAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTtcbiAgY29sb3I6ICMxYTFhMWE7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWIgLmluZGljYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWIuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MywgNTQsIDY4LCAwLjUpOyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWIuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNywgNDAsIDQzLCAwLjUpOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWhlYWRlciAudGFiLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQzLCA1NCwgNjgsIDAuNSk7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAudGFicyAudGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNywgNDAsIDQzLCAwLjUpOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNlbmQgLmZvcm0tc2VuZCAuaW5wdXQtYmxvY2stYWRkcmVzcyAuYWRkcmVzcy1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzFlMjc7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zZW5kIC5mb3JtLXNlbmQgLmlucHV0LWJsb2NrLWFkZHJlc3MgLmFkZHJlc3MtZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxO1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNlbmQgLmZvcm0tc2VuZCAuaW5wdXQtYmxvY2stYWRkcmVzcyAuYWRkcmVzcy1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zZW5kIC5mb3JtLXNlbmQgLmlucHV0LWJsb2NrLWFkZHJlc3MgLmFkZHJlc3MtZHJvcGRvd24gZGl2OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNzIsIDkwLCAwLjUpOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zZW5kIC5mb3JtLXNlbmQgLmlucHV0LWJsb2NrLWFkZHJlc3MgLmFkZHJlc3MtZHJvcGRvd24gZGl2OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3MCwgNzYsIDgxLCAwLjUpOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2VuZCAuZm9ybS1zZW5kIC5pbnB1dC1ibG9jay1hZGRyZXNzIC5hZGRyZXNzLWRyb3Bkb3duIGRpdjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQwLCAyNDAsIDI0MCwgMC41KTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2VuZCAuZm9ybS1zZW5kIC5zZW5kLXNlbGVjdCB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zZW5kIC5mb3JtLXNlbmQgLnNlbmQtc2VsZWN0IHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zZW5kIC5mb3JtLXNlbmQgLnNlbmQtc2VsZWN0IHtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNlbmQgLmZvcm0tc2VuZCAuc2VuZC1zZWxlY3QgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zZW5kIC5mb3JtLXNlbmQgLnNlbmQtc2VsZWN0IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNlbmQgLmZvcm0tc2VuZCAuc2VuZC1zZWxlY3QgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zZW5kIC5mb3JtLXNlbmQgLmFkZGl0aW9uYWwtZGV0YWlscyB7XG4gIGJvcmRlcjogMC4ycmVtIHNvbGlkICMyYjM2NDQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNlbmQgLmZvcm0tc2VuZCAuYWRkaXRpb25hbC1kZXRhaWxzIHtcbiAgYm9yZGVyOiAwLjJyZW0gc29saWQgIzJmMzQzODsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNlbmQgLmZvcm0tc2VuZCAuYWRkaXRpb25hbC1kZXRhaWxzIHtcbiAgYm9yZGVyOiAwLjJyZW0gc29saWQgI2ViZWJlYjsgfVxuXG4udGhlbWUtZGFyayBhcHAtcmVjZWl2ZSAuYnRuLWNvcHktYWRkcmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXJlY2VpdmUgLmJ0bi1jb3B5LWFkZHJlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtcmVjZWl2ZSAuYnRuLWNvcHktYWRkcmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzEpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE4MjAyYTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rMSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjUyOTJkOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rMSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCg0bisyKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxODIwMmE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzIpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjkyZDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzIpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4udGhlbWUtZGFyayBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rMykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rMykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnRoZW1lLWRhcmsgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCg0bis0KSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi50aGVtZS1kYXJrIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyIC5zdGF0dXMgLmNvbmZpcm1hdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNmNGE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHIgLnN0YXR1cyAuY29uZmlybWF0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM2M2EzZTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHIgLnN0YXR1cyAuY29uZmlybWF0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYzsgfVxuXG4udGhlbWUtZGFyayBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0ciAuc3RhdHVzIC5jb25maXJtYXRpb24gLmZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyIC5zdGF0dXMgLmNvbmZpcm1hdGlvbiAuZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyIC5zdGF0dXMgLmNvbmZpcm1hdGlvbiAuZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHIgLnN0YXR1cy5zZW5kIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTI1MjsgfVxuXG5hcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0ciAuc3RhdHVzLnJlY2VpdmVkIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYzg1MzsgfVxuXG4udGhlbWUtZGFyayBhcHAtY29udHJhY3RzIC53cmFwLXRhYmxlIC5jb250cmFjdCAuaWNvbi5uZXcsIC50aGVtZS1kYXJrIGFwcC1jb250cmFjdHMgLndyYXAtdGFibGUgLmNvbnRyYWN0IC5pY29uLmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlNTI1MjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtY29udHJhY3RzIC53cmFwLXRhYmxlIC5jb250cmFjdCAuaWNvbi5uZXcsIC50aGVtZS1ncmF5IGFwcC1jb250cmFjdHMgLndyYXAtdGFibGUgLmNvbnRyYWN0IC5pY29uLmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlNTI1MjsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLWNvbnRyYWN0cyAud3JhcC10YWJsZSAuY29udHJhY3QgLmljb24ubmV3LCAudGhlbWUtd2hpdGUgYXBwLWNvbnRyYWN0cyAud3JhcC10YWJsZSAuY29udHJhY3QgLmljb24uYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1MjUyOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1jb250cmFjdHMgLndyYXAtdGFibGUgLmNvbnRyYWN0IC5pY29uLnB1cmNoYXNlLCAudGhlbWUtZGFyayBhcHAtY29udHJhY3RzIC53cmFwLXRhYmxlIC5jb250cmFjdCAuaWNvbi5zZWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtY29udHJhY3RzIC53cmFwLXRhYmxlIC5jb250cmFjdCAuaWNvbi5wdXJjaGFzZSwgLnRoZW1lLWdyYXkgYXBwLWNvbnRyYWN0cyAud3JhcC10YWJsZSAuY29udHJhY3QgLmljb24uc2VsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1jb250cmFjdHMgLndyYXAtdGFibGUgLmNvbnRyYWN0IC5pY29uLnB1cmNoYXNlLCAudGhlbWUtd2hpdGUgYXBwLWNvbnRyYWN0cyAud3JhcC10YWJsZSAuY29udHJhY3QgLmljb24uc2VsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXB1cmNoYXNlIC5mb3JtLXB1cmNoYXNlIC5wdXJjaGFzZS1zZWxlY3Qge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLnB1cmNoYXNlLXNlbGVjdCB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLnB1cmNoYXNlLXNlbGVjdCB7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAucHVyY2hhc2Utc2VsZWN0IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLnB1cmNoYXNlLXNlbGVjdCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAucHVyY2hhc2Utc2VsZWN0IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLnB1cmNoYXNlLXN0YXRlcyB7XG4gIGNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAucHVyY2hhc2Utc3RhdGVzIHtcbiAgY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAucHVyY2hhc2Utc3RhdGVzIHtcbiAgY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXB1cmNoYXNlIC5mb3JtLXB1cmNoYXNlIC5hZGRpdGlvbmFsLWRldGFpbHMge1xuICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjMmIzNjQ0OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAuYWRkaXRpb25hbC1kZXRhaWxzIHtcbiAgYm9yZGVyOiAwLjJyZW0gc29saWQgIzJmMzQzODsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXB1cmNoYXNlIC5mb3JtLXB1cmNoYXNlIC5hZGRpdGlvbmFsLWRldGFpbHMge1xuICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjZWJlYmViOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1wdXJjaGFzZSAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2Y0YTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtcHVyY2hhc2UgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNjNhM2U7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wdXJjaGFzZSAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYzsgfVxuXG4udGhlbWUtZGFyayBhcHAtcHVyY2hhc2UgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciAucHJvZ3Jlc3MtYmFyLWZ1bGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1wdXJjaGFzZSAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5wcm9ncmVzcy1iYXItZnVsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wdXJjaGFzZSAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5wcm9ncmVzcy1iYXItZnVsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuYXBwLW1lc3NhZ2VzIHRhYmxlIHRib2R5IHRyIHRkOmZpcnN0LWNoaWxkIHNwYW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4udGhlbWUtZGFyayBhcHAtbWVzc2FnZXMgdGFibGUgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmU1MjUyOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1tZXNzYWdlcyB0YWJsZSB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZTUyNTI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1tZXNzYWdlcyB0YWJsZSB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjUyNTI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXR5cGluZy1tZXNzYWdlIC5oZWFkIC5pbnRlcmxvY3V0b3Ige1xuICBjb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtdHlwaW5nLW1lc3NhZ2UgLmhlYWQgLmludGVybG9jdXRvciB7XG4gIGNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtdHlwaW5nLW1lc3NhZ2UgLmhlYWQgLmludGVybG9jdXRvciB7XG4gIGNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYuZGF0ZSB7XG4gIGNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYuZGF0ZSB7XG4gIGNvbG9yOiAjNTY1YzYyOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2LmRhdGUge1xuICBjb2xvcjogI2EwYTVhYjsgfVxuXG4udGhlbWUtZGFyayBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2Lm15IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJhMzU0NDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2Lm15IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwMzYzYzsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5teSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5teTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0xLjFyZW07XG4gIGJvcmRlcjogMS4ycmVtIHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC50aGVtZS1kYXJrIGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYubXk6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMmEzNTQ0OyB9XG4gIC50aGVtZS1ncmF5IGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYubXk6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMzAzNjNjOyB9XG4gIC50aGVtZS13aGl0ZSBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2Lm15OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjsgfVxuXG4udGhlbWUtZGFyayBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2LmJ1ZGR5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE4MjAyYTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2LmJ1ZGR5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjkyZDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5idWRkeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxuYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5idWRkeTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtMS4xcmVtO1xuICB0b3A6IDA7XG4gIGJvcmRlcjogMS4ycmVtIHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC50aGVtZS1kYXJrIGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYuYnVkZHk6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxODIwMmE7IH1cbiAgLnRoZW1lLWdyYXkgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5idWRkeTphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzI1MjkyZDsgfVxuICAudGhlbWUtd2hpdGUgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5idWRkeTphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2VkZWRlZDsgfVxuXG4udGhlbWUtZGFyayBhcHAtc3Rha2luZyAuY2hhcnQtaGVhZGVyIC5nZW5lcmFsIC5sYWJlbCB7XG4gIGNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zdGFraW5nIC5jaGFydC1oZWFkZXIgLmdlbmVyYWwgLmxhYmVsIHtcbiAgY29sb3I6ICM1NjVjNjI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zdGFraW5nIC5jaGFydC1oZWFkZXIgLmdlbmVyYWwgLmxhYmVsIHtcbiAgY29sb3I6ICNhMGE1YWI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXN0YWtpbmcgLmNoYXJ0LWhlYWRlciAuZ2VuZXJhbCAub3B0aW9ucyB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zdGFraW5nIC5jaGFydC1oZWFkZXIgLmdlbmVyYWwgLm9wdGlvbnMge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXN0YWtpbmcgLmNoYXJ0LWhlYWRlciAuZ2VuZXJhbCAub3B0aW9ucyB7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbmFwcC1zdGFraW5nIC5jaGFydC1oZWFkZXIgLnNlbGVjdGVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZmxleC1ncm93OiAxO1xuICBmb250LXNpemU6IDEuNnJlbTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc3Rha2luZyAuY2hhcnQtb3B0aW9ucyAudGl0bGUge1xuICBjb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc3Rha2luZyAuY2hhcnQtb3B0aW9ucyAudGl0bGUge1xuICBjb2xvcjogIzU2NWM2MjsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXN0YWtpbmcgLmNoYXJ0LW9wdGlvbnMgLnRpdGxlIHtcbiAgY29sb3I6ICNhMGE1YWI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXN0YWtpbmcgLmNoYXJ0LW9wdGlvbnMgLm9wdGlvbnMgYnV0dG9uIHtcbiAgY29sb3I6ICNlMGUwZTA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYjM2NDQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXN0YWtpbmcgLmNoYXJ0LW9wdGlvbnMgLm9wdGlvbnMgYnV0dG9uIHtcbiAgY29sb3I6ICNlMGUwZTA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOTJkMzE7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zdGFraW5nIC5jaGFydC1vcHRpb25zIC5vcHRpb25zIGJ1dHRvbiB7XG4gIGNvbG9yOiAjNDM0NTRiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zdGFraW5nIC5jaGFydC1vcHRpb25zIC5vcHRpb25zIGJ1dHRvbi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zdGFraW5nIC5jaGFydC1vcHRpb25zIC5vcHRpb25zIGJ1dHRvbi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTE1OTYwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc3Rha2luZyAuY2hhcnQtb3B0aW9ucyAub3B0aW9ucyBidXR0b24uYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4uaGVhZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgcGFkZGluZzogMCAzcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzcmVtOyB9XG4gIC50aGVtZS1kYXJrIC5oZWFkIHtcbiAgICBjb2xvcjogIzRkYjFmZjsgfVxuICAudGhlbWUtZ3JheSAuaGVhZCB7XG4gICAgY29sb3I6ICM0MmE1ZjU7IH1cbiAgLnRoZW1lLXdoaXRlIC5oZWFkIHtcbiAgICBjb2xvcjogIzJjOTVmMTsgfVxuICAuaGVhZCAuYnJlYWRjcnVtYnMgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCksIC5oZWFkIC5icmVhZGNydW1icyBhOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG91dGxpbmUtc3R5bGU6IG5vbmU7IH1cbiAgICAuaGVhZCAuYnJlYWRjcnVtYnMgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC5oZWFkIC5icmVhZGNydW1icyBhOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjVyZW07XG4gICAgICByaWdodDogLTEuNXJlbTtcbiAgICAgIHdpZHRoOiAwLjlyZW07XG4gICAgICBoZWlnaHQ6IDAuOXJlbTtcbiAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1yaWdodC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBtYXNrLXNpemU6IGNvdmVyOyB9XG4gICAgICAudGhlbWUtZGFyayAuaGVhZCAuYnJlYWRjcnVtYnMgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC50aGVtZS1kYXJrIC5oZWFkIC5icmVhZGNydW1icyBhOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG4gICAgICAudGhlbWUtZ3JheSAuaGVhZCAuYnJlYWRjcnVtYnMgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC50aGVtZS1ncmF5IC5oZWFkIC5icmVhZGNydW1icyBhOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG4gICAgICAudGhlbWUtd2hpdGUgLmhlYWQgLmJyZWFkY3J1bWJzID4gc3Bhbjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyLCAudGhlbWUtd2hpdGUgLmhlYWQgLmJyZWFkY3J1bWJzIGE6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cbiAgLmhlYWQgLmJhY2stYnRuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM0ZGIxZmY7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuM3JlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5oZWFkIC5iYWNrLWJ0biAuaWNvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuN3JlbTtcbiAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9iYWNrLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAwLjlyZW07XG4gICAgICBoZWlnaHQ6IDAuOXJlbTsgfVxuICAgICAgLnRoZW1lLWRhcmsgLmhlYWQgLmJhY2stYnRuIC5pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuICAgICAgLnRoZW1lLWdyYXkgLmhlYWQgLmJhY2stYnRuIC5pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC5oZWFkIC5iYWNrLWJ0biAuaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnNjcm9sbGVkLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTsgfVxuXG4uc2Nyb2xsZWQtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uc2Nyb2xsZWQtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDAuMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTsgfVxuXG4uc2Nyb2xsZWQtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2OyB9XG5cbnRhYmxlIHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIHRhYmxlIHRoZWFkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLnRoZW1lLWRhcmsgdGFibGUgdGhlYWQge1xuICAgICAgY29sb3I6ICM1NTY1NzY7IH1cbiAgICAudGhlbWUtZ3JheSB0YWJsZSB0aGVhZCB7XG4gICAgICBjb2xvcjogIzU2NWM2MjsgfVxuICAgIC50aGVtZS13aGl0ZSB0YWJsZSB0aGVhZCB7XG4gICAgICBjb2xvcjogI2EwYTVhYjsgfVxuICAgIHRhYmxlIHRoZWFkIHRyIHtcbiAgICAgIGhlaWdodDogNHJlbTsgfVxuICAgICAgdGFibGUgdGhlYWQgdHIgdGgge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG4gICAgICAgIHRhYmxlIHRoZWFkIHRyIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cbiAgICAgICAgdGFibGUgdGhlYWQgdHIgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfVxuICB0YWJsZSB0Ym9keSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC50aGVtZS1kYXJrIHRhYmxlIHRib2R5IHtcbiAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLnRoZW1lLWdyYXkgdGFibGUgdGJvZHkge1xuICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAudGhlbWUtd2hpdGUgdGFibGUgdGJvZHkge1xuICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgICB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICBoZWlnaHQ6IDMuNXJlbTsgfVxuICAgICAgLnRoZW1lLWRhcmsgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgyMDJhOyB9XG4gICAgICAudGhlbWUtZ3JheSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTI5MmQ7IH1cbiAgICAgIC50aGVtZS13aGl0ZSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIHRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuN3JlbTtcbiAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXgtd2lkdGg6IDIwcmVtOyB9XG4gICAgICAgIHRhYmxlIHRib2R5IHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cbiAgICAgICAgdGFibGUgdGJvZHkgdHIgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1MaWdodC50dGYpO1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogT3BlblNhbnM7XG4gIHNyYzogdXJsKH5zcmMvYXNzZXRzL2ZvbnRzL09wZW5TYW5zLVJlZ3VsYXIudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1TZW1pQm9sZC50dGYpO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogT3BlblNhbnM7XG4gIHNyYzogdXJsKH5zcmMvYXNzZXRzL2ZvbnRzL09wZW5TYW5zLUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1FeHRyYUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEwcHg7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBPcGVuU2Fucywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuICBib2R5LnRoZW1lLWRhcmsge1xuICAgIGJhY2tncm91bmQ6ICMxMzE5MjEgdXJsKFwiYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLWRhcmsucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBib2R5LnRoZW1lLWdyYXkge1xuICAgIGJhY2tncm91bmQ6ICMxMDE0MTcgdXJsKFwiYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLWdyYXkucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBib2R5LnRoZW1lLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlZWVlIHVybChcImFzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC13aGl0ZS5wbmdcIikgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIGJvZHkgYXBwLXJvb3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4iLCIubmctc2VsZWN0Lm5nLXNlbGVjdC1vcGVuZWQ+Lm5nLXNlbGVjdC1jb250YWluZXJ7YmFja2dyb3VuZDojZmZmO2JvcmRlci1jb2xvcjojYjNiM2IzICNjY2MgI2Q5ZDlkOX0ubmctc2VsZWN0Lm5nLXNlbGVjdC1vcGVuZWQ+Lm5nLXNlbGVjdC1jb250YWluZXI6aG92ZXJ7Ym94LXNoYWRvdzpub25lfS5uZy1zZWxlY3Qubmctc2VsZWN0LW9wZW5lZD4ubmctc2VsZWN0LWNvbnRhaW5lciAubmctYXJyb3d7dG9wOi0ycHg7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM5OTk7Ym9yZGVyLXdpZHRoOjAgNXB4IDVweH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1vcGVuZWQ+Lm5nLXNlbGVjdC1jb250YWluZXIgLm5nLWFycm93OmhvdmVye2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzMzfS5uZy1zZWxlY3Qubmctc2VsZWN0LW9wZW5lZC5uZy1zZWxlY3QtYm90dG9tPi5uZy1zZWxlY3QtY29udGFpbmVye2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5uZy1zZWxlY3Qubmctc2VsZWN0LW9wZW5lZC5uZy1zZWxlY3QtdG9wPi5uZy1zZWxlY3QtY29udGFpbmVye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowfS5uZy1zZWxlY3Qubmctc2VsZWN0LWZvY3VzZWQ6bm90KC5uZy1zZWxlY3Qtb3BlbmVkKT4ubmctc2VsZWN0LWNvbnRhaW5lcntib3JkZXItY29sb3I6IzAwN2VmZjtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLDAuMDc1KSwwIDAgMCAzcHggcmdiYSgwLDEyNiwyNTUsMC4xKX0ubmctc2VsZWN0Lm5nLXNlbGVjdC1kaXNhYmxlZD4ubmctc2VsZWN0LWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiNmOWY5Zjl9Lm5nLXNlbGVjdCAubmctaGFzLXZhbHVlIC5uZy1wbGFjZWhvbGRlcntkaXNwbGF5Om5vbmV9Lm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO21pbi1oZWlnaHQ6MzZweDthbGlnbi1pdGVtczpjZW50ZXJ9Lm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lcjpob3Zlcntib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwwLjA2KX0ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXJ7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctbGVmdDoxMHB4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVye3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWxlZnQ6MH0ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXBsYWNlaG9sZGVye2NvbG9yOiM5OTl9Lm5nLXNlbGVjdC5uZy1zZWxlY3Qtc2luZ2xlIC5uZy1zZWxlY3QtY29udGFpbmVye2hlaWdodDozNnB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LXNpbmdsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy1pbnB1dHt0b3A6NXB4O2xlZnQ6MDtwYWRkaW5nLWxlZnQ6MTBweDtwYWRkaW5nLXJpZ2h0OjUwcHh9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0Lm5nLXNlbGVjdC1zaW5nbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctaW5wdXR7cGFkZGluZy1yaWdodDoxMHB4O3BhZGRpbmctbGVmdDo1MHB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlLm5nLXNlbGVjdC1kaXNhYmxlZD4ubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiNmOWY5Zjk7Ym9yZGVyOjFweCBzb2xpZCAjZTZlNmU2fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlLm5nLXNlbGVjdC1kaXNhYmxlZD4ubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZSAubmctdmFsdWUtbGFiZWx7cGFkZGluZzowIDVweH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVye3BhZGRpbmctdG9wOjVweDtwYWRkaW5nLWxlZnQ6N3B4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lcntwYWRkaW5nLXJpZ2h0OjdweDtwYWRkaW5nLWxlZnQ6MH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZXtmb250LXNpemU6MC45ZW07bWFyZ2luLWJvdHRvbTo1cHg7YmFja2dyb3VuZC1jb2xvcjojZWJmNWZmO2JvcmRlci1yYWRpdXM6MnB4O21hcmdpbi1yaWdodDo1cHh9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZXttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDo1cHh9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUubmctdmFsdWUtZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojZjlmOWY5fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlLm5nLXZhbHVlLWRpc2FibGVkIC5uZy12YWx1ZS1sYWJlbHtwYWRkaW5nLWxlZnQ6NXB4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUubmctdmFsdWUtZGlzYWJsZWQgLm5nLXZhbHVlLWxhYmVse3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6NXB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1sYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjFweCA1cHh9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUgLm5nLXZhbHVlLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzoxcHggNXB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1pY29uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2QxZThmZn0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZSAubmctdmFsdWUtaWNvbi5sZWZ0e2JvcmRlci1yaWdodDoxcHggc29saWQgI2I4ZGJmZn1bZGlyPVwicnRsXCJdIC5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1pY29uLmxlZnR7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNiOGRiZmY7Ym9yZGVyLXJpZ2h0Om5vbmV9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUgLm5nLXZhbHVlLWljb24ucmlnaHR7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNiOGRiZmZ9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZSAubmctdmFsdWUtaWNvbi5yaWdodHtib3JkZXItbGVmdDowO2JvcmRlci1yaWdodDoxcHggc29saWQgI2I4ZGJmZn0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy1pbnB1dHtwYWRkaW5nOjAgMCAzcHggM3B4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctaW5wdXR7cGFkZGluZzowIDNweCAzcHggMH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy1wbGFjZWhvbGRlcnt0b3A6NXB4O3BhZGRpbmctYm90dG9tOjVweDtwYWRkaW5nLWxlZnQ6M3B4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctcGxhY2Vob2xkZXJ7cGFkZGluZy1yaWdodDozcHg7cGFkZGluZy1sZWZ0OjB9Lm5nLXNlbGVjdCAubmctY2xlYXItd3JhcHBlcntjb2xvcjojOTk5fS5uZy1zZWxlY3QgLm5nLWNsZWFyLXdyYXBwZXI6aG92ZXIgLm5nLWNsZWFye2NvbG9yOiNEMDAyMUJ9Lm5nLXNlbGVjdCAubmctc3Bpbm5lci16b25le3BhZGRpbmc6NXB4IDVweCAwIDB9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0IC5uZy1zcGlubmVyLXpvbmV7cGFkZGluZzo1cHggMCAwIDVweH0ubmctc2VsZWN0IC5uZy1hcnJvdy13cmFwcGVye3dpZHRoOjI1cHg7cGFkZGluZy1yaWdodDo1cHh9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0IC5uZy1hcnJvdy13cmFwcGVye3BhZGRpbmctbGVmdDo1cHg7cGFkZGluZy1yaWdodDowfS5uZy1zZWxlY3QgLm5nLWFycm93LXdyYXBwZXI6aG92ZXIgLm5nLWFycm93e2JvcmRlci10b3AtY29sb3I6IzY2Nn0ubmctc2VsZWN0IC5uZy1hcnJvdy13cmFwcGVyIC5uZy1hcnJvd3tib3JkZXItY29sb3I6Izk5OSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjVweCA1cHggMi41cHh9Lm5nLWRyb3Bkb3duLXBhbmVse2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsMC4wNik7bGVmdDowfS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtYm90dG9te3RvcDoxMDAlO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRweDtib3JkZXItdG9wLWNvbG9yOiNlNmU2ZTY7bWFyZ2luLXRvcDotMXB4fS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtYm90dG9tIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4fS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtdG9we2JvdHRvbToxMDAlO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWNvbG9yOiNlNmU2ZTY7bWFyZ2luLWJvdHRvbTotMXB4fS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtdG9wIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uOmZpcnN0LWNoaWxke2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLWhlYWRlcntib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjO3BhZGRpbmc6NXB4IDdweH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLWZvb3Rlcntib3JkZXItdG9wOjFweCBzb2xpZCAjY2NjO3BhZGRpbmc6NXB4IDdweH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1ze21hcmdpbi1ib3R0b206MXB4fS5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGdyb3Vwe3VzZXItc2VsZWN0Om5vbmU7cGFkZGluZzo4cHggMTBweDtmb250LXdlaWdodDo1MDA7Y29sb3I6cmdiYSgwLDAsMCwwLjU0KTtjdXJzb3I6cG9pbnRlcn0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRncm91cC5uZy1vcHRpb24tZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0Z3JvdXAubmctb3B0aW9uLW1hcmtlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNWZhZmZ9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0Z3JvdXAubmctb3B0aW9uLXNlbGVjdGVkLC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGdyb3VwLm5nLW9wdGlvbi1zZWxlY3RlZC5uZy1vcHRpb24tbWFya2Vke2JhY2tncm91bmQtY29sb3I6I2ViZjVmZjtmb250LXdlaWdodDo2MDB9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9ue2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjpyZ2JhKDAsMCwwLDAuODcpO3BhZGRpbmc6OHB4IDEwcHh9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1zZWxlY3RlZCwubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLXNlbGVjdGVkLm5nLW9wdGlvbi1tYXJrZWR7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNlYmY1ZmZ9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1zZWxlY3RlZCAubmctb3B0aW9uLWxhYmVsLC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tc2VsZWN0ZWQubmctb3B0aW9uLW1hcmtlZCAubmctb3B0aW9uLWxhYmVse2ZvbnQtd2VpZ2h0OjYwMH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLW1hcmtlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNWZhZmY7Y29sb3I6IzMzM30ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLWRpc2FibGVke2NvbG9yOiNjY2N9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1jaGlsZHtwYWRkaW5nLWxlZnQ6MjJweH1bZGlyPVwicnRsXCJdIC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tY2hpbGR7cGFkZGluZy1yaWdodDoyMnB4O3BhZGRpbmctbGVmdDowfS5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbiAubmctdGFnLWxhYmVse2ZvbnQtc2l6ZTo4MCU7Zm9udC13ZWlnaHQ6NDAwO3BhZGRpbmctcmlnaHQ6NXB4fVtkaXI9XCJydGxcIl0gLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uIC5uZy10YWctbGFiZWx7cGFkZGluZy1sZWZ0OjVweDtwYWRkaW5nLXJpZ2h0OjB9W2Rpcj1cInJ0bFwiXSAubmctZHJvcGRvd24tcGFuZWx7ZGlyZWN0aW9uOnJ0bDt0ZXh0LWFsaWduOnJpZ2h0fVxuIiwiLy8qICoqKioqKiogcmVzZXQgJiBub3JtYWxpemUgKioqKioqKiAgKi8vXHJcblxyXG4vLyBib3gtc2l6aW5nIHRoZSBzYW1lIGZvciBhbGwgZWxlbWVudHNcclxuaHRtbCB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcclxuICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcclxuICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgQGluY2x1ZGUgdW5TZWxlY3Q7XHJcbn1cclxuXHJcbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxyXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXHJcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcclxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcclxuYiwgdSwgaSwgY2VudGVyLFxyXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxyXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcclxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXHJcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxyXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXHJcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxyXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgZm9udC1zaXplOiAxMDAlO1xyXG4gICAgZm9udDogaW5oZXJpdDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxyXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICBsaW5lLWhlaWdodDogMTtcclxuICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcbm9sLCB1bCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcbmJsb2NrcXVvdGUsIHEge1xyXG4gICAgcXVvdGVzOiBub25lO1xyXG59XHJcbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLFxyXG5xOmJlZm9yZSwgcTphZnRlciB7XHJcbiAgICBjb250ZW50OiBub25lO1xyXG59XHJcblxyXG4vL3RhYmxlXHJcbnRhYmxlIHtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBib3JkZXItc3BhY2luZzogMDtcclxufVxyXG50ZCxcclxudGgge1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8vZm9ybXMgZWxlbWVudFxyXG5pbnB1dCB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgJjotd2Via2l0LWF1dG9maWxsIHtcclxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxMDAwcHggd2hpdGUgaW5zZXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxyXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXHJcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBvdXRsaW5lOiBub25lO1xyXG59XHJcbmJ1dHRvbltkaXNhYmxlZF0sXHJcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuaW5wdXQge1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbn1cclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbn1cclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG5cclxuLy9saW5rXHJcbmEge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHQmOmFjdGl2ZSxcclxuXHQmOmhvdmVyLFxyXG5cdCY6Zm9jdXMge1xyXG5cdFx0b3V0bGluZTogMDtcclxuXHR9XHJcbn1cclxuXHJcbmkgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cclxuYiwgc3Ryb25nIHsgZm9udC13ZWlnaHQ6IDcwMDsgICB9XHJcblxyXG4vLyBpbWFnZXNcclxuaW1nIHtcclxuXHR3aWR0aDogYXV0bztcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0Ym9yZGVyOiAwO1xyXG59XHJcblxyXG4uaGlkZGVuIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLmFwcC1jb250ZW50IHtcclxuXHJcbiAgLnByZWxvYWRlciB7XHJcblxyXG4gICAgLmxvYWRpbmctYmFyIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckZ1bGxCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5idXR0b24ge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIHBhZGRpbmc6IDAgMXJlbTtcclxuICBoZWlnaHQ6IDQuMnJlbTtcclxuXHJcbiAgJjpkaXNhYmxlZDpub3QoLnRyYW5zcGFyZW50LWJ1dHRvbikge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoZGlzYWJsZWRCdXR0b25CYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICBjb2xvcjogdGhlbWVkKGFsdGVybmF0aXZlVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChkaXNhYmxlZEJ1dHRvbkhvdmVyQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmJsdWUtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcclxuXHJcbiAgICAmLmVycm9yLXRleHQge1xyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKHJlZFRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVCdXR0b25CYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICBjb2xvcjogdGhlbWVkKGFsdGVybmF0aXZlVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlQnV0dG9uSG92ZXJDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuZ3JlZW4tYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGdyZWVuQnV0dG9uQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgY29sb3I6IHRoZW1lZChhbHRlcm5hdGl2ZVRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoZ3JlZW5CdXR0b25Ib3ZlckNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi50dXJxdW9pc2UtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHR1cnF1b2lzZUJ1dHRvbkJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQoYWx0ZXJuYXRpdmVUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHR1cnF1b2lzZUJ1dHRvbkhvdmVyQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnRyYW5zcGFyZW50LWJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyOiAwLjJyZW0gc29saWQgdGhlbWVkKHRyYW5zcGFyZW50QnV0dG9uQm9yZGVyQ29sb3IpO1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5pY29uIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gICAgICBtYXNrOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvY29tcGxldGUtdGVzdHdhbGxldC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgIHdpZHRoOiAxLjdyZW07XHJcbiAgICAgIGhlaWdodDogMS43cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5pbnB1dC1ibG9jayB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIG1hcmdpbi1ib3R0b206IDAuNHJlbTtcclxuXHJcbiAgLndyYXAtbGFiZWwge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBtaW4taGVpZ2h0OiAyLjRyZW07XHJcbiAgfVxyXG5cclxuICBsYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5wdXRbdHlwZT0ndGV4dCddLCBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCBzZWxlY3Qge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgcGFkZGluZzogMCAxcmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDQuMnJlbTtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGlucHV0QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYudGV4dGFyZWEge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG5cclxuICAgIHRleHRhcmVhIHtcclxuICAgICAgZm9udC1mYW1pbHk6IE9wZW5TYW5zLCBzYW5zLXNlcmlmO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDcuNXJlbTtcclxuICAgICAgbWF4LWhlaWdodDogNy41cmVtO1xyXG4gICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgcmVzaXplOiBub25lO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGlucHV0QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZXJyb3ItYmxvY2sge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNHJlbTtcclxuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQocmVkVGV4dENvbG9yKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5lcnJvci10ZXh0IHtcclxuICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgIGNvbG9yOiB0aGVtZWQocmVkVGV4dENvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW8ge1xyXG5cclxuICAmICsgbGFiZWwge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyLjRyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHVuU2VsZWN0O1xyXG4gIH1cclxuXHJcbiAgJjpub3QoY2hlY2tlZCkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgb3BhY2l0eTogMDtcclxuXHJcbiAgICAmICsgbGFiZWwge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgJiArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMC43cmVtO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB3aWR0aDogMS40cmVtO1xyXG4gICAgICBoZWlnaHQ6IDEuNHJlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkIHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYgKyBsYWJlbDphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMXJlbTtcclxuICAgICAgbGVmdDogMC4zcmVtO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHdpZHRoOiAwLjhyZW07XHJcbiAgICAgIGhlaWdodDogMC44cmVtO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOmNoZWNrZWQge1xyXG5cclxuICAgICYgKyBsYWJlbDphZnRlciB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94IHtcclxuXHJcbiAgJiArIGxhYmVsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIHBhZGRpbmctbGVmdDogMy42cmVtO1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB1blNlbGVjdDtcclxuICB9XHJcblxyXG4gICY6bm90KGNoZWNrZWQpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogMS42cmVtO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cclxuICAgICYgKyBsYWJlbCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAmICsgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDEuNnJlbTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgd2lkdGg6IDEuNHJlbTtcclxuICAgICAgaGVpZ2h0OiAxLjRyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6Y2hlY2tlZCB7XHJcblxyXG4gICAgJiArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9jb21wbGV0ZS10ZXN0d2FsbGV0LnN2Zyk7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zd2l0Y2gge1xyXG5cclxuICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChzd2l0Y2hCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gIH1cclxuXHJcbiAgLmNpcmNsZSB7XHJcblxyXG4gICAgJi5vbiB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm9mZiB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udGFibGUtdG9vbHRpcCB7XHJcbiAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgcGFkZGluZzogMXJlbSAycmVtO1xyXG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuXHJcbiAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcik7XHJcbiAgICBib3gtc2hhZG93OiB0aGVtZWQodG9vbHRpcFNoYWRvdyk7XHJcbiAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gIH1cclxuXHJcbiAgJi5uZy10b29sdGlwLXRvcCB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAtMnJlbTtcclxuICAgICAgbGVmdDogY2FsYyg1MCUgLSAxcmVtKTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAxcmVtO1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcikgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC10b3AtbGVmdCB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAtMXJlbTtcclxuICAgICAgbGVmdDogMC43cmVtO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDFyZW0gMXJlbSAwIDA7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5uZy10b29sdGlwLXRvcC1yaWdodCB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAtMXJlbTtcclxuICAgICAgcmlnaHQ6IDAuN3JlbTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW07XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKSB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcikgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1ib3R0b20ge1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAtMnJlbTtcclxuICAgICAgbGVmdDogY2FsYyg1MCUgLSAxcmVtKTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAxcmVtO1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcikgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1ib3R0b20tbGVmdCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IC0xcmVtO1xyXG4gICAgICBsZWZ0OiAwLjdyZW07XHJcbiAgICAgIGJvcmRlci13aWR0aDogMC41cmVtO1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcikgdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLm5nLXRvb2x0aXAtYm90dG9tLXJpZ2h0IHtcclxuICAgIG1hcmdpbi10b3A6IDFyZW07XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogLTFyZW07XHJcbiAgICAgIHJpZ2h0OiAwLjdyZW07XHJcbiAgICAgIGJvcmRlci13aWR0aDogMC41cmVtO1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcikgdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpIHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLm5nLXRvb2x0aXAtbGVmdCB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcmlnaHQ6IC0xcmVtO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDFyZW0gMXJlbSAwIDA7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5uZy10b29sdGlwLXJpZ2h0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IC0xcmVtO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDFyZW0gMCAwIDFyZW07XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJhbGFuY2UtdG9vbHRpcCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gIHBhZGRpbmc6IDEuM3JlbTtcclxuXHJcbiAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcik7XHJcbiAgICBib3gtc2hhZG93OiB0aGVtZWQodG9vbHRpcFNoYWRvdyk7XHJcbiAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gIH1cclxuXHJcbiAgJi5uZy10b29sdGlwLXRvcCB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1ib3R0b20ge1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1sZWZ0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1yaWdodCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICB9XHJcblxyXG4gIC5hdmFpbGFibGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS43cmVtO1xyXG5cclxuICAgIGIge1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxvY2tlZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07XHJcblxyXG4gICAgYiB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubGluayB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYWNjb3VudC10b29sdGlwIHtcclxuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gIG1heC13aWR0aDogMThyZW07XHJcbn1cclxuXHJcbi5uZ3gtY29udGV4dG1lbnUge1xyXG5cclxuICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY2hhcnRPcHRpb25zQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgYm94LXNoYWRvdzogdGhlbWVkKHRvb2x0aXBTaGFkb3cpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbGkge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogMC41ZW0gMWVtO1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGNoYXJ0T3B0aW9uc0hvdmVyQ29sb3IpO1xyXG4gICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5uZy1zZWxlY3Qge1xyXG5cclxuICAmLmxvY2stc2VsZWN0aW9uLXNlbGVjdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgcGFkZGluZzogMCAxcmVtO1xyXG4gICAgICBoZWlnaHQ6IDQuMnJlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChpbnB1dEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm5nLXZhbHVlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uZy1kcm9wZG93bi1wYW5lbCB7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChpbnB1dEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyB7XHJcblxyXG4gICAgICAgIC5uZy1vcHRpb24ge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoaW5wdXRCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYubmctb3B0aW9uLW1hcmtlZCB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoc2VsZWN0SG92ZXJDb2xvcik7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYubmctb3B0aW9uLXNlbGVjdGVkIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChzZWxlY3RTZWxlY3RlZENvbG9yKTtcclxuICAgICAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtbW9kYWwtY29udGFpbmVyIHtcclxuXHJcbiAgLm1vZGFsIHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZDogdGhlbWVkKG1vZGFsQmFja2dyb3VuZCk7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnQge1xyXG5cclxuICAgICAgLmljb24uZXJyb3Ige1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChyZWRUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmljb24uc3VjY2VzcyB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGdyZWVuVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pY29uLmluZm8ge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYWN0aW9uLWJ1dHRvbiB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChhbHRlcm5hdGl2ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuXHJcbiAgICAgIC5pY29uIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY2xvc2VCdXR0b25Db2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtdHJhbnNhY3Rpb24tZGV0YWlscyB7XHJcblxyXG4gIC50YWJsZSB7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJvcmRlci10b3A6IDAuMnJlbSBzb2xpZCB0aGVtZWQodHJhbnNwYXJlbnRCdXR0b25Cb3JkZXJDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnJvdyB7XHJcblxyXG4gICAgICAuY2VsbCB7XHJcblxyXG4gICAgICAgICYubGFiZWwge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYudmFsdWUge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5rZXktdmFsdWUge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLXByb2dyZXNzLWNvbnRhaW5lciB7XHJcblxyXG4gIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAucHJvZ3Jlc3MtYmFyIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5wcm9ncmVzcy1iYXItZnVsbCB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHByb2dyZXNzQmFyRnVsbEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiR0aGVtZXM6IChcclxuICBkYXJrOiAoXHJcbiAgICBib2R5QmFja2dyb3VuZENvbG9yOiAjMTMxOTIxLFxyXG4gICAgc2lkZWJhckJhY2tncm91bmRDb2xvcjogcmdiYSgyMywgMzEsIDM5LCAwLjUpLFxyXG4gICAgc2lkZWJhckJvcmRlckNvbG9yOiAjMWYyODMzLFxyXG4gICAgb25saW5lQ29sb3I6ICM1Y2RhOWQsXHJcbiAgICBvZmZsaW5lQ29sb3I6ICNmZTUyNTIsXHJcbiAgICBjb250ZW50QmFja2dyb3VuZENvbG9yOiByZ2JhKDQzLCA1NCwgNjgsIDAuNSksXHJcbiAgICBtYWluVGV4dENvbG9yOiAjZTBlMGUwLFxyXG4gICAgYWx0ZXJuYXRpdmVUZXh0Q29sb3I6ICMxMTE5MjEsXHJcbiAgICBvcHRpb25hbFRleHRDb2xvcjogIzU1NjU3NixcclxuICAgIGJsdWVUZXh0Q29sb3I6ICM0ZGIxZmYsXHJcbiAgICBncmVlblRleHRDb2xvcjogIzVjZGE5ZCxcclxuICAgIHJlZFRleHRDb2xvcjogI2ZlNTI1MixcclxuICAgIGJsdWVCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM0ZGIxZmYsXHJcbiAgICBibHVlQnV0dG9uSG92ZXJDb2xvcjogIzYwYjlmZixcclxuICAgIGRpc2FibGVkQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjOTBhNGFlLFxyXG4gICAgZGlzYWJsZWRCdXR0b25Ib3ZlckNvbG9yOiAjOWJiMGJhLFxyXG4gICAgZ3JlZW5CdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM1Y2RhOWQsXHJcbiAgICBncmVlbkJ1dHRvbkhvdmVyQ29sb3I6ICM1Y2UyYTEsXHJcbiAgICB0dXJxdW9pc2VCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM0ZGQwZTEsXHJcbiAgICB0dXJxdW9pc2VCdXR0b25Ib3ZlckNvbG9yOiAjNTJkOWVhLFxyXG4gICAgdHJhbnNwYXJlbnRCdXR0b25Cb3JkZXJDb2xvcjogIzJiMzY0NCxcclxuICAgIGlucHV0QmFja2dyb3VuZENvbG9yOiAjMTcxZTI3LFxyXG4gICAgc2VsZWN0SG92ZXJDb2xvcjogcmdiYSg1OCwgNzIsIDkwLCAwLjUpLFxyXG4gICAgc2VsZWN0U2VsZWN0ZWRDb2xvcjogcmdiYSg0MywgNTQsIDY4LCAwLjUpLFxyXG4gICAgc3dpdGNoQmFja2dyb3VuZENvbG9yOiAjMDAwMDAwLFxyXG4gICAgYWNjb3VudEJhY2tncm91bmRDb2xvcjogcmdiYSg0MywgNTQsIDY4LCAwLjUpLFxyXG4gICAgYWNjb3VudEhvdmVyQmFja2dyb3VuZENvbG9yOiByZ2JhKDU4LCA3MiwgOTAsIDAuNSksXHJcbiAgICBhY2NvdW50TWFpblRleHRDb2xvcjogI2UwZTBlMCxcclxuICAgIGFjY291bnRPcHRpb25hbFRleHRDb2xvcjogIzU1NjU3NixcclxuICAgIGFjY291bnRJbmRpY2F0b3JUZXh0Q29sb3I6ICMxMTE5MjEsXHJcbiAgICBhY2NvdW50U3dpdGNoQmFja2dyb3VuZENvbG9yOiAjMDAwMDAwLFxyXG4gICAgYWNjb3VudEluZGljYXRvckJhY2tncm91bmRDb2xvcjogIzRkYjFmZixcclxuICAgIHRhYkluYWN0aXZlQmFja2dyb3VuZENvbG9yOiByZ2JhKDIzLCAzMSwgMzksIDAuNSksXHJcbiAgICB0YWJsZUJhY2tncm91bmRDb2xvcjogIzE4MjAyYSxcclxuICAgIG1lc3NhZ2VNeUJhY2tncm91bmRDb2xvcjogIzJhMzU0NCxcclxuICAgIG1lc3NhZ2VCdWRkeUJhY2tncm91bmRDb2xvcjogIzE4MjAyYSxcclxuICAgIHByb2dyZXNzQmFyQmFja2dyb3VuZENvbG9yOiAjMzQzZjRhLFxyXG4gICAgcHJvZ3Jlc3NCYXJGdWxsQmFja2dyb3VuZENvbG9yOiAjNWNkYTlkLFxyXG4gICAgY2hhcnRPcHRpb25zQmFja2dyb3VuZENvbG9yOiAjMmIzNjQ0LFxyXG4gICAgY2hhcnRPcHRpb25zSG92ZXJDb2xvcjogIzU1NjU3NixcclxuICAgIHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3I6ICM0MjUwNWYsXHJcbiAgICB0b29sdGlwU2hhZG93OiAwIDAgMXJlbSByZ2JhKDAsIDAsIDAsIDAuNSksXHJcbiAgICBtb2RhbEJhY2tncm91bmQ6IHVybCh+c3JjL2Fzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC1kYXJrLnBuZyksXHJcbiAgICBjbG9zZUJ1dHRvbkNvbG9yOiAjNTU2NTc2XHJcbiAgKSxcclxuICBncmF5OiAoXHJcbiAgICBib2R5QmFja2dyb3VuZENvbG9yOiAjMTAxNDE3LFxyXG4gICAgc2lkZWJhckJhY2tncm91bmRDb2xvcjogcmdiYSgyMywgMjUsIDI3LCAwLjUpLFxyXG4gICAgc2lkZWJhckJvcmRlckNvbG9yOiAjMmUzMzM3LFxyXG4gICAgb25saW5lQ29sb3I6ICM0N2NmOGQsXHJcbiAgICBvZmZsaW5lQ29sb3I6ICNmZjUyNTIsXHJcbiAgICBjb250ZW50QmFja2dyb3VuZENvbG9yOiByZ2JhKDM3LCA0MCwgNDMsIDAuNSksXHJcbiAgICBtYWluVGV4dENvbG9yOiAjZTBlMGUwLFxyXG4gICAgYWx0ZXJuYXRpdmVUZXh0Q29sb3I6ICMxYTFhMWEsXHJcbiAgICBvcHRpb25hbFRleHRDb2xvcjogIzU2NWM2MixcclxuICAgIGJsdWVUZXh0Q29sb3I6ICM0MmE1ZjUsXHJcbiAgICBncmVlblRleHRDb2xvcjogIzQ3Y2Y4ZCxcclxuICAgIHJlZFRleHRDb2xvcjogI2ZlNTI1MixcclxuICAgIGJsdWVCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM0MmE1ZjUsXHJcbiAgICBibHVlQnV0dG9uSG92ZXJDb2xvcjogIzRkYWZmZixcclxuICAgIGRpc2FibGVkQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjNzk4NDhmLFxyXG4gICAgZGlzYWJsZWRCdXR0b25Ib3ZlckNvbG9yOiAjODU5MDliLFxyXG4gICAgZ3JlZW5CdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM0N2NmOGQsXHJcbiAgICBncmVlbkJ1dHRvbkhvdmVyQ29sb3I6ICM0OWQ5OTMsXHJcbiAgICB0dXJxdW9pc2VCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICMzZWM1ZDcsXHJcbiAgICB0dXJxdW9pc2VCdXR0b25Ib3ZlckNvbG9yOiAjNDNjZWUwLFxyXG4gICAgdHJhbnNwYXJlbnRCdXR0b25Cb3JkZXJDb2xvcjogIzJmMzQzOCxcclxuICAgIGlucHV0QmFja2dyb3VuZENvbG9yOiAjMjkyZDMxLFxyXG4gICAgc2VsZWN0SG92ZXJDb2xvcjogcmdiYSg3MCwgNzYsIDgxLCAwLjUpLFxyXG4gICAgc2VsZWN0U2VsZWN0ZWRDb2xvcjogcmdiYSgzNywgNDAsIDQzLCAwLjUpLFxyXG4gICAgc3dpdGNoQmFja2dyb3VuZENvbG9yOiAjMDAwMDAwLFxyXG4gICAgYWNjb3VudEJhY2tncm91bmRDb2xvcjogcmdiYSgzNywgNDAsIDQzLCAwLjUpLFxyXG4gICAgYWNjb3VudEhvdmVyQmFja2dyb3VuZENvbG9yOiByZ2JhKDcwLCA3NiwgODEsIDAuNSksXHJcbiAgICBhY2NvdW50TWFpblRleHRDb2xvcjogI2UwZTBlMCxcclxuICAgIGFjY291bnRPcHRpb25hbFRleHRDb2xvcjogIzU2NWM2MixcclxuICAgIGFjY291bnRJbmRpY2F0b3JUZXh0Q29sb3I6ICMxYTFhMWEsXHJcbiAgICBhY2NvdW50U3dpdGNoQmFja2dyb3VuZENvbG9yOiAjMDAwMDAwLFxyXG4gICAgYWNjb3VudEluZGljYXRvckJhY2tncm91bmRDb2xvcjogIzQyYTVmNSxcclxuICAgIHRhYkluYWN0aXZlQmFja2dyb3VuZENvbG9yOiByZ2JhKDIzLCAyNSwgMjcsIDAuNSksXHJcbiAgICB0YWJsZUJhY2tncm91bmRDb2xvcjogIzI1MjkyZCxcclxuICAgIG1lc3NhZ2VNeUJhY2tncm91bmRDb2xvcjogIzMwMzYzYyxcclxuICAgIG1lc3NhZ2VCdWRkeUJhY2tncm91bmRDb2xvcjogIzI1MjkyZCxcclxuICAgIHByb2dyZXNzQmFyQmFja2dyb3VuZENvbG9yOiAjMzYzYTNlLFxyXG4gICAgcHJvZ3Jlc3NCYXJGdWxsQmFja2dyb3VuZENvbG9yOiAjNDdjZjhkLFxyXG4gICAgY2hhcnRPcHRpb25zQmFja2dyb3VuZENvbG9yOiAjMjkyZDMxLFxyXG4gICAgY2hhcnRPcHRpb25zSG92ZXJDb2xvcjogIzUxNTk2MCxcclxuICAgIHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3I6ICMzZTQ2NGMsXHJcbiAgICB0b29sdGlwU2hhZG93OiAwIDAgMXJlbSByZ2JhKDAsIDAsIDAsIDAuNSksXHJcbiAgICBtb2RhbEJhY2tncm91bmQ6IHVybCh+c3JjL2Fzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC1ncmF5LnBuZyksXHJcbiAgICBjbG9zZUJ1dHRvbkNvbG9yOiAjNTE1OTYwXHJcbiAgKSxcclxuICB3aGl0ZTogKFxyXG4gICAgYm9keUJhY2tncm91bmRDb2xvcjogI2VlZWVlZSxcclxuICAgIHNpZGViYXJCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSxcclxuICAgIHNpZGViYXJCb3JkZXJDb2xvcjogI2ViZWJlYixcclxuICAgIG9ubGluZUNvbG9yOiAjNDZjMTcyLFxyXG4gICAgb2ZmbGluZUNvbG9yOiAjZmY1MjUyLFxyXG4gICAgY29udGVudEJhY2tncm91bmRDb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpLFxyXG4gICAgbWFpblRleHRDb2xvcjogIzQzNDU0YixcclxuICAgIGFsdGVybmF0aXZlVGV4dENvbG9yOiAjZmVmZWZlLFxyXG4gICAgb3B0aW9uYWxUZXh0Q29sb3I6ICNhMGE1YWIsXHJcbiAgICBibHVlVGV4dENvbG9yOiAjMmM5NWYxLFxyXG4gICAgZ3JlZW5UZXh0Q29sb3I6ICM0NmMxNzIsXHJcbiAgICByZWRUZXh0Q29sb3I6ICNmZjUyNTIsXHJcbiAgICBibHVlQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjMmM5NWYxLFxyXG4gICAgYmx1ZUJ1dHRvbkhvdmVyQ29sb3I6ICMzNzlmZmEsXHJcbiAgICBkaXNhYmxlZEJ1dHRvbkJhY2tncm91bmRDb2xvcjogIzkwYTRhZSxcclxuICAgIGRpc2FibGVkQnV0dG9uSG92ZXJDb2xvcjogIzliYWViNyxcclxuICAgIGdyZWVuQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjNDZjMTcyLFxyXG4gICAgZ3JlZW5CdXR0b25Ib3ZlckNvbG9yOiAjNDZjYTc1LFxyXG4gICAgdHVycXVvaXNlQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjMjZiNmM3LFxyXG4gICAgdHVycXVvaXNlQnV0dG9uSG92ZXJDb2xvcjogIzJiYmRjZixcclxuICAgIHRyYW5zcGFyZW50QnV0dG9uQm9yZGVyQ29sb3I6ICNlYmViZWIsXHJcbiAgICBpbnB1dEJhY2tncm91bmRDb2xvcjogI2U2ZTZlNixcclxuICAgIHNlbGVjdEhvdmVyQ29sb3I6IHJnYmEoMjQwLCAyNDAsIDI0MCwgMC41KSxcclxuICAgIHNlbGVjdFNlbGVjdGVkQ29sb3I6IHJnYmEoMjI0LCAyMjQsIDIyNCwgMC41KSxcclxuICAgIHN3aXRjaEJhY2tncm91bmRDb2xvcjogI2UwZTBlMCxcclxuICAgIGFjY291bnRCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMzAsIDEzNiwgMjI5LCAxKSxcclxuICAgIGFjY291bnRIb3ZlckJhY2tncm91bmRDb2xvcjogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjUpLFxyXG4gICAgYWNjb3VudE1haW5UZXh0Q29sb3I6ICNmZmZmZmYsXHJcbiAgICBhY2NvdW50T3B0aW9uYWxUZXh0Q29sb3I6ICM5MWJhZjEsXHJcbiAgICBhY2NvdW50SW5kaWNhdG9yVGV4dENvbG9yOiAjNDM0NTRiLFxyXG4gICAgYWNjb3VudFN3aXRjaEJhY2tncm91bmRDb2xvcjogI2ZmZmZmZixcclxuICAgIGFjY291bnRJbmRpY2F0b3JCYWNrZ3JvdW5kQ29sb3I6ICNmZmZmZmYsXHJcbiAgICB0YWJJbmFjdGl2ZUJhY2tncm91bmRDb2xvcjogcmdiYSgyMjQsIDIyNCwgMjI0LCAwLjUpLFxyXG4gICAgdGFibGVCYWNrZ3JvdW5kQ29sb3I6ICNmZmZmZmYsXHJcbiAgICBtZXNzYWdlTXlCYWNrZ3JvdW5kQ29sb3I6ICNmZmYsXHJcbiAgICBtZXNzYWdlQnVkZHlCYWNrZ3JvdW5kQ29sb3I6ICNlZGVkZWQsXHJcbiAgICBwcm9ncmVzc0JhckJhY2tncm91bmRDb2xvcjogI2RjZGNkYyxcclxuICAgIHByb2dyZXNzQmFyRnVsbEJhY2tncm91bmRDb2xvcjogIzQ2YzE3MixcclxuICAgIGNoYXJ0T3B0aW9uc0JhY2tncm91bmRDb2xvcjogI2UwZTBlMCxcclxuICAgIGNoYXJ0T3B0aW9uc0hvdmVyQ29sb3I6ICNmZmZmZmYsXHJcbiAgICB0b29sdGlwQmFja2dyb3VuZENvbG9yOiAjZmZmZmZmLFxyXG4gICAgdG9vbHRpcFNoYWRvdzogMCAwIDFyZW0gcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjUpLFxyXG4gICAgbW9kYWxCYWNrZ3JvdW5kOiB1cmwofnNyYy9hc3NldHMvaW1hZ2VzL2JhY2tncm91bmQtd2hpdGUucG5nKSxcclxuICAgIGNsb3NlQnV0dG9uQ29sb3I6ICM0MzQ1NGJcclxuICApXHJcbik7XHJcblxyXG5cclxuXHJcblxyXG5cclxuIiwiYXBwLW1haW4sIGFwcC1jcmVhdGUtd2FsbGV0LCBhcHAtb3Blbi13YWxsZXQsIGFwcC1yZXN0b3JlLXdhbGxldCwgYXBwLXNlZWQtcGhyYXNlLCBhcHAtd2FsbGV0LWRldGFpbHMsIGFwcC1hc3NpZ24tYWxpYXMsIGFwcC1lZGl0LWFsaWFzLCBhcHAtdHJhbnNmZXItYWxpYXMsIGFwcC1zZXR0aW5ncywgYXBwLWxvZ2luIHtcclxuICBmbGV4OiAxIDEgYXV0bztcclxuICBwYWRkaW5nOiAzcmVtO1xyXG4gIG1pbi13aWR0aDogODVyZW07XHJcblxyXG4gIC5jb250ZW50IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDNyZW07XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY29udGVudEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWQge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1tYWluIHtcclxuXHJcbiAgLmNvbnRlbnQge1xyXG5cclxuICAgIC5hZGQtd2FsbGV0IHtcclxuXHJcbiAgICAgIC5hZGQtd2FsbGV0LWhlbHAge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1zZWVkLXBocmFzZSB7XHJcblxyXG4gIC5zZWVkLXBocmFzZS1jb250ZW50IHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGlucHV0QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLXdhbGxldC1kZXRhaWxzIHtcclxuXHJcbiAgLnNlZWQtcGhyYXNlIHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGlucHV0QmFja2dyb3VuZENvbG9yKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1zZXR0aW5ncyB7XHJcblxyXG4gIC5jb250ZW50IHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAudGhlbWUtc2VsZWN0aW9uIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNjYWxlLXNlbGVjdGlvbiB7XHJcblxyXG4gICAgICAuYnV0dG9uLWJsb2NrIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQodGFiSW5hY3RpdmVCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxhYmVsIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAubGFiZWwge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLWxvZ2luIHtcclxuICBtaW4td2lkdGg6IGluaGVyaXQ7XHJcbn1cclxuIiwiYXBwLXNpZGViYXIge1xyXG5cclxuICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChzaWRlYmFyQmFja2dyb3VuZENvbG9yKTtcclxuICB9XHJcblxyXG4gIC5zaWRlYmFyLWFjY291bnRzIHtcclxuXHJcbiAgICAuc2lkZWJhci1hY2NvdW50cy1oZWFkZXIge1xyXG5cclxuICAgICAgaDMge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBidXR0b24ge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGViYXItYWNjb3VudHMtbGlzdCB7XHJcblxyXG4gICAgICAuc2lkZWJhci1hY2NvdW50IHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2lkZWJhci1hY2NvdW50LXJvdyB7XHJcblxyXG4gICAgICAgICAgLnRleHQge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuaW5kaWNhdG9yIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlQnV0dG9uQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgICAgICBjb2xvcjogdGhlbWVkKGFsdGVybmF0aXZlVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcclxuXHJcbiAgICAgICAgICAgIC5wcm9ncmVzcy1iYXIge1xyXG5cclxuICAgICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAuZmlsbCB7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckZ1bGxCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYuYWNjb3VudC1zeW5jaHJvbml6YXRpb24ge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGFjY291bnRCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKGFjY291bnRNYWluVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuc2lkZWJhci1hY2NvdW50LXJvdyB7XHJcblxyXG4gICAgICAgICAgICAudGV4dCB7XHJcblxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChhY2NvdW50T3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmluZGljYXRvciB7XHJcblxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGFjY291bnRJbmRpY2F0b3JCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChhY2NvdW50SW5kaWNhdG9yVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zd2l0Y2gge1xyXG5cclxuICAgICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChhY2NvdW50U3dpdGNoQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmFjY291bnQtc3luY2hyb25pemF0aW9uIHtcclxuXHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWVkKGFjY291bnRPcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyOm5vdCguYWN0aXZlKSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChhY2NvdW50SG92ZXJCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpZGViYXItc2V0dGluZ3Mge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAwLjJyZW0gc29saWQgdGhlbWVkKHNpZGViYXJCb3JkZXJDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLndyYXAtYnV0dG9uIHtcclxuXHJcbiAgICAgIGJ1dHRvbiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pY29uIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5hY3RpdmUge1xyXG5cclxuICAgICAgICBidXR0b24ge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYWNjb3VudEJhY2tncm91bmRDb2xvcikhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKGFjY291bnRNYWluVGV4dENvbG9yKSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmljb24ge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGFjY291bnRJbmRpY2F0b3JCYWNrZ3JvdW5kQ29sb3IpIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyB7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGF0dXMtY29udGFpbmVyIHtcclxuXHJcbiAgICAgIC5vZmZsaW5lOmJlZm9yZSB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKG9mZmxpbmVDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAub25saW5lOmJlZm9yZSB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKG9ubGluZUNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC50ZXN0bmV0IHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcclxuXHJcbiAgICAgIC5zeW5jaW5nIHtcclxuXHJcbiAgICAgICAgLnByb2dyZXNzLWJhciB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmZpbGwge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHByb2dyZXNzQmFyRnVsbEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5sb2FkaW5nIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQocHJvZ3Jlc3NCYXJGdWxsQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiYXBwLXdhbGxldCB7XHJcblxyXG4gIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICB9XHJcblxyXG4gIC5oZWFkZXIge1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hbGlhcyB7XHJcblxyXG4gICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFkZHJlc3Mge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5pY29uIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRhYnMge1xyXG5cclxuICAgIC50YWJzLWhlYWRlciB7XHJcblxyXG4gICAgICAudGFiIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQodGFiSW5hY3RpdmVCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmljb24ge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW5kaWNhdG9yIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGFjY291bnRJbmRpY2F0b3JCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKGFjY291bnRJbmRpY2F0b3JUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY29udGVudEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYnMtY29udGVudCB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY29udGVudEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1zZW5kIHtcclxuXHJcbiAgLmZvcm0tc2VuZCB7XHJcblxyXG4gICAgLmlucHV0LWJsb2NrLWFkZHJlc3Mge1xyXG5cclxuICAgICAgLmFkZHJlc3MtZHJvcGRvd24ge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChpbnB1dEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGRpdjpob3ZlciB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHNlbGVjdEhvdmVyQ29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zZW5kLXNlbGVjdCB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hZGRpdGlvbmFsLWRldGFpbHMge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyOiAwLjJyZW0gc29saWQgdGhlbWVkKHRyYW5zcGFyZW50QnV0dG9uQm9yZGVyQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtcmVjZWl2ZSB7XHJcblxyXG4gIC5idG4tY29weS1hZGRyZXNzIHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLWhpc3Rvcnkge1xyXG5cclxuICB0YWJsZSB7XHJcblxyXG4gICAgdGJvZHkge1xyXG5cclxuICAgICAgdHIge1xyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCg0bisxKSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZCh0YWJsZUJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCg0bisyKSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZCh0YWJsZUJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCg0biszKSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoNG4rNCkge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zdGF0dXMge1xyXG5cclxuICAgICAgICAgIC5jb25maXJtYXRpb24ge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHByb2dyZXNzQmFyQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmZpbGwge1xyXG5cclxuICAgICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckZ1bGxCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN0YXR1cy5zZW5kIHtcclxuXHJcbiAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjUyNTI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc3RhdHVzLnJlY2VpdmVkIHtcclxuXHJcbiAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGM4NTM7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtY29udHJhY3RzIHtcclxuXHJcbiAgLndyYXAtdGFibGUge1xyXG5cclxuICAgIC5jb250cmFjdCB7XHJcblxyXG4gICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgICYubmV3LCAmLmFsZXJ0IHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHJlZFRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnB1cmNoYXNlLCAmLnNlbGwge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtcHVyY2hhc2Uge1xyXG5cclxuICAuZm9ybS1wdXJjaGFzZSB7XHJcblxyXG4gICAgLnB1cmNoYXNlLXNlbGVjdCB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wdXJjaGFzZS1zdGF0ZXMge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hZGRpdGlvbmFsLWRldGFpbHMge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyOiAwLjJyZW0gc29saWQgdGhlbWVkKHRyYW5zcGFyZW50QnV0dG9uQm9yZGVyQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciB7XHJcblxyXG4gICAgLnByb2dyZXNzLWJhciB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQocHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAucHJvZ3Jlc3MtYmFyLWZ1bGwge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckZ1bGxCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLW1lc3NhZ2VzIHtcclxuXHJcbiAgdGFibGUge1xyXG5cclxuICAgIHRib2R5IHtcclxuXHJcbiAgICAgIHRyIHtcclxuXHJcbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQge1xyXG5cclxuICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5pY29uIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChyZWRUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtdHlwaW5nLW1lc3NhZ2Uge1xyXG5cclxuICAuaGVhZCB7XHJcblxyXG4gICAgLmludGVybG9jdXRvciB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubWVzc2FnZXMtY29udGVudCB7XHJcblxyXG4gICAgLm1lc3NhZ2VzLWxpc3Qge1xyXG5cclxuICAgICAgZGl2IHtcclxuXHJcbiAgICAgICAgJi5kYXRlIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm15IHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKG1lc3NhZ2VNeUJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0xLjFyZW07XHJcbiAgICAgICAgICAgIGJvcmRlcjogMS4ycmVtIHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdGhlbWVkKG1lc3NhZ2VNeUJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYnVkZHkge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQobWVzc2FnZUJ1ZGR5QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkbztcclxuICAgICAgICAgICAgcmlnaHQ6IC0xLjFyZW07XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxLjJyZW0gc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0aGVtZWQobWVzc2FnZUJ1ZGR5QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLXN0YWtpbmcge1xyXG5cclxuICAuY2hhcnQtaGVhZGVyIHtcclxuXHJcbiAgICAuZ2VuZXJhbCB7XHJcblxyXG4gICAgICAubGFiZWwge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLm9wdGlvbnMge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNlbGVjdGVkIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jaGFydC1vcHRpb25zIHtcclxuXHJcbiAgICAudGl0bGUge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAub3B0aW9ucyB7XHJcblxyXG4gICAgICBidXR0b24ge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY2hhcnRPcHRpb25zQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGNoYXJ0T3B0aW9uc0hvdmVyQ29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuaGVhZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gIHBhZGRpbmc6IDAgM3JlbTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDNyZW07XHJcblxyXG4gIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICB9XHJcblxyXG4gIC5icmVhZGNydW1icyB7XHJcblxyXG4gICAgPiBzcGFuLCBhIHtcclxuXHJcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgb3V0bGluZS1zdHlsZTogbm9uZTtcclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xyXG4gICAgICAgICAgdG9wOiAwLjVyZW07XHJcbiAgICAgICAgICByaWdodDogLTEuNXJlbTtcclxuICAgICAgICAgIHdpZHRoOiAwLjlyZW07XHJcbiAgICAgICAgICBoZWlnaHQ6IDAuOXJlbTtcclxuICAgICAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1yaWdodC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgICBtYXNrLXNpemU6IGNvdmVyO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYmFjay1idG4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGNvbG9yOiAjNGRiMWZmO1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjNyZW07XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjdyZW07XHJcbiAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9iYWNrLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDAuOXJlbTtcclxuICAgICAgaGVpZ2h0OiAwLjlyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnNjcm9sbGVkLWNvbnRlbnQge1xyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIHdpZHRoOiAxcmVtO1xyXG4gICAgaGVpZ2h0OiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2O1xyXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgIGJvcmRlcjogMC4yNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcclxuICB9XHJcblxyXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTY1NzY7XHJcbiAgfVxyXG59XHJcbiIsInRhYmxlIHtcclxuICBmb250LXNpemU6IDEuM3JlbTtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgdGhlYWQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgdHIge1xyXG4gICAgICBoZWlnaHQ6IDRyZW07XHJcblxyXG4gICAgICB0aCB7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdGJvZHkge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICB0ciB7XHJcbiAgICAgIGhlaWdodDogMy41cmVtO1xyXG5cclxuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHRhYmxlQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRkIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS43cmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gQkFTRVxyXG5AaW1wb3J0ICdhc3NldHMvc2Nzcy9iYXNlL21peGlucyc7XHJcbkBpbXBvcnQgJ2Fzc2V0cy9zY3NzL2Jhc2UvbnVsbCc7XHJcbkBpbXBvcnQgJ2Fzc2V0cy9zY3NzL2Jhc2UvdGhlbWUnO1xyXG5AaW1wb3J0ICdhc3NldHMvc2Nzcy9iYXNlL2Jhc2UnO1xyXG5cclxuLy8gTEFZT1VUXHJcbkBpbXBvcnQgJ2Fzc2V0cy9zY3NzL2xheW91dC9tYWluJztcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvbGF5b3V0L3NldHRpbmdzJztcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvbGF5b3V0L3NpZGViYXInO1xyXG5AaW1wb3J0ICdhc3NldHMvc2Nzcy9sYXlvdXQvd2FsbGV0JztcclxuXHJcbi8vIE1PRFVMRVNcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvbW9kdWxlcy9oZWFkJztcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvbW9kdWxlcy9zY3JvbGwnO1xyXG5AaW1wb3J0ICdhc3NldHMvc2Nzcy9tb2R1bGVzL3RhYmxlJztcclxuXHJcbkBpbXBvcnQgXCJ+QG5nLXNlbGVjdC9uZy1zZWxlY3QvdGhlbWVzL2RlZmF1bHQudGhlbWUuY3NzXCI7XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogT3BlblNhbnM7XHJcbiAgc3JjOiB1cmwofnNyYy9hc3NldHMvZm9udHMvT3BlblNhbnMtTGlnaHQudHRmKTtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogT3BlblNhbnM7XHJcbiAgc3JjOiB1cmwofnNyYy9hc3NldHMvZm9udHMvT3BlblNhbnMtUmVndWxhci50dGYpO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBPcGVuU2FucztcclxuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1TZW1pQm9sZC50dGYpO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBPcGVuU2FucztcclxuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1Cb2xkLnR0Zik7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xyXG4gIHNyYzogdXJsKH5zcmMvYXNzZXRzL2ZvbnRzL09wZW5TYW5zLUV4dHJhQm9sZC50dGYpO1xyXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbn1cclxuXHJcblxyXG5odG1sIHtcclxuICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG59XHJcblxyXG5ib2R5IHtcclxuICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgd2lkdGg6IDEwMHZ3O1xyXG4gIGhlaWdodDogMTAwdmg7XHJcblxyXG4gICYudGhlbWUtZGFyayB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMTMxOTIxIHVybChcImFzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC1kYXJrLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICB9XHJcblxyXG4gICYudGhlbWUtZ3JheSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMTAxNDE3IHVybChcImFzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC1ncmF5LnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICB9XHJcblxyXG4gICYudGhlbWUtd2hpdGUge1xyXG4gICAgYmFja2dyb3VuZDogI2VlZWVlZSB1cmwoXCJhc3NldHMvaW1hZ2VzL2JhY2tncm91bmQtd2hpdGUucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIH1cclxuXHJcbiAgYXBwLXJvb3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxufVxyXG4iXX0= */", '', '']] +module.exports = [[module.i, "/*\r\n* Implementation of themes\r\n*/\n.ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}\n.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}\n.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}\n.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #333}\n.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}\n.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}\n.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#007eff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 0 3px rgba(0,126,255,0.1)}\n.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}\n.ng-select .ng-has-value .ng-placeholder{display:none}\n.ng-select .ng-select-container{background-color:#fff;border-radius:4px;border:1px solid #ccc;min-height:36px;align-items:center}\n.ng-select .ng-select-container:hover{box-shadow:0 1px 0 rgba(0,0,0,0.06)}\n.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}\n[dir=\"rtl\"] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}\n.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}\n.ng-select.ng-select-single .ng-select-container{height:36px}\n.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}\n[dir=\"rtl\"] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}\n.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e6e6e6}\n.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:0.9em;margin-bottom:5px;background-color:#ebf5ff;border-radius:2px;margin-right:5px}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{display:inline-block;padding:1px 5px}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid #b8dbff;border-right:none}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid #b8dbff}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}\n.ng-select .ng-clear-wrapper{color:#999}\n.ng-select .ng-clear-wrapper:hover .ng-clear{color:#D0021B}\n.ng-select .ng-spinner-zone{padding:5px 5px 0 0}\n[dir=\"rtl\"] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}\n.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}\n[dir=\"rtl\"] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}\n.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}\n.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}\n.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px 0 rgba(0,0,0,0.06);left:0}\n.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}\n.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}\n.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}\n.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}\n.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}\n.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}\n.ng-dropdown-panel .ng-dropdown-panel-items{margin-bottom:1px}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:rgba(0,0,0,0.54);cursor:pointer}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{background-color:#ebf5ff;font-weight:600}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:rgba(0,0,0,0.87);padding:8px 10px}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#ebf5ff}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5faff;color:#333}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}\n[dir=\"rtl\"] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}\n[dir=\"rtl\"] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}\n[dir=\"rtl\"] .ng-dropdown-panel{direction:rtl;text-align:right}\nhtml {\n box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box; }\n*, *:before, *:after {\n box-sizing: inherit;\n -webkit-box-sizing: inherit;\n -moz-box-sizing: inherit;\n margin: 0;\n padding: 0;\n -webkit-touch-collout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\nhtml, body, div, span, applet, object, iframe,\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\na, abbr, acronym, address, big, cite, code,\ndel, dfn, em, img, ins, kbd, q, s, samp,\nsmall, strike, strong, sub, sup, tt, var,\nb, u, i, center,\ndl, dt, dd, ol, ul, li,\nfieldset, form, label, legend,\ntable, caption, tbody, tfoot, thead, tr, th, td,\narticle, aside, canvas, details, embed,\nfigure, figcaption, footer, header, hgroup,\nmenu, nav, output, ruby, section, summary,\ntime, mark, audio, video {\n border: 0;\n font-size: 100%;\n font: inherit;\n vertical-align: baseline; }\narticle, aside, details, figcaption, figure,\nfooter, header, hgroup, menu, nav, section {\n display: block; }\nbody {\n line-height: 1;\n font-style: normal; }\nol, ul {\n list-style: none; }\nblockquote, q {\n quotes: none; }\nblockquote:before, blockquote:after,\nq:before, q:after {\n content: none; }\ntable {\n border-collapse: collapse;\n border-spacing: 0; }\ntd,\nth {\n padding: 0; }\ninput {\n outline: none; }\ninput:-webkit-autofill {\n -webkit-box-shadow: 0 0 0 1000px white inset; }\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n outline: none; }\nbutton[disabled],\nhtml input[disabled] {\n cursor: default; }\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0; }\ninput {\n line-height: normal; }\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box; }\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none; }\na {\n text-decoration: none; }\na:active, a:hover, a:focus {\n outline: 0; }\ni {\n font-style: italic; }\nb, strong {\n font-weight: 700; }\nimg {\n width: auto;\n max-width: 100%;\n height: auto;\n vertical-align: top;\n border: 0; }\n.hidden {\n display: none !important; }\n.theme-dark .app-content .preloader .loading-bar {\n background-color: #5cda9d; }\n.theme-gray .app-content .preloader .loading-bar {\n background-color: #47cf8d; }\n.theme-white .app-content .preloader .loading-bar {\n background-color: #46c172; }\nbutton {\n border: none;\n font-family: OpenSans, sans-serif;\n font-size: 1.5rem;\n font-weight: 600;\n outline: none;\n padding: 0 1rem;\n height: 4.2rem; }\n.theme-dark button:disabled:not(.transparent-button) {\n background-color: #9cadb7;\n color: #111921; }\n.theme-gray button:disabled:not(.transparent-button) {\n background-color: #79848f;\n color: #1a1a1a; }\n.theme-white button:disabled:not(.transparent-button) {\n background-color: #90a4ae;\n color: #fefefe; }\n.theme-dark button:disabled:not(.transparent-button):hover {\n background-color: #b7d1e0; }\n.theme-gray button:disabled:not(.transparent-button):hover {\n background-color: #a1aebb; }\n.theme-white button:disabled:not(.transparent-button):hover {\n background-color: #aebec6; }\n.theme-dark button:disabled:not(.transparent-button):focus {\n background-color: #a7b9c2; }\n.theme-gray button:disabled:not(.transparent-button):focus {\n background-color: #8a959f; }\n.theme-white button:disabled:not(.transparent-button):focus {\n background-color: #a7b9c2; }\n.theme-dark button.blue-button:not(:disabled).error-text {\n color: #fe5252; }\n.theme-gray button.blue-button:not(:disabled).error-text {\n color: #fe5252; }\n.theme-white button.blue-button:not(:disabled).error-text {\n color: #ff5252; }\n.theme-dark button.blue-button:not(:disabled) {\n background-color: #4db1ff;\n color: #111921; }\n.theme-gray button.blue-button:not(:disabled) {\n background-color: #42a5f5;\n color: #1a1a1a; }\n.theme-white button.blue-button:not(:disabled) {\n background-color: #2c95f1;\n color: #fefefe; }\n.theme-dark button.blue-button:not(:disabled):hover {\n background-color: #82d7ff; }\n.theme-gray button.blue-button:not(:disabled):hover {\n background-color: #86d6ff; }\n.theme-white button.blue-button:not(:disabled):hover {\n background-color: #5cb3ff; }\n.theme-dark button.blue-button:not(:disabled):focus {\n background-color: #59b5fd; }\n.theme-gray button.blue-button:not(:disabled):focus {\n background-color: #5fb6fc; }\n.theme-white button.blue-button:not(:disabled):focus {\n background-color: #379ffa; }\n.theme-dark button.green-button:not(:disabled) {\n background-color: #5cda9d;\n color: #111921; }\n.theme-gray button.green-button:not(:disabled) {\n background-color: #47cf8d;\n color: #1a1a1a; }\n.theme-white button.green-button:not(:disabled) {\n background-color: #46c172;\n color: #fefefe; }\n.theme-dark button.green-button:not(:disabled):hover {\n background-color: #8dfcc6; }\n.theme-gray button.green-button:not(:disabled):hover {\n background-color: #7bf6c6; }\n.theme-white button.green-button:not(:disabled):hover {\n background-color: #5ad586; }\n.theme-dark button.green-button:not(:disabled):focus {\n background-color: #62e0b2; }\n.theme-gray button.green-button:not(:disabled):focus {\n background-color: #5cdc9e; }\n.theme-white button.green-button:not(:disabled):focus {\n background-color: #53c77c; }\n.theme-dark button.turquoise-button:not(:disabled) {\n background-color: #4dd0e1;\n color: #111921; }\n.theme-gray button.turquoise-button:not(:disabled) {\n background-color: #3ec5d7;\n color: #1a1a1a; }\n.theme-white button.turquoise-button:not(:disabled) {\n background-color: #26b6c7;\n color: #fefefe; }\n.theme-dark button.turquoise-button:not(:disabled):hover {\n background-color: #87f4f5; }\n.theme-gray button.turquoise-button:not(:disabled):hover {\n background-color: #72edfe; }\n.theme-white button.turquoise-button:not(:disabled):hover {\n background-color: #52cbd9; }\n.theme-dark button.turquoise-button:not(:disabled):focus {\n background-color: #42d5e8; }\n.theme-gray button.turquoise-button:not(:disabled):focus {\n background-color: #50d0e1; }\n.theme-white button.turquoise-button:not(:disabled):focus {\n background-color: #31becf; }\nbutton.transparent-button {\n display: flex;\n align-items: center;\n justify-content: center; }\n.theme-dark button.transparent-button {\n background-color: transparent;\n border: 0.2rem solid #2b3644;\n color: #e0e0e0; }\n.theme-gray button.transparent-button {\n background-color: transparent;\n border: 0.2rem solid #2f3438;\n color: #e0e0e0; }\n.theme-white button.transparent-button {\n background-color: transparent;\n border: 0.2rem solid #ebebeb;\n color: #43454b; }\nbutton.transparent-button .icon {\n margin-right: 1rem;\n -webkit-mask: url('complete-testwallet.svg') no-repeat center;\n mask: url('complete-testwallet.svg') no-repeat center;\n width: 1.7rem;\n height: 1.7rem; }\n.theme-dark button.transparent-button .icon {\n background-color: #e0e0e0; }\n.theme-gray button.transparent-button .icon {\n background-color: #e0e0e0; }\n.theme-white button.transparent-button .icon {\n background-color: #43454b; }\n.input-block {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n margin-bottom: 0.4rem; }\n.input-block .wrap-label {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n min-height: 2.4rem; }\n.input-block label {\n font-size: 1.3rem;\n line-height: 2.4rem; }\n.theme-dark .input-block label {\n color: #556576; }\n.theme-gray .input-block label {\n color: #565c62; }\n.theme-white .input-block label {\n color: #a0a5ab; }\n.input-block input[type='text'], .input-block input[type='password'], .input-block select {\n border: none;\n font-size: 1.4rem;\n outline: none;\n padding: 0 1rem;\n width: 100%;\n height: 4.2rem; }\n.theme-dark .input-block input[type='text'], .theme-dark .input-block input[type='password'], .theme-dark .input-block select {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray .input-block input[type='text'], .theme-gray .input-block input[type='password'], .theme-gray .input-block select {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white .input-block input[type='text'], .theme-white .input-block input[type='password'], .theme-white .input-block select {\n background-color: #e6e6e6;\n color: #43454b; }\n.input-block.textarea {\n height: auto; }\n.input-block.textarea textarea {\n font-family: OpenSans, sans-serif;\n border: none;\n font-size: 1.4rem;\n outline: none;\n padding: 1rem;\n width: 100%;\n min-width: 100%;\n height: 100%;\n min-height: 7.5rem;\n max-height: 7.5rem;\n overflow: auto;\n resize: none; }\n.theme-dark .input-block.textarea textarea {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray .input-block.textarea textarea {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white .input-block.textarea textarea {\n background-color: #e6e6e6;\n color: #43454b; }\n.input-block .error-block {\n font-size: 1rem;\n line-height: 1.4rem;\n align-self: flex-end;\n text-align: right; }\n.theme-dark .input-block .error-block {\n color: #fe5252; }\n.theme-gray .input-block .error-block {\n color: #fe5252; }\n.theme-white .input-block .error-block {\n color: #ff5252; }\n.theme-dark .error-text {\n color: #fe5252; }\n.theme-gray .error-text {\n color: #fe5252; }\n.theme-white .error-text {\n color: #ff5252; }\ninput[type='radio'].style-radio + label {\n display: flex;\n align-items: center;\n cursor: pointer;\n font-weight: 400;\n padding-left: 2.4rem;\n -webkit-touch-collout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n.theme-dark input[type='radio'].style-radio + label {\n color: #556576; }\n.theme-gray input[type='radio'].style-radio + label {\n color: #565c62; }\n.theme-white input[type='radio'].style-radio + label {\n color: #a0a5ab; }\ninput[type='radio'].style-radio:not(checked) {\n position: absolute;\n opacity: 0; }\ninput[type='radio'].style-radio:not(checked) + label {\n position: relative; }\ninput[type='radio'].style-radio:not(checked) + label:before {\n content: '';\n position: absolute;\n top: 0.7rem;\n left: 0;\n background: transparent;\n border-radius: 50%;\n width: 1.4rem;\n height: 1.4rem; }\n.theme-dark input[type='radio'].style-radio:not(checked) + label:before {\n border: 0.1rem solid #4db1ff; }\n.theme-gray input[type='radio'].style-radio:not(checked) + label:before {\n border: 0.1rem solid #42a5f5; }\n.theme-white input[type='radio'].style-radio:not(checked) + label:before {\n border: 0.1rem solid #2c95f1; }\ninput[type='radio'].style-radio:not(checked) + label:after {\n content: '';\n position: absolute;\n top: 1rem;\n left: 0.3rem;\n border-radius: 50%;\n opacity: 0;\n width: 0.8rem;\n height: 0.8rem; }\n.theme-dark input[type='radio'].style-radio:not(checked) + label:after {\n background-color: #4db1ff; }\n.theme-gray input[type='radio'].style-radio:not(checked) + label:after {\n background-color: #42a5f5; }\n.theme-white input[type='radio'].style-radio:not(checked) + label:after {\n background-color: #2c95f1; }\ninput[type='radio'].style-radio:checked + label:after {\n opacity: 1; }\ninput[type='checkbox'].style-checkbox + label {\n display: flex;\n align-items: center;\n cursor: pointer;\n font-weight: 400;\n padding-left: 3.6rem;\n -webkit-touch-collout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n.theme-dark input[type='checkbox'].style-checkbox + label {\n color: #556576; }\n.theme-gray input[type='checkbox'].style-checkbox + label {\n color: #565c62; }\n.theme-white input[type='checkbox'].style-checkbox + label {\n color: #a0a5ab; }\ninput[type='checkbox'].style-checkbox:not(checked) {\n position: absolute;\n top: 50%;\n left: 1.6rem;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n visibility: hidden; }\ninput[type='checkbox'].style-checkbox:not(checked) + label {\n position: relative; }\ninput[type='checkbox'].style-checkbox:not(checked) + label:before {\n content: '';\n position: absolute;\n top: 50%;\n left: 1.6rem;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n background: transparent;\n width: 1.4rem;\n height: 1.4rem; }\n.theme-dark input[type='checkbox'].style-checkbox:not(checked) + label:before {\n border: 0.1rem solid #4db1ff; }\n.theme-gray input[type='checkbox'].style-checkbox:not(checked) + label:before {\n border: 0.1rem solid #42a5f5; }\n.theme-white input[type='checkbox'].style-checkbox:not(checked) + label:before {\n border: 0.1rem solid #2c95f1; }\ninput[type='checkbox'].style-checkbox:checked + label:before {\n background: url('complete-testwallet.svg'); }\n.theme-dark input[type='checkbox'].style-checkbox:checked + label:before {\n background-color: #4db1ff; }\n.theme-gray input[type='checkbox'].style-checkbox:checked + label:before {\n background-color: #42a5f5; }\n.theme-white input[type='checkbox'].style-checkbox:checked + label:before {\n background-color: #2c95f1; }\n.theme-dark .switch {\n background-color: #000000; }\n.theme-gray .switch {\n background-color: #000000; }\n.theme-white .switch {\n background-color: #e0e0e0; }\n.theme-dark .switch .circle.on {\n background-color: #4db1ff; }\n.theme-gray .switch .circle.on {\n background-color: #42a5f5; }\n.theme-white .switch .circle.on {\n background-color: #2c95f1; }\n.theme-dark .switch .circle.off {\n background-color: #556576; }\n.theme-gray .switch .circle.off {\n background-color: #565c62; }\n.theme-white .switch .circle.off {\n background-color: #a0a5ab; }\n.table-tooltip {\n font-size: 1.3rem;\n padding: 1rem 2rem;\n white-space: pre-wrap; }\n.theme-dark .table-tooltip {\n background: #42505f;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\n color: #e0e0e0; }\n.theme-gray .table-tooltip {\n background: #3e464c;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\n color: #e0e0e0; }\n.theme-white .table-tooltip {\n background: #ffffff;\n box-shadow: 0 0 1rem rgba(120, 120, 120, 0.5);\n color: #43454b; }\n.table-tooltip.ng-tooltip-top {\n margin-top: -1rem; }\n.table-tooltip.ng-tooltip-top:before {\n content: \"\";\n position: absolute;\n bottom: -2rem;\n left: calc(50% - 1rem);\n border-width: 1rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-top:before {\n border-color: #42505f transparent transparent transparent; }\n.theme-gray .table-tooltip.ng-tooltip-top:before {\n border-color: #3e464c transparent transparent transparent; }\n.theme-white .table-tooltip.ng-tooltip-top:before {\n border-color: #ffffff transparent transparent transparent; }\n.table-tooltip.ng-tooltip-top-left {\n margin-top: -1rem; }\n.table-tooltip.ng-tooltip-top-left:before {\n content: \"\";\n position: absolute;\n bottom: -1rem;\n left: 0.7rem;\n border-width: 1rem 1rem 0 0;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-top-left:before {\n border-color: #42505f transparent transparent transparent; }\n.theme-gray .table-tooltip.ng-tooltip-top-left:before {\n border-color: #3e464c transparent transparent transparent; }\n.theme-white .table-tooltip.ng-tooltip-top-left:before {\n border-color: #ffffff transparent transparent transparent; }\n.table-tooltip.ng-tooltip-top-right {\n margin-top: -1rem; }\n.table-tooltip.ng-tooltip-top-right:before {\n content: \"\";\n position: absolute;\n bottom: -1rem;\n right: 0.7rem;\n border-width: 0.5rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-top-right:before {\n border-color: #42505f #42505f transparent transparent; }\n.theme-gray .table-tooltip.ng-tooltip-top-right:before {\n border-color: #3e464c #3e464c transparent transparent; }\n.theme-white .table-tooltip.ng-tooltip-top-right:before {\n border-color: #ffffff #ffffff transparent transparent; }\n.table-tooltip.ng-tooltip-bottom {\n margin-top: 1rem; }\n.table-tooltip.ng-tooltip-bottom:before {\n content: \"\";\n position: absolute;\n top: -2rem;\n left: calc(50% - 1rem);\n border-width: 1rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-bottom:before {\n border-color: transparent transparent #42505f transparent; }\n.theme-gray .table-tooltip.ng-tooltip-bottom:before {\n border-color: transparent transparent #3e464c transparent; }\n.theme-white .table-tooltip.ng-tooltip-bottom:before {\n border-color: transparent transparent #ffffff transparent; }\n.table-tooltip.ng-tooltip-bottom-left {\n margin-top: 1rem; }\n.table-tooltip.ng-tooltip-bottom-left:before {\n content: \"\";\n position: absolute;\n top: -1rem;\n left: 0.7rem;\n border-width: 0.5rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-bottom-left:before {\n border-color: transparent transparent #42505f #42505f; }\n.theme-gray .table-tooltip.ng-tooltip-bottom-left:before {\n border-color: transparent transparent #3e464c #3e464c; }\n.theme-white .table-tooltip.ng-tooltip-bottom-left:before {\n border-color: transparent transparent #ffffff #ffffff; }\n.table-tooltip.ng-tooltip-bottom-right {\n margin-top: 1rem; }\n.table-tooltip.ng-tooltip-bottom-right:before {\n content: \"\";\n position: absolute;\n top: -1rem;\n right: 0.7rem;\n border-width: 0.5rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-bottom-right:before {\n border-color: transparent #42505f #42505f transparent; }\n.theme-gray .table-tooltip.ng-tooltip-bottom-right:before {\n border-color: transparent #3e464c #3e464c transparent; }\n.theme-white .table-tooltip.ng-tooltip-bottom-right:before {\n border-color: transparent #ffffff #ffffff transparent; }\n.table-tooltip.ng-tooltip-left {\n margin-left: -1rem; }\n.table-tooltip.ng-tooltip-left:before {\n content: \"\";\n position: absolute;\n top: 0;\n right: -1rem;\n border-width: 1rem 1rem 0 0;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-left:before {\n border-color: #42505f transparent transparent transparent; }\n.theme-gray .table-tooltip.ng-tooltip-left:before {\n border-color: #3e464c transparent transparent transparent; }\n.theme-white .table-tooltip.ng-tooltip-left:before {\n border-color: #ffffff transparent transparent transparent; }\n.table-tooltip.ng-tooltip-right {\n margin-left: 1rem; }\n.table-tooltip.ng-tooltip-right:before {\n content: \"\";\n position: absolute;\n top: 0;\n left: -1rem;\n border-width: 1rem 0 0 1rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-right:before {\n border-color: #42505f transparent transparent transparent; }\n.theme-gray .table-tooltip.ng-tooltip-right:before {\n border-color: #3e464c transparent transparent transparent; }\n.theme-white .table-tooltip.ng-tooltip-right:before {\n border-color: #ffffff transparent transparent transparent; }\n.balance-tooltip {\n display: flex;\n flex-direction: column;\n font-size: 1.3rem;\n padding: 1.3rem; }\n.theme-dark .balance-tooltip {\n background: #42505f;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\n color: #e0e0e0; }\n.theme-gray .balance-tooltip {\n background: #3e464c;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\n color: #e0e0e0; }\n.theme-white .balance-tooltip {\n background: #ffffff;\n box-shadow: 0 0 1rem rgba(120, 120, 120, 0.5);\n color: #43454b; }\n.balance-tooltip.ng-tooltip-top {\n margin-top: -1rem; }\n.balance-tooltip.ng-tooltip-bottom {\n margin-top: 1rem; }\n.balance-tooltip.ng-tooltip-left {\n margin-left: -1rem; }\n.balance-tooltip.ng-tooltip-right {\n margin-left: 1rem; }\n.balance-tooltip .available {\n margin-bottom: 1.7rem; }\n.balance-tooltip .available b {\n font-weight: 600; }\n.balance-tooltip .locked {\n margin-bottom: 0.7rem; }\n.balance-tooltip .locked b {\n font-weight: 600; }\n.balance-tooltip .link {\n cursor: pointer; }\n.theme-dark .balance-tooltip .link {\n color: #4db1ff; }\n.theme-gray .balance-tooltip .link {\n color: #42a5f5; }\n.theme-white .balance-tooltip .link {\n color: #2c95f1; }\n.account-tooltip {\n word-break: break-word;\n max-width: 18rem; }\n.ngx-contextmenu .dropdown-menu {\n border: none;\n padding: 0; }\n.theme-dark .ngx-contextmenu .dropdown-menu {\n background-color: #2b3644;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5); }\n.theme-gray .ngx-contextmenu .dropdown-menu {\n background-color: #292d31;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5); }\n.theme-white .ngx-contextmenu .dropdown-menu {\n background-color: #e0e0e0;\n box-shadow: 0 0 1rem rgba(120, 120, 120, 0.5); }\n.ngx-contextmenu li {\n display: block;\n font-family: OpenSans, sans-serif;\n font-size: 1.3rem;\n text-transform: uppercase;\n text-align: center; }\n.ngx-contextmenu a {\n display: block;\n padding: 0.5em 1em; }\n.theme-dark .ngx-contextmenu a {\n color: #e0e0e0; }\n.theme-gray .ngx-contextmenu a {\n color: #e0e0e0; }\n.theme-white .ngx-contextmenu a {\n color: #43454b; }\n.theme-dark .ngx-contextmenu a:hover {\n background-color: #556576;\n color: #e0e0e0; }\n.theme-gray .ngx-contextmenu a:hover {\n background-color: #515960;\n color: #e0e0e0; }\n.theme-white .ngx-contextmenu a:hover {\n background-color: #ffffff;\n color: #43454b; }\n.ng-select.lock-selection-select {\n width: 100%; }\n.ng-select.lock-selection-select .ng-select-container {\n border: none;\n border-radius: 0;\n cursor: pointer;\n font-size: 1.4rem;\n outline: none;\n padding: 0 1rem;\n height: 4.2rem; }\n.theme-dark .ng-select.lock-selection-select .ng-select-container {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray .ng-select.lock-selection-select .ng-select-container {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white .ng-select.lock-selection-select .ng-select-container {\n background-color: #e6e6e6;\n color: #43454b; }\n.ng-select.lock-selection-select .ng-select-container .ng-value-container {\n padding: 0; }\n.ng-select.lock-selection-select .ng-dropdown-panel {\n border: none; }\n.theme-dark .ng-select.lock-selection-select .ng-dropdown-panel {\n background-color: #171e27; }\n.theme-gray .ng-select.lock-selection-select .ng-dropdown-panel {\n background-color: #292d31; }\n.theme-white .ng-select.lock-selection-select .ng-dropdown-panel {\n background-color: #e6e6e6; }\n.ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\n font-size: 1.4rem;\n padding: 1rem; }\n.theme-dark .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\n background-color: #e6e6e6;\n color: #43454b; }\n.theme-dark .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked {\n background-color: rgba(58, 69, 85, 0.5);\n color: #e0e0e0; }\n.theme-gray .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked {\n background-color: rgba(58, 62, 66, 0.5);\n color: #e0e0e0; }\n.theme-white .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked {\n background-color: rgba(240, 240, 240, 0.5);\n color: #43454b; }\n.theme-dark .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected {\n background-color: rgba(43, 54, 68, 0.5);\n color: #e0e0e0; }\n.theme-gray .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected {\n background-color: rgba(37, 40, 43, 0.5);\n color: #e0e0e0; }\n.theme-white .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected {\n background-color: rgba(224, 224, 224, 0.5);\n color: #43454b; }\n.theme-dark app-modal-container .modal {\n background: url('background-dark.png');\n color: #e0e0e0; }\n.theme-gray app-modal-container .modal {\n background: url('background-gray.png');\n color: #e0e0e0; }\n.theme-white app-modal-container .modal {\n background: url('background-white.png');\n color: #43454b; }\n.theme-dark app-modal-container .modal .content .icon.error {\n background-color: #fe5252; }\n.theme-gray app-modal-container .modal .content .icon.error {\n background-color: #fe5252; }\n.theme-white app-modal-container .modal .content .icon.error {\n background-color: #ff5252; }\n.theme-dark app-modal-container .modal .content .icon.success {\n background-color: #5cda9d; }\n.theme-gray app-modal-container .modal .content .icon.success {\n background-color: #47cf8d; }\n.theme-white app-modal-container .modal .content .icon.success {\n background-color: #46c172; }\n.theme-dark app-modal-container .modal .content .icon.info {\n background-color: #4db1ff; }\n.theme-gray app-modal-container .modal .content .icon.info {\n background-color: #42a5f5; }\n.theme-white app-modal-container .modal .content .icon.info {\n background-color: #2c95f1; }\n.theme-dark app-modal-container .modal .action-button {\n background-color: #4db1ff;\n color: #111921; }\n.theme-gray app-modal-container .modal .action-button {\n background-color: #42a5f5;\n color: #1a1a1a; }\n.theme-white app-modal-container .modal .action-button {\n background-color: #2c95f1;\n color: #fefefe; }\n.theme-dark app-modal-container .modal .close-button .icon {\n background-color: #556576; }\n.theme-gray app-modal-container .modal .close-button .icon {\n background-color: #515960; }\n.theme-white app-modal-container .modal .close-button .icon {\n background-color: #43454b; }\n.theme-dark app-transaction-details .table {\n border-top: 0.2rem solid #2b3644; }\n.theme-gray app-transaction-details .table {\n border-top: 0.2rem solid #2f3438; }\n.theme-white app-transaction-details .table {\n border-top: 0.2rem solid #ebebeb; }\n.theme-dark app-transaction-details .table .row .cell.label {\n color: #556576; }\n.theme-gray app-transaction-details .table .row .cell.label {\n color: #565c62; }\n.theme-white app-transaction-details .table .row .cell.label {\n color: #a0a5ab; }\n.theme-dark app-transaction-details .table .row .cell.value {\n color: #e0e0e0; }\n.theme-gray app-transaction-details .table .row .cell.value {\n color: #e0e0e0; }\n.theme-white app-transaction-details .table .row .cell.value {\n color: #43454b; }\n.theme-dark app-transaction-details .table .row .cell.key-value {\n color: #4db1ff; }\n.theme-gray app-transaction-details .table .row .cell.key-value {\n color: #42a5f5; }\n.theme-white app-transaction-details .table .row .cell.key-value {\n color: #2c95f1; }\n.theme-dark app-progress-container .progress-bar-container {\n color: #e0e0e0; }\n.theme-gray app-progress-container .progress-bar-container {\n color: #e0e0e0; }\n.theme-white app-progress-container .progress-bar-container {\n color: #43454b; }\n.theme-dark app-progress-container .progress-bar-container .progress-bar {\n background-color: #343f4a; }\n.theme-gray app-progress-container .progress-bar-container .progress-bar {\n background-color: #363a3e; }\n.theme-white app-progress-container .progress-bar-container .progress-bar {\n background-color: #dcdcdc; }\n.theme-dark app-progress-container .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #5cda9d; }\n.theme-gray app-progress-container .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #47cf8d; }\n.theme-white app-progress-container .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #46c172; }\napp-main, app-create-wallet, app-open-wallet, app-restore-wallet, app-seed-phrase, app-wallet-details, app-assign-alias, app-edit-alias, app-transfer-alias, app-settings, app-login {\n flex: 1 1 auto;\n padding: 3rem;\n min-width: 85rem; }\napp-main .content, app-create-wallet .content, app-open-wallet .content, app-restore-wallet .content, app-seed-phrase .content, app-wallet-details .content, app-assign-alias .content, app-edit-alias .content, app-transfer-alias .content, app-settings .content, app-login .content {\n position: relative;\n padding: 3rem;\n min-height: 100%; }\n.theme-dark app-main .content, .theme-dark app-create-wallet .content, .theme-dark app-open-wallet .content, .theme-dark app-restore-wallet .content, .theme-dark app-seed-phrase .content, .theme-dark app-wallet-details .content, .theme-dark app-assign-alias .content, .theme-dark app-edit-alias .content, .theme-dark app-transfer-alias .content, .theme-dark app-settings .content, .theme-dark app-login .content {\n background-color: rgba(43, 54, 68, 0.5);\n color: #e0e0e0; }\n.theme-gray app-main .content, .theme-gray app-create-wallet .content, .theme-gray app-open-wallet .content, .theme-gray app-restore-wallet .content, .theme-gray app-seed-phrase .content, .theme-gray app-wallet-details .content, .theme-gray app-assign-alias .content, .theme-gray app-edit-alias .content, .theme-gray app-transfer-alias .content, .theme-gray app-settings .content, .theme-gray app-login .content {\n background-color: rgba(37, 40, 43, 0.5);\n color: #e0e0e0; }\n.theme-white app-main .content, .theme-white app-create-wallet .content, .theme-white app-open-wallet .content, .theme-white app-restore-wallet .content, .theme-white app-seed-phrase .content, .theme-white app-wallet-details .content, .theme-white app-assign-alias .content, .theme-white app-edit-alias .content, .theme-white app-transfer-alias .content, .theme-white app-settings .content, .theme-white app-login .content {\n background-color: rgba(255, 255, 255, 0.5);\n color: #43454b; }\napp-main .content .head, app-create-wallet .content .head, app-open-wallet .content .head, app-restore-wallet .content .head, app-seed-phrase .content .head, app-wallet-details .content .head, app-assign-alias .content .head, app-edit-alias .content .head, app-transfer-alias .content .head, app-settings .content .head, app-login .content .head {\n position: absolute;\n top: 0;\n left: 0; }\n.theme-dark app-main .content .add-wallet .add-wallet-help {\n color: #4db1ff; }\n.theme-gray app-main .content .add-wallet .add-wallet-help {\n color: #42a5f5; }\n.theme-white app-main .content .add-wallet .add-wallet-help {\n color: #2c95f1; }\n.theme-dark app-main .content .add-wallet .add-wallet-help .icon {\n background-color: #4db1ff; }\n.theme-gray app-main .content .add-wallet .add-wallet-help .icon {\n background-color: #42a5f5; }\n.theme-white app-main .content .add-wallet .add-wallet-help .icon {\n background-color: #2c95f1; }\n.theme-dark app-seed-phrase .seed-phrase-content {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray app-seed-phrase .seed-phrase-content {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white app-seed-phrase .seed-phrase-content {\n background-color: #e6e6e6;\n color: #43454b; }\n.theme-dark app-wallet-details .seed-phrase {\n background-color: #171e27; }\n.theme-gray app-wallet-details .seed-phrase {\n background-color: #292d31; }\n.theme-white app-wallet-details .seed-phrase {\n background-color: #e6e6e6; }\napp-settings .content {\n height: 100%;\n overflow-y: auto;\n display: flex;\n justify-content: space-between;\n flex-direction: column; }\n.theme-dark app-settings .content .theme-selection {\n color: #556576; }\n.theme-gray app-settings .content .theme-selection {\n color: #565c62; }\n.theme-white app-settings .content .theme-selection {\n color: #a0a5ab; }\n.theme-dark app-settings .content .scale-selection .button-block {\n background-color: rgba(23, 31, 39, 0.5); }\n.theme-gray app-settings .content .scale-selection .button-block {\n background-color: rgba(28, 30, 33, 0.5); }\n.theme-white app-settings .content .scale-selection .button-block {\n background-color: rgba(224, 224, 224, 0.5); }\n.theme-dark app-settings .content .scale-selection .button-block .label {\n color: #556576; }\n.theme-gray app-settings .content .scale-selection .button-block .label {\n color: #565c62; }\n.theme-white app-settings .content .scale-selection .button-block .label {\n color: #a0a5ab; }\n.theme-dark app-settings .content .scale-selection .button-block.active {\n background-color: #4db1ff; }\n.theme-gray app-settings .content .scale-selection .button-block.active {\n background-color: #42a5f5; }\n.theme-white app-settings .content .scale-selection .button-block.active {\n background-color: #2c95f1; }\n.theme-dark app-settings .content .scale-selection .button-block.active .label {\n color: #4db1ff; }\n.theme-gray app-settings .content .scale-selection .button-block.active .label {\n color: #42a5f5; }\n.theme-white app-settings .content .scale-selection .button-block.active .label {\n color: #2c95f1; }\napp-login {\n min-width: inherit; }\n.theme-dark app-sidebar {\n background-color: rgba(23, 31, 39, 0.5); }\n.theme-gray app-sidebar {\n background-color: rgba(28, 30, 33, 0.5); }\n.theme-white app-sidebar {\n background-color: rgba(255, 255, 255, 0.5); }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-header h3 {\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-header h3 {\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-header h3 {\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-header button {\n color: #4db1ff; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-header button {\n color: #42a5f5; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-header button {\n color: #2c95f1; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account {\n background-color: transparent;\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account {\n background-color: transparent;\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account {\n background-color: transparent;\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .text {\n color: #556576; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .text {\n color: #565c62; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .text {\n color: #a0a5ab; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .icon {\n background-color: #4db1ff; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .icon {\n background-color: #42a5f5; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .icon {\n background-color: #2c95f1; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .indicator {\n background-color: #4db1ff;\n color: #111921; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .indicator {\n background-color: #42a5f5;\n color: #1a1a1a; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .indicator {\n background-color: #2c95f1;\n color: #fefefe; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar {\n background-color: #343f4a; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar {\n background-color: #363a3e; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar {\n background-color: #dcdcdc; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar .fill {\n background-color: #5cda9d; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar .fill {\n background-color: #47cf8d; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar .fill {\n background-color: #46c172; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization {\n color: #556576; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization {\n color: #565c62; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization {\n color: #a0a5ab; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active {\n background-color: rgba(43, 54, 68, 0.5);\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active {\n background-color: rgba(37, 40, 43, 0.5);\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active {\n background-color: #1e88e5;\n color: #ffffff; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .text {\n color: #556576; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .text {\n color: #565c62; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .text {\n color: #91baf1; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .indicator {\n background-color: #4db1ff;\n color: #111921; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .indicator {\n background-color: #42a5f5;\n color: #1a1a1a; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .indicator {\n background-color: #ffffff;\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .switch {\n background-color: #000000;\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .switch {\n background-color: #000000;\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .switch {\n background-color: #ffffff;\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row.account-synchronization {\n color: #556576; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row.account-synchronization {\n color: #565c62; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row.account-synchronization {\n color: #91baf1; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account:hover:not(.active) {\n background-color: rgba(58, 69, 85, 0.5); }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account:hover:not(.active) {\n background-color: rgba(58, 62, 66, 0.5); }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account:hover:not(.active) {\n background-color: rgba(240, 240, 240, 0.5); }\n.theme-dark app-sidebar .sidebar-settings {\n border-bottom: 0.2rem solid #1f2833; }\n.theme-gray app-sidebar .sidebar-settings {\n border-bottom: 0.2rem solid #2e3337; }\n.theme-white app-sidebar .sidebar-settings {\n border-bottom: 0.2rem solid #ebebeb; }\n.theme-dark app-sidebar .sidebar-settings .wrap-button button {\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-settings .wrap-button button {\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-settings .wrap-button button {\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-settings .wrap-button button .icon {\n background-color: #4db1ff; }\n.theme-gray app-sidebar .sidebar-settings .wrap-button button .icon {\n background-color: #42a5f5; }\n.theme-white app-sidebar .sidebar-settings .wrap-button button .icon {\n background-color: #2c95f1; }\n.theme-dark app-sidebar .sidebar-settings .wrap-button.active button {\n background-color: rgba(43, 54, 68, 0.5) !important;\n color: #e0e0e0 !important; }\n.theme-gray app-sidebar .sidebar-settings .wrap-button.active button {\n background-color: rgba(37, 40, 43, 0.5) !important;\n color: #e0e0e0 !important; }\n.theme-white app-sidebar .sidebar-settings .wrap-button.active button {\n background-color: #1e88e5 !important;\n color: #ffffff !important; }\n.theme-dark app-sidebar .sidebar-settings .wrap-button.active button .icon {\n background-color: #4db1ff !important; }\n.theme-gray app-sidebar .sidebar-settings .wrap-button.active button .icon {\n background-color: #42a5f5 !important; }\n.theme-white app-sidebar .sidebar-settings .wrap-button.active button .icon {\n background-color: #ffffff !important; }\n.theme-dark app-sidebar .sidebar-synchronization-status {\n color: #556576; }\n.theme-gray app-sidebar .sidebar-synchronization-status {\n color: #565c62; }\n.theme-white app-sidebar .sidebar-synchronization-status {\n color: #a0a5ab; }\n.theme-dark app-sidebar .sidebar-synchronization-status .status-container .offline:before {\n background-color: #fe5252; }\n.theme-gray app-sidebar .sidebar-synchronization-status .status-container .offline:before {\n background-color: #ff5252; }\n.theme-white app-sidebar .sidebar-synchronization-status .status-container .offline:before {\n background-color: #ff5252; }\n.theme-dark app-sidebar .sidebar-synchronization-status .status-container .online:before {\n background-color: #5cda9d; }\n.theme-gray app-sidebar .sidebar-synchronization-status .status-container .online:before {\n background-color: #47cf8d; }\n.theme-white app-sidebar .sidebar-synchronization-status .status-container .online:before {\n background-color: #46c172; }\n.theme-dark app-sidebar .sidebar-synchronization-status .status-container .testnet {\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-synchronization-status .status-container .testnet {\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-synchronization-status .status-container .testnet {\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar {\n background-color: #343f4a; }\n.theme-gray app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar {\n background-color: #363a3e; }\n.theme-white app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar {\n background-color: #dcdcdc; }\n.theme-dark app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar .fill {\n background-color: #5cda9d; }\n.theme-gray app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar .fill {\n background-color: #47cf8d; }\n.theme-white app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar .fill {\n background-color: #46c172; }\n.theme-dark app-sidebar .sidebar-synchronization-status .progress-bar-container .loading {\n background-color: #5cda9d; }\n.theme-gray app-sidebar .sidebar-synchronization-status .progress-bar-container .loading {\n background-color: #47cf8d; }\n.theme-white app-sidebar .sidebar-synchronization-status .progress-bar-container .loading {\n background-color: #46c172; }\n.theme-dark app-wallet {\n color: #e0e0e0; }\n.theme-gray app-wallet {\n color: #e0e0e0; }\n.theme-white app-wallet {\n color: #43454b; }\n.theme-dark app-wallet .header button {\n color: #e0e0e0; }\n.theme-gray app-wallet .header button {\n color: #e0e0e0; }\n.theme-white app-wallet .header button {\n color: #43454b; }\n.theme-dark app-wallet .header button .icon {\n background-color: #4db1ff; }\n.theme-gray app-wallet .header button .icon {\n background-color: #42a5f5; }\n.theme-white app-wallet .header button .icon {\n background-color: #2c95f1; }\n.theme-dark app-wallet .header .alias .icon {\n background-color: #4db1ff; }\n.theme-gray app-wallet .header .alias .icon {\n background-color: #42a5f5; }\n.theme-white app-wallet .header .alias .icon {\n background-color: #2c95f1; }\n.theme-dark app-wallet .address {\n color: #4db1ff; }\n.theme-gray app-wallet .address {\n color: #42a5f5; }\n.theme-white app-wallet .address {\n color: #2c95f1; }\n.theme-dark app-wallet .address .icon {\n background-color: #4db1ff; }\n.theme-gray app-wallet .address .icon {\n background-color: #42a5f5; }\n.theme-white app-wallet .address .icon {\n background-color: #2c95f1; }\n.theme-dark app-wallet .tabs .tabs-header .tab {\n background-color: rgba(23, 31, 39, 0.5); }\n.theme-gray app-wallet .tabs .tabs-header .tab {\n background-color: rgba(28, 30, 33, 0.5); }\n.theme-white app-wallet .tabs .tabs-header .tab {\n background-color: rgba(224, 224, 224, 0.5); }\n.theme-dark app-wallet .tabs .tabs-header .tab .icon {\n background-color: #4db1ff; }\n.theme-gray app-wallet .tabs .tabs-header .tab .icon {\n background-color: #42a5f5; }\n.theme-white app-wallet .tabs .tabs-header .tab .icon {\n background-color: #2c95f1; }\n.theme-dark app-wallet .tabs .tabs-header .tab .indicator {\n background-color: #4db1ff;\n color: #111921; }\n.theme-gray app-wallet .tabs .tabs-header .tab .indicator {\n background-color: #42a5f5;\n color: #1a1a1a; }\n.theme-white app-wallet .tabs .tabs-header .tab .indicator {\n background-color: #ffffff;\n color: #43454b; }\n.theme-dark app-wallet .tabs .tabs-header .tab.active {\n background-color: rgba(43, 54, 68, 0.5); }\n.theme-gray app-wallet .tabs .tabs-header .tab.active {\n background-color: rgba(37, 40, 43, 0.5); }\n.theme-white app-wallet .tabs .tabs-header .tab.active {\n background-color: rgba(255, 255, 255, 0.5); }\n.theme-dark app-wallet .tabs .tabs-header .tab:hover:not(.active) {\n background-color: rgba(58, 69, 85, 0.5); }\n.theme-gray app-wallet .tabs .tabs-header .tab:hover:not(.active) {\n background-color: rgba(58, 62, 66, 0.5); }\n.theme-white app-wallet .tabs .tabs-header .tab:hover:not(.active) {\n background-color: #ffffff; }\n.theme-dark app-wallet .tabs .tabs-content {\n background-color: rgba(43, 54, 68, 0.5); }\n.theme-gray app-wallet .tabs .tabs-content {\n background-color: rgba(37, 40, 43, 0.5); }\n.theme-white app-wallet .tabs .tabs-content {\n background-color: rgba(255, 255, 255, 0.5); }\n.theme-dark app-send .form-send .input-block-address .address-dropdown {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray app-send .form-send .input-block-address .address-dropdown {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white app-send .form-send .input-block-address .address-dropdown {\n background-color: #e6e6e6;\n color: #43454b; }\n.theme-dark app-send .form-send .input-block-address .address-dropdown div:hover {\n background-color: rgba(58, 69, 85, 0.5); }\n.theme-gray app-send .form-send .input-block-address .address-dropdown div:hover {\n background-color: rgba(58, 62, 66, 0.5); }\n.theme-white app-send .form-send .input-block-address .address-dropdown div:hover {\n background-color: rgba(240, 240, 240, 0.5); }\n.theme-dark app-send .form-send .send-select {\n color: #e0e0e0; }\n.theme-gray app-send .form-send .send-select {\n color: #e0e0e0; }\n.theme-white app-send .form-send .send-select {\n color: #43454b; }\n.theme-dark app-send .form-send .send-select .icon {\n background-color: #4db1ff; }\n.theme-gray app-send .form-send .send-select .icon {\n background-color: #42a5f5; }\n.theme-white app-send .form-send .send-select .icon {\n background-color: #2c95f1; }\n.theme-dark app-send .form-send .additional-details {\n border: 0.2rem solid #2b3644; }\n.theme-gray app-send .form-send .additional-details {\n border: 0.2rem solid #2f3438; }\n.theme-white app-send .form-send .additional-details {\n border: 0.2rem solid #ebebeb; }\n.theme-dark app-receive .btn-copy-address {\n background-color: #4db1ff; }\n.theme-gray app-receive .btn-copy-address {\n background-color: #42a5f5; }\n.theme-white app-receive .btn-copy-address {\n background-color: #2c95f1; }\n.theme-dark app-history table tbody tr:nth-child(4n+1) {\n background-color: #18202a; }\n.theme-gray app-history table tbody tr:nth-child(4n+1) {\n background-color: #25292d; }\n.theme-white app-history table tbody tr:nth-child(4n+1) {\n background-color: #ffffff; }\n.theme-dark app-history table tbody tr:nth-child(4n+2) {\n background-color: #18202a; }\n.theme-gray app-history table tbody tr:nth-child(4n+2) {\n background-color: #25292d; }\n.theme-white app-history table tbody tr:nth-child(4n+2) {\n background-color: #ffffff; }\n.theme-dark app-history table tbody tr:nth-child(4n+3) {\n background-color: transparent; }\n.theme-gray app-history table tbody tr:nth-child(4n+3) {\n background-color: transparent; }\n.theme-white app-history table tbody tr:nth-child(4n+3) {\n background-color: transparent; }\n.theme-dark app-history table tbody tr:nth-child(4n+4) {\n background-color: transparent; }\n.theme-gray app-history table tbody tr:nth-child(4n+4) {\n background-color: transparent; }\n.theme-white app-history table tbody tr:nth-child(4n+4) {\n background-color: transparent; }\n.theme-dark app-history table tbody tr .status .confirmation {\n background-color: #343f4a; }\n.theme-gray app-history table tbody tr .status .confirmation {\n background-color: #363a3e; }\n.theme-white app-history table tbody tr .status .confirmation {\n background-color: #dcdcdc; }\n.theme-dark app-history table tbody tr .status .confirmation .fill {\n background-color: #5cda9d; }\n.theme-gray app-history table tbody tr .status .confirmation .fill {\n background-color: #47cf8d; }\n.theme-white app-history table tbody tr .status .confirmation .fill {\n background-color: #46c172; }\napp-history table tbody tr .status.send .icon {\n background-color: #ff5252; }\napp-history table tbody tr .status.received .icon {\n background-color: #00c853; }\n.theme-dark app-contracts .wrap-table .contract .icon.new, .theme-dark app-contracts .wrap-table .contract .icon.alert {\n background-color: #fe5252; }\n.theme-gray app-contracts .wrap-table .contract .icon.new, .theme-gray app-contracts .wrap-table .contract .icon.alert {\n background-color: #fe5252; }\n.theme-white app-contracts .wrap-table .contract .icon.new, .theme-white app-contracts .wrap-table .contract .icon.alert {\n background-color: #ff5252; }\n.theme-dark app-contracts .wrap-table .contract .icon.purchase, .theme-dark app-contracts .wrap-table .contract .icon.sell {\n background-color: #4db1ff; }\n.theme-gray app-contracts .wrap-table .contract .icon.purchase, .theme-gray app-contracts .wrap-table .contract .icon.sell {\n background-color: #42a5f5; }\n.theme-white app-contracts .wrap-table .contract .icon.purchase, .theme-white app-contracts .wrap-table .contract .icon.sell {\n background-color: #2c95f1; }\n.theme-dark app-purchase .form-purchase .purchase-select {\n color: #e0e0e0; }\n.theme-gray app-purchase .form-purchase .purchase-select {\n color: #e0e0e0; }\n.theme-white app-purchase .form-purchase .purchase-select {\n color: #43454b; }\n.theme-dark app-purchase .form-purchase .purchase-select .icon {\n background-color: #4db1ff; }\n.theme-gray app-purchase .form-purchase .purchase-select .icon {\n background-color: #42a5f5; }\n.theme-white app-purchase .form-purchase .purchase-select .icon {\n background-color: #2c95f1; }\n.theme-dark app-purchase .form-purchase .purchase-states {\n color: #4db1ff; }\n.theme-gray app-purchase .form-purchase .purchase-states {\n color: #42a5f5; }\n.theme-white app-purchase .form-purchase .purchase-states {\n color: #2c95f1; }\n.theme-dark app-purchase .form-purchase .additional-details {\n border: 0.2rem solid #2b3644; }\n.theme-gray app-purchase .form-purchase .additional-details {\n border: 0.2rem solid #2f3438; }\n.theme-white app-purchase .form-purchase .additional-details {\n border: 0.2rem solid #ebebeb; }\n.theme-dark app-purchase .progress-bar-container .progress-bar {\n background-color: #343f4a; }\n.theme-gray app-purchase .progress-bar-container .progress-bar {\n background-color: #363a3e; }\n.theme-white app-purchase .progress-bar-container .progress-bar {\n background-color: #dcdcdc; }\n.theme-dark app-purchase .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #5cda9d; }\n.theme-gray app-purchase .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #47cf8d; }\n.theme-white app-purchase .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #46c172; }\napp-messages table tbody tr td:first-child span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; }\n.theme-dark app-messages table tbody tr td:first-child .icon {\n background-color: #fe5252; }\n.theme-gray app-messages table tbody tr td:first-child .icon {\n background-color: #fe5252; }\n.theme-white app-messages table tbody tr td:first-child .icon {\n background-color: #ff5252; }\n.theme-dark app-typing-message .head .interlocutor {\n color: #4db1ff; }\n.theme-gray app-typing-message .head .interlocutor {\n color: #42a5f5; }\n.theme-white app-typing-message .head .interlocutor {\n color: #2c95f1; }\n.theme-dark app-typing-message .messages-content .messages-list div.date {\n color: #556576; }\n.theme-gray app-typing-message .messages-content .messages-list div.date {\n color: #565c62; }\n.theme-white app-typing-message .messages-content .messages-list div.date {\n color: #a0a5ab; }\n.theme-dark app-typing-message .messages-content .messages-list div.my {\n background-color: #2a3544; }\n.theme-gray app-typing-message .messages-content .messages-list div.my {\n background-color: #30363c; }\n.theme-white app-typing-message .messages-content .messages-list div.my {\n background-color: #fff; }\napp-typing-message .messages-content .messages-list div.my:before {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n left: -1.1rem;\n border: 1.2rem solid transparent; }\n.theme-dark app-typing-message .messages-content .messages-list div.my:before {\n border-top-color: #2a3544; }\n.theme-gray app-typing-message .messages-content .messages-list div.my:before {\n border-top-color: #30363c; }\n.theme-white app-typing-message .messages-content .messages-list div.my:before {\n border-top-color: #fff; }\n.theme-dark app-typing-message .messages-content .messages-list div.buddy {\n background-color: #18202a; }\n.theme-gray app-typing-message .messages-content .messages-list div.buddy {\n background-color: #25292d; }\n.theme-white app-typing-message .messages-content .messages-list div.buddy {\n background-color: #ededed; }\napp-typing-message .messages-content .messages-list div.buddy:after {\n content: \"\";\n display: block;\n position: absolute;\n right: -1.1rem;\n top: 0;\n border: 1.2rem solid transparent; }\n.theme-dark app-typing-message .messages-content .messages-list div.buddy:after {\n border-top-color: #18202a; }\n.theme-gray app-typing-message .messages-content .messages-list div.buddy:after {\n border-top-color: #25292d; }\n.theme-white app-typing-message .messages-content .messages-list div.buddy:after {\n border-top-color: #ededed; }\n.theme-dark app-staking .chart-header .general .label {\n color: #556576; }\n.theme-gray app-staking .chart-header .general .label {\n color: #565c62; }\n.theme-white app-staking .chart-header .general .label {\n color: #a0a5ab; }\n.theme-dark app-staking .chart-header .general .options {\n color: #e0e0e0; }\n.theme-gray app-staking .chart-header .general .options {\n color: #e0e0e0; }\n.theme-white app-staking .chart-header .general .options {\n color: #43454b; }\napp-staking .chart-header .selected {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-grow: 1;\n font-size: 1.6rem; }\n.theme-dark app-staking .chart-options .title {\n color: #556576; }\n.theme-gray app-staking .chart-options .title {\n color: #565c62; }\n.theme-white app-staking .chart-options .title {\n color: #a0a5ab; }\n.theme-dark app-staking .chart-options .options button {\n color: #e0e0e0;\n background-color: #2b3644; }\n.theme-gray app-staking .chart-options .options button {\n color: #e0e0e0;\n background-color: #292d31; }\n.theme-white app-staking .chart-options .options button {\n color: #43454b;\n background-color: #e0e0e0; }\n.theme-dark app-staking .chart-options .options button.active {\n background-color: #556576; }\n.theme-gray app-staking .chart-options .options button.active {\n background-color: #515960; }\n.theme-white app-staking .chart-options .options button.active {\n background-color: #ffffff; }\n.head {\n display: flex;\n align-items: flex-end;\n justify-content: space-between;\n font-size: 1.3rem;\n padding: 0 3rem;\n width: 100%;\n height: 3rem; }\n.theme-dark .head {\n color: #4db1ff; }\n.theme-gray .head {\n color: #42a5f5; }\n.theme-white .head {\n color: #2c95f1; }\n.head .breadcrumbs > span:not(:last-child), .head .breadcrumbs a:not(:last-child) {\n position: relative;\n cursor: pointer;\n margin-right: 20px;\n outline-style: none; }\n.head .breadcrumbs > span:not(:last-child):after, .head .breadcrumbs a:not(:last-child):after {\n content: \"\";\n display: block;\n position: absolute;\n top: 0.5rem;\n right: -1.5rem;\n width: 0.9rem;\n height: 0.9rem;\n -webkit-mask: url('arrow-right.svg') no-repeat center;\n mask: url('arrow-right.svg') no-repeat center;\n -webkit-mask-size: cover;\n mask-size: cover; }\n.theme-dark .head .breadcrumbs > span:not(:last-child):after, .theme-dark .head .breadcrumbs a:not(:last-child):after {\n background-color: #4db1ff; }\n.theme-gray .head .breadcrumbs > span:not(:last-child):after, .theme-gray .head .breadcrumbs a:not(:last-child):after {\n background-color: #42a5f5; }\n.theme-white .head .breadcrumbs > span:not(:last-child):after, .theme-white .head .breadcrumbs a:not(:last-child):after {\n background-color: #2c95f1; }\n.head .back-btn {\n display: flex;\n align-items: center;\n background-color: transparent;\n color: #4db1ff;\n font-size: inherit;\n font-weight: 400;\n line-height: 1.3rem;\n padding: 0;\n height: auto; }\n.head .back-btn .icon {\n margin-right: 0.7rem;\n -webkit-mask: url('back.svg') no-repeat center;\n mask: url('back.svg') no-repeat center;\n width: 0.9rem;\n height: 0.9rem; }\n.theme-dark .head .back-btn .icon {\n background-color: #4db1ff; }\n.theme-gray .head .back-btn .icon {\n background-color: #42a5f5; }\n.theme-white .head .back-btn .icon {\n background-color: #2c95f1; }\n.scrolled-content::-webkit-scrollbar {\n background-color: transparent;\n cursor: default;\n width: 1rem;\n height: 1rem; }\n.scrolled-content::-webkit-scrollbar-track {\n background: transparent; }\n.scrolled-content::-webkit-scrollbar-thumb {\n background-color: #556576;\n background-clip: padding-box;\n border: 0.25rem solid transparent;\n border-radius: 0.5rem; }\n.scrolled-content::-webkit-scrollbar-thumb:hover {\n background-color: #556576; }\ntable {\n font-size: 1.3rem;\n width: 100%; }\ntable thead {\n text-align: left; }\n.theme-dark table thead {\n color: #556576; }\n.theme-gray table thead {\n color: #565c62; }\n.theme-white table thead {\n color: #a0a5ab; }\ntable thead tr {\n height: 4rem; }\ntable thead tr th {\n padding: 1rem;\n vertical-align: bottom; }\ntable thead tr th:first-child {\n padding-left: 3rem; }\ntable thead tr th:last-child {\n padding-right: 3rem; }\ntable tbody {\n text-align: left; }\n.theme-dark table tbody {\n color: #e0e0e0; }\n.theme-gray table tbody {\n color: #e0e0e0; }\n.theme-white table tbody {\n color: #43454b; }\ntable tbody tr {\n height: 3.5rem; }\n.theme-dark table tbody tr:nth-child(odd) {\n background-color: #18202a; }\n.theme-gray table tbody tr:nth-child(odd) {\n background-color: #25292d; }\n.theme-white table tbody tr:nth-child(odd) {\n background-color: #ffffff; }\ntable tbody tr td {\n line-height: 1.7rem;\n padding: 0 1rem;\n vertical-align: middle;\n white-space: nowrap;\n max-width: 20rem; }\ntable tbody tr td:first-child {\n padding-left: 3rem; }\ntable tbody tr td:last-child {\n padding-right: 3rem; }\n@font-face {\n font-family: OpenSans;\n src: url('OpenSans-Light.ttf');\n font-weight: 300; }\n@font-face {\n font-family: OpenSans;\n src: url('OpenSans-Regular.ttf');\n font-weight: 400; }\n@font-face {\n font-family: OpenSans;\n src: url('OpenSans-SemiBold.ttf');\n font-weight: 600; }\n@font-face {\n font-family: OpenSans;\n src: url('OpenSans-Bold.ttf');\n font-weight: 700; }\n@font-face {\n font-family: OpenSans;\n src: url('OpenSans-ExtraBold.ttf');\n font-weight: 800; }\nhtml {\n font-family: OpenSans, sans-serif;\n font-size: 10px; }\nbody {\n font-family: OpenSans, sans-serif;\n font-size: 1.6rem;\n width: 100vw;\n height: 100vh; }\nbody.theme-dark {\n background: #131921 url('background-dark.png') no-repeat center;\n background-size: cover; }\nbody.theme-gray {\n background: #101417 url('background-gray.png') no-repeat center;\n background-size: cover; }\nbody.theme-white {\n background: #eeeeee url('background-white.png') no-repeat center;\n background-size: cover; }\nbody app-root {\n display: flex;\n width: 100%;\n height: 100%; }\n\r\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9EOlxcUHJvamVjdHNcXFphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXNzZXRzXFxzY3NzXFxiYXNlXFxfbWl4aW5zLnNjc3MiLCJzcmMvc3R5bGVzLnNjc3MiLCJub2RlX21vZHVsZXMvQG5nLXNlbGVjdC9uZy1zZWxlY3QvdGhlbWVzL2RlZmF1bHQudGhlbWUuY3NzIiwic3JjL0Q6XFxQcm9qZWN0c1xcWmFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXGJhc2VcXF9udWxsLnNjc3MiLCJzcmMvRDpcXFByb2plY3RzXFxaYW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFzc2V0c1xcc2Nzc1xcYmFzZVxcX2Jhc2Uuc2NzcyIsInNyYy9EOlxcUHJvamVjdHNcXFphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXNzZXRzXFxzY3NzXFxiYXNlXFxfdGhlbWUuc2NzcyIsInNyYy9EOlxcUHJvamVjdHNcXFphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXNzZXRzXFxzY3NzXFxsYXlvdXRcXF9tYWluLnNjc3MiLCJzcmMvRDpcXFByb2plY3RzXFxaYW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFzc2V0c1xcc2Nzc1xcbGF5b3V0XFxfc2lkZWJhci5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0c1xcWmFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXGxheW91dFxcX3dhbGxldC5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0c1xcWmFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXG1vZHVsZXNcXF9oZWFkLnNjc3MiLCJzcmMvRDpcXFByb2plY3RzXFxaYW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFzc2V0c1xcc2Nzc1xcbW9kdWxlc1xcX3Njcm9sbC5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0c1xcWmFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXG1vZHVsZXNcXF90YWJsZS5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0c1xcWmFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxzdHlsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4RUE7O0NDNUVDO0FDRkQsaURBQWlELGVBQWUsQ0FBQyxpQ0FBaUM7QUFBQyx1REFBdUQsZUFBZTtBQUFDLDJEQUEyRCxRQUFRLENBQUMseUNBQXlDLENBQUMsc0JBQXNCO0FBQUMsaUVBQWlFLHlDQUF5QztBQUFDLGtFQUFrRSw0QkFBNEIsQ0FBQywyQkFBMkI7QUFBQywrREFBK0QseUJBQXlCLENBQUMsd0JBQXdCO0FBQUMseUVBQXlFLG9CQUFvQixDQUFDLDBFQUEwRTtBQUFDLG1EQUFtRCx3QkFBd0I7QUFBQyx5Q0FBeUMsWUFBWTtBQUFDLGdDQUFnQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsa0JBQWtCO0FBQUMsc0NBQXNDLG1DQUFtQztBQUFDLG9EQUFvRCxrQkFBa0IsQ0FBQyxpQkFBaUI7QUFBQyxnRUFBZ0Usa0JBQWtCLENBQUMsY0FBYztBQUFDLG9FQUFvRSxVQUFVO0FBQUMsaURBQWlELFdBQVc7QUFBQywrRUFBK0UsT0FBTyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0I7QUFBQywyRkFBMkYsa0JBQWtCLENBQUMsaUJBQWlCO0FBQUMsb0dBQW9HLHdCQUF3QixDQUFDLHdCQUF3QjtBQUFDLG9IQUFvSCxhQUFhO0FBQUMsdUVBQXVFLGVBQWUsQ0FBQyxnQkFBZ0I7QUFBQyxtRkFBbUYsaUJBQWlCLENBQUMsY0FBYztBQUFDLGlG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Y0NnQmlCLEVBQUE7QUxtQnJCO0lJbkNJLGNDbUVpQixFQUFBO0FMaENyQjtJSTlCRSx5QkN2Q2dDO0lEd0NoQyxjQzdDMkIsRUFBQTtBTDBFN0I7SUk5QkUseUJDWWdDO0lEWGhDLGNDTTJCLEVBQUE7QUx1QjdCO0lJOUJFLHlCQytEZ0M7SUQ5RGhDLGNDeUQyQixFQUFBO0FMNUI3QjtJSXZCSSx5QkM3Q3lCLEVBQUE7QUxvRTdCO0lJdkJJLHlCQ015QixFQUFBO0FMaUI3QjtJSXZCSSx5QkN5RHlCLEVBQUE7QUxsQzdCO0lJaEJJLHlCQ25EeUIsRUFBQTtBTG1FN0I7SUloQkkseUJDQXlCLEVBQUE7QUxnQjdCO0lJaEJJLHlCQ21EeUIsRUFBQTtBTG5DN0I7SUlSRSx5QkN2RGlDO0lEd0RqQyxjQ25FMkIsRUFBQTtBTDBFN0I7SUlSRSx5QkNKaUM7SURLakMsY0NoQjJCLEVBQUE7QUx1QjdCO0lJUkUseUJDK0NpQztJRDlDakMsY0NtQzJCLEVBQUE7QUw1QjdCO0lJREkseUJDN0QwQixFQUFBO0FMOEQ5QjtJSURJLHlCQ1YwQixFQUFBO0FMVzlCO0lJREkseUJDeUMwQixFQUFBO0FMeEM5QjtJSU1JLHlCQ25FMEIsRUFBQTtBTDZEOUI7SUlNSSx5QkNoQjBCLEVBQUE7QUxVOUI7SUlNSSx5QkNtQzBCLEVBQUE7QUx6QzlCO0lJY0UseUJDMUVxQztJRDJFckMsY0N6RjJCLEVBQUE7QUwwRTdCO0lJY0UseUJDdkJxQztJRHdCckMsY0N0QzJCLEVBQUE7QUx1QjdCO0lJY0UseUJDNEJxQztJRDNCckMsY0NhMkIsRUFBQTtBTDVCN0I7SUlxQkkseUJDaEY4QixFQUFBO0FMMkRsQztJSXFCSSx5QkM3QjhCLEVBQUE7QUxRbEM7SUlxQkkseUJDc0I4QixFQUFBO0FMM0NsQztJSTRCSSx5QkN0RjhCLEVBQUE7QUwwRGxDO0lJNEJJLHlCQ25DOEIsRUFBQTtBTE9sQztJSTRCSSx5QkNnQjhCLEVBQUE7QURsSHRDO0lBd0dJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCLEVBQUE7QUpwQ3ZCO01JdUNFLDZCQUE2QjtNQUM3Qiw0QkNqR21DO01Ea0duQyxjQ3BIb0IsRUFBQTtBTDJFdEI7TUl1Q0UsNkJBQTZCO01BQzdCLDRCQzlDbUM7TUQrQ25DLGNDakVvQixFQUFBO0FMd0J0QjtNSXVDRSw2QkFBNkI7TUFDN0IsNEJDS21DO01ESm5DLGNDZG9CLEVBQUE7QURqRzFCO01Bd0hNLGtCQUFrQjtNQUNsQiw2REFBcUU7Y0FBckUscURBQXFFO01BQ3JFLGFBQWE7TUFDYixjQUFjLEVBQUE7QUpyRGhCO1FJK0NJLHlCQzFIa0IsRUFBQTtBTDJFdEI7UUkrQ0kseUJDdkVrQixFQUFBO0FMd0J0QjtRSStDSSx5QkNwQmtCLEVBQUE7QURnQzFCO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIscUJBQXFCLEVBQUE7QUFKdkI7SUFPSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDJCQUEyQjtJQUMzQixrQkFBa0IsRUFBQTtBQVZ0QjtJQWNJLGlCQUFpQjtJQUNqQixtQkFBbUIsRUFBQTtBSjFFbkI7TUk2RUUsY0N0SndCLEVBQUE7QUx5RTFCO01JNkVFLGNDbkd3QixFQUFBO0FMc0IxQjtNSTZFRSxjQ2hEd0IsRUFBQTtBRDhCOUI7SUF1QkksWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsZUFBZTtJQUNmLFdBQVc7SUFDWCxjQUFjLEVBQUE7QUp2RmQ7TUkwRkUseUJDbEoyQjtNRG1KM0IsY0N0S29CLEVBQUE7QUwyRXRCO01JMEZFLHlCQy9GMkI7TURnRzNCLGNDbkhvQixFQUFBO0FMd0J0QjtNSTBGRSx5QkM1QzJCO01ENkMzQixjQ2hFb0IsRUFBQTtBRGdDMUI7SUFxQ0ksWUFBWSxFQUFBO0FBckNoQjtNQXdDTSxpQ0FBaUM7TUFDakMsWUFBWTtNQUNaLGlCQUFpQjtNQUNqQixhQUFhO01BQ2IsYUFBYTtNQUNiLFdBQVc7TUFDWCxlQUFlO01BQ2YsWUFBWTtNQUNaLGtCQUFrQjtNQUNsQixrQkFBa0I7TUFDbEIsY0FBYztNQUNkLFlBQVksRUFBQTtBSjlHZDtRSWlISSx5QkN6S3lCO1FEMEt6QixjQzdMa0IsRUFBQTtBTDJFdEI7UUlpSEkseUJDdEh5QjtRRHVIekIsY0MxSWtCLEVBQUE7QUx3QnRCO1FJaUhJLHlCQ25FeUI7UURvRXpCLGNDdkZrQixFQUFBO0FEZ0MxQjtJQTZESSxlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixpQkFBaUIsRUFBQTtBSjNIakI7TUk4SEUsY0NwTW1CLEVBQUE7QUxzRXJCO01JOEhFLGNDakptQixFQUFBO0FMbUJyQjtNSThIRSxjQzlGbUIsRUFBQTtBTGhDckI7RUlxSUEsY0MzTXFCLEVBQUE7QUxzRXJCO0VJcUlBLGNDeEpxQixFQUFBO0FMbUJyQjtFSXFJQSxjQ3JHcUIsRUFBQTtBRHlHekI7RUFHSSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsb0JBQW9CO0VKeEx2QiwyQkFBMkI7RUFDMUIseUJBQXlCO0VBRXpCLHNCQUFzQjtFQUN0QixxQkFBcUI7RUFDckIsaUJBQWlCLEVBQUE7QUFtQ2Y7SUltSkUsY0M1TndCLEVBQUE7QUx5RTFCO0lJbUpFLGNDekt3QixFQUFBO0FMc0IxQjtJSW1KRSxjQ3RId0IsRUFBQTtBRDRHOUI7RUFpQkksa0JBQWtCO0VBQ2xCLFVBQVUsRUFBQTtBQWxCZDtJQXFCTSxrQkFBa0IsRUFBQTtBQXJCeEI7SUF5Qk0sV0FBVztJQUNYLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsT0FBTztJQUNQLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLGNBQWMsRUFBQTtBSnpLaEI7TUk0S0ksNEJDcFBrQixFQUFBO0FMd0V0QjtNSTRLSSw0QkNqTWtCLEVBQUE7QUxxQnRCO01JNEtJLDRCQzlJa0IsRUFBQTtBRDJHMUI7SUF3Q00sV0FBVztJQUNYLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsYUFBYTtJQUNiLGNBQWMsRUFBQTtBSnhMaEI7TUkyTEkseUJDblFrQixFQUFBO0FMd0V0QjtNSTJMSSx5QkNoTmtCLEVBQUE7QUxxQnRCO01JMkxJLHlCQzdKa0IsRUFBQTtBRDJHMUI7RUEwRE0sVUFBVSxFQUFBO0FBS2hCO0VBR0ksYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFSnZQdkIsMkJBQTJCO0VBQzFCLHlCQUF5QjtFQUV6QixzQkFBc0I7RUFDdEIscUJBQXFCO0VBQ3JCLGlCQUFpQixFQUFBO0FBbUNmO0lJa05FLGNDM1J3QixFQUFBO0FMeUUxQjtJSWtORSxjQ3hPd0IsRUFBQTtBTHNCMUI7SUlrTkUsY0NyTHdCLEVBQUE7QUQySzlCO0VBaUJJLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsWUFBWTtFQUNaLG1DQUEyQjtVQUEzQiwyQkFBMkI7RUFDM0Isa0JBQWtCLEVBQUE7QUFyQnRCO0lBd0JNLGtCQUFrQixFQUFBO0FBeEJ4QjtJQTRCTSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixZQUFZO0lBQ1osbUNBQTJCO1lBQTNCLDJCQUEyQjtJQUMzQix1QkFBdUI7SUFDdkIsYUFBYTtJQUNiLGNBQWMsRUFBQTtBSjNPaEI7TUk4T0ksNEJDdFRrQixFQUFBO0FMd0V0QjtNSThPSSw0QkNuUWtCLEVBQUE7QUxxQnRCO01JOE9JLDRCQ2hOa0IsRUFBQTtBRDBLMUI7RUE4Q00sMENBQTBELEVBQUE7QUp0UDVEO0lJeVBJLHlCQ2pVa0IsRUFBQTtBTHdFdEI7SUl5UEkseUJDOVFrQixFQUFBO0FMcUJ0QjtJSXlQSSx5QkMzTmtCLEVBQUE7QUw5QnRCO0VJa1FBLHlCQ3ZUOEIsRUFBQTtBTHFEOUI7RUlrUUEseUJDcFE4QixFQUFBO0FMRTlCO0VJa1FBLHlCQ2pOOEIsRUFBQTtBTGpEOUI7RUkwUUkseUJDbFZrQixFQUFBO0FMd0V0QjtFSTBRSSx5QkMvUmtCLEVBQUE7QUxxQnRCO0VJMFFJLHlCQzVPa0IsRUFBQTtBTDlCdEI7RUlpUkkseUJDMVZzQixFQUFBO0FMeUUxQjtFSWlSSSx5QkN2U3NCLEVBQUE7QUxzQjFCO0VJaVJJLHlCQ3BQc0IsRUFBQTtBRDBQOUI7RUFDRSxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLHFCQUFxQixFQUFBO0FKMVJuQjtJSTZSQSxtQkNqVStCO0lEa1UvQix1Q0NqVTBDO0lEa1UxQyxjQzFXc0IsRUFBQTtBTDJFdEI7SUk2UkEsbUJDOVErQjtJRCtRL0IsdUNDOVEwQztJRCtRMUMsY0N2VHNCLEVBQUE7QUx3QnRCO0lJNlJBLG1CQzNOK0I7SUQ0Ti9CLDZDQzNOZ0Q7SUQ0TmhELGNDcFFzQixFQUFBO0FENFAxQjtJQVlJLGlCQUFpQixFQUFBO0FBWnJCO01BZU0sV0FBVztNQUNYLGtCQUFrQjtNQUNsQixhQUFhO01BQ2Isc0JBQXNCO01BQ3RCLGtCQUFrQjtNQUNsQixtQkFBbUIsRUFBQTtBSjNTckI7UUk4U0kseURBQWdGLEVBQUE7QUo5U3BGO1FJOFNJLHlEQUFnRixFQUFBO0FKOVNwRjtRSThTSSx5REFBZ0YsRUFBQTtBQXZCeEY7SUE2QkksaUJBQWlCLEVBQUE7QUE3QnJCO01BZ0NNLFdBQVc7TUFDWCxrQkFBa0I7TUFDbEIsYUFBYTtNQUNiLFlBQVk7TUFDWiwyQkFBMkI7TUFDM0IsbUJBQW1CLEVBQUE7QUo1VHJCO1FJK1RJLHlEQUFnRixFQUFBO0FKL1RwRjtRSStUSSx5REFBZ0YsRUFBQTtBSi9UcEY7UUkrVEkseURBQWdGLEVBQUE7QUF4Q3hGO0lBOENJLGlCQUFpQixFQUFBO0FBOUNyQjtNQWlETSxXQUFXO01BQ1gsa0JBQWtCO01BQ2xCLGFBQWE7TUFDYixhQUFhO01BQ2Isb0JBQW9CO01BQ3BCLG1CQUFtQixFQUFBO0FKN1VyQjtRSWdWSSxxREFBbUcsRUFBQTtBSmhWdkc7UUlnVkkscURBQW1HLEVBQUE7QUpoVnZHO1FJZ1ZJLHFEQUFtRyxFQUFBO0FBekQzRztJQStESSxnQkFBZ0IsRUFBQTtBQS9EcEI7TUFrRU0sV0FBVztNQUNYLGtCQUFrQjtNQUNsQixVQUFVO01BQ1Ysc0JBQXNCO01BQ3RCLGtCQUFrQjtNQUNsQixtQkFBbUIsRUFBQTtBSjlWckI7UUlpV0kseURBQWdGLEVBQUE7QUpqV3BGO1FJaVdJLHlEQUFnRixFQUFBO0FKaldwRjtRSWlXSSx5REFBZ0YsRUFBQTtBQTFFeEY7SUFnRkksZ0JBQWdCLEVBQUE7QUFoRnBCO01BbUZNLFdBQVc7TUFDWCxrQkFBa0I7TUFDbEIsVUFBVTtNQUNWLFlBQVk7TUFDWixvQkFBb0I7TUFDcEIsbUJBQW1CLEVBQUE7QUovV3JCO1FJa1hJLHFEQ3RaMkIsRUFBQTtBTG9DL0I7UUlrWEkscURDblcyQixFQUFBO0FMZi9CO1FJa1hJLHFEQ2hUMkIsRUFBQTtBRHFObkM7SUFpR0ksZ0JBQWdCLEVBQUE7QUFqR3BCO01Bb0dNLFdBQVc7TUFDWCxrQkFBa0I7TUFDbEIsVUFBVTtNQUNWLGFBQWE7TUFDYixvQkFBb0I7TUFDcEIsbUJBQW1CLEVBQUE7QUpoWXJCO1FJbVlJLHFEQUFtRyxFQUFBO0FKbll2RztRSW1ZSSxxREFBbUcsRUFBQTtBSm5Zdkc7UUltWUkscURBQW1HLEVBQUE7QUE1RzNHO0lBa0hJLGtCQUFrQixFQUFBO0FBbEh0QjtNQXFITSxXQUFXO01BQ1gsa0JBQWtCO01BQ2xCLE1BQU07TUFDTixZQUFZO01BQ1osMkJBQTJCO01BQzNCLG1CQUFtQixFQUFBO0FKalpyQjtRSW9aSSx5REFBZ0YsRUFBQTtBSnBacEY7UUlvWkkseURBQWdGLEVBQUE7QUpwWnBGO1FJb1pJLHlEQUFnRixFQUFBO0FBN0h4RjtJQW1JSSxpQkFBaUIsRUFBQTtBQW5JckI7TUFzSU0sV0FBVztNQUNYLGtCQUFrQjtNQUNsQixNQUFNO01BQ04sV0FBVztNQUNYLDJCQUEyQjtNQUMzQixtQkFBbUIsRUFBQTtBSmxhckI7UUlxYUkseURBQWdGLEVBQUE7QUpyYXBGO1FJcWFJLHlEQUFnRixFQUFBO0FKcmFwRjtRSXFhSSx5REFBZ0YsRUFBQTtBQU14RjtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsaUJBQWlCO0VBQ2pCLGVBQWUsRUFBQTtBSi9hYjtJSWtiQSxtQkN0ZCtCO0lEdWQvQix1Q0N0ZDBDO0lEdWQxQyxjQy9mc0IsRUFBQTtBTDJFdEI7SUlrYkEsbUJDbmErQjtJRG9hL0IsdUNDbmEwQztJRG9hMUMsY0M1Y3NCLEVBQUE7QUx3QnRCO0lJa2JBLG1CQ2hYK0I7SURpWC9CLDZDQ2hYZ0Q7SURpWGhELGNDelpzQixFQUFBO0FEZ1oxQjtJQWFJLGlCQUFpQixFQUFBO0FBYnJCO0lBaUJJLGdCQUFnQixFQUFBO0FBakJwQjtJQXFCSSxrQkFBa0IsRUFBQTtBQXJCdEI7SUF5QkksaUJBQWlCLEVBQUE7QUF6QnJCO0lBNkJJLHFCQUFxQixFQUFBO0FBN0J6QjtNQWdDTSxnQkFBZ0IsRUFBQTtBQWhDdEI7SUFxQ0kscUJBQXFCLEVBQUE7QUFyQ3pCO01Bd0NNLGdCQUFnQixFQUFBO0FBeEN0QjtJQTZDSSxlQUFlLEVBQUE7QUp4ZGY7TUkyZEUsY0NuaUJvQixFQUFBO0FMd0V0QjtNSTJkRSxjQ2hmb0IsRUFBQTtBTHFCdEI7TUkyZEUsY0M3Ym9CLEVBQUE7QURrYzFCO0VBQ0Usc0JBQXNCO0VBQ3RCLGdCQUFnQixFQUFBO0FBR2xCO0VBR0ksWUFBWTtFQUNaLFVBQVUsRUFBQTtBSnplVjtJSTRlRSx5QkNsaEJrQztJRG1oQmxDLHVDQ2hoQndDLEVBQUE7QUxtQzFDO0lJNGVFLHlCQy9ka0M7SURnZWxDLHVDQzdkd0MsRUFBQTtBTGhCMUM7SUk0ZUUseUJDNWFrQztJRDZhbEMsNkNDMWE4QyxFQUFBO0FEa2FwRDtFQWFJLGNBQWM7RUFDZCxpQ0FBaUM7RUFDakMsaUJBQWlCO0VBQ2pCLHlCQUF5QjtFQUN6QixrQkFBa0IsRUFBQTtBQWpCdEI7RUFxQkksY0FBYztFQUNkLGtCQUFrQixFQUFBO0FKM2ZsQjtJSThmRSxjQ3prQm9CLEVBQUE7QUwyRXRCO0lJOGZFLGNDdGhCb0IsRUFBQTtBTHdCdEI7SUk4ZkUsY0NuZW9CLEVBQUE7QUwzQnRCO0lJb2dCSSx5QkN6aUIyQjtJRDBpQjNCLGNDaGxCa0IsRUFBQTtBTDJFdEI7SUlvZ0JJLHlCQ3RmMkI7SUR1ZjNCLGNDN2hCa0IsRUFBQTtBTHdCdEI7SUlvZ0JJLHlCQ25jMkI7SURvYzNCLGNDMWVrQixFQUFBO0FEZ2YxQjtFQUdJLFdBQVcsRUFBQTtBQUhmO0lBTU0sWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGFBQWE7SUFDYixlQUFlO0lBQ2YsY0FBYyxFQUFBO0FKdmhCaEI7TUkwaEJJLHlCQ2xsQnlCO01EbWxCekIsY0N0bUJrQixFQUFBO0FMMkV0QjtNSTBoQkkseUJDL2hCeUI7TURnaUJ6QixjQ25qQmtCLEVBQUE7QUx3QnRCO01JMGhCSSx5QkM1ZXlCO01ENmV6QixjQ2hnQmtCLEVBQUE7QURnZjFCO01Bb0JRLFVBQVUsRUFBQTtBQXBCbEI7SUF5Qk0sWUFBWSxFQUFBO0FKcGlCZDtNSXVpQkkseUJDL2xCeUIsRUFBQTtBTHdEN0I7TUl1aUJJLHlCQzVpQnlCLEVBQUE7QUxLN0I7TUl1aUJJLHlCQ3pmeUIsRUFBQTtBRDZkakM7TUFrQ1UsaUJBQWlCO01BQ2pCLGFBQWEsRUFBQTtBSjlpQm5CO1FJaWpCUSx5QkN6bUJxQjtRRDBtQnJCLGNDN25CYyxFQUFBO0FMMkV0QjtRSWlqQlEseUJDdGpCcUI7UUR1akJyQixjQzFrQmMsRUFBQTtBTHdCdEI7UUlpakJRLHlCQ25nQnFCO1FEb2dCckIsY0N2aEJjLEVBQUE7QUwzQnRCO1FJd2pCVSx1Q0MvbUI2QjtRRGduQjdCLGNDcG9CWSxFQUFBO0FMMkV0QjtRSXdqQlUsdUNDNWpCNkI7UUQ2akI3QixjQ2psQlksRUFBQTtBTHdCdEI7UUl3akJVLDBDQ3pnQmdDO1FEMGdCaEMsY0M5aEJZLEVBQUE7QUwzQnRCO1FJZ2tCVSx1Q0N0bkJnQztRRHVuQmhDLGNDNW9CWSxFQUFBO0FMMkV0QjtRSWdrQlUsdUNDbmtCZ0M7UURva0JoQyxjQ3psQlksRUFBQTtBTHdCdEI7UUlna0JVLDBDQ2hoQm1DO1FEaWhCbkMsY0N0aUJZLEVBQUE7QUwzQnRCO0VJK2tCRSxzQ0NqbkIwRDtFRGtuQjFELGNDM3BCb0IsRUFBQTtBTDJFdEI7RUkra0JFLHNDQzlqQjBEO0VEK2pCMUQsY0N4bUJvQixFQUFBO0FMd0J0QjtFSStrQkUsdUNDM2dCMkQ7RUQ0Z0IzRCxjQ3JqQm9CLEVBQUE7QUwzQnRCO0VJd2xCTSx5QkM5cEJlLEVBQUE7QUxzRXJCO0VJd2xCTSx5QkMzbUJlLEVBQUE7QUxtQnJCO0VJd2xCTSx5QkN4akJlLEVBQUE7QUxoQ3JCO0VJK2xCTSx5QkN0cUJpQixFQUFBO0FMdUV2QjtFSStsQk0seUJDbm5CaUIsRUFBQTtBTG9CdkI7RUkrbEJNLHlCQ2hrQmlCLEVBQUE7QUwvQnZCO0VJc21CTSx5QkM5cUJnQixFQUFBO0FMd0V0QjtFSXNtQk0seUJDM25CZ0IsRUFBQTtBTHFCdEI7RUlzbUJNLHlCQ3hrQmdCLEVBQUE7QUw5QnRCO0VJOG1CSSx5QkN0ckJrQjtFRHVyQmxCLGNDenJCeUIsRUFBQTtBTDBFN0I7RUk4bUJJLHlCQ25vQmtCO0VEb29CbEIsY0N0b0J5QixFQUFBO0FMdUI3QjtFSThtQkkseUJDaGxCa0I7RURpbEJsQixjQ25sQnlCLEVBQUE7QUw1QjdCO0VJd25CTSx5QkN6cEJtQixFQUFBO0FMaUN6QjtFSXduQk0seUJDdG1CbUIsRUFBQTtBTGxCekI7RUl3bkJNLHlCQ25qQm1CLEVBQUE7QUxyRXpCO0VJb29CRSxnQ0M3ckJtQyxFQUFBO0FMeURyQztFSW9vQkUsZ0NDMW9CbUMsRUFBQTtBTE1yQztFSW9vQkUsZ0NDdmxCbUMsRUFBQTtBTDdDckM7RUk4b0JRLGNDdnRCa0IsRUFBQTtBTHlFMUI7RUk4b0JRLGNDcHFCa0IsRUFBQTtBTHNCMUI7RUk4b0JRLGNDam5Ca0IsRUFBQTtBTDdCMUI7RUlxcEJRLGNDaHVCYyxFQUFBO0FMMkV0QjtFSXFwQlEsY0M3cUJjLEVBQUE7QUx3QnRCO0VJcXBCUSxjQzFuQmMsRUFBQTtBTDNCdEI7RUk0cEJRLGNDcHVCYyxFQUFBO0FMd0V0QjtFSTRwQlEsY0NqckJjLEVBQUE7QUxxQnRCO0VJNHBCUSxjQzluQmMsRUFBQTtBTDlCdEI7RUl5cUJFLGNDcHZCb0IsRUFBQTtBTDJFdEI7RUl5cUJFLGNDanNCb0IsRUFBQTtBTHdCdEI7RUl5cUJFLGNDOW9Cb0IsRUFBQTtBTDNCdEI7RUkrcUJJLHlCQ3Z0QitCLEVBQUE7QUx3Q25DO0VJK3FCSSx5QkNwcUIrQixFQUFBO0FMWG5DO0VJK3FCSSx5QkNqbkIrQixFQUFBO0FMOURuQztFSXFyQk0seUJDNXRCaUMsRUFBQTtBTHVDdkM7RUlxckJNLHlCQ3pxQmlDLEVBQUE7QUxadkM7RUlxckJNLHlCQ3RuQmlDLEVBQUE7QUNsSjNDO0VBQ0UsY0FBYztFQUNkLGFBQWE7RUFDYixnQkFBZ0IsRUFBQTtBQUhsQjtJQU1JLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsZ0JBQWdCLEVBQUE7QU4yRWhCO01NeEVFLHVDREoyQztNQ0szQyxjREpvQixFQUFBO0FMMkV0QjtNTXhFRSx1Q0QrQzJDO01DOUMzQyxjRCtDb0IsRUFBQTtBTHdCdEI7TU14RUUsMENEa0c4QztNQ2pHOUMsY0RrR29CLEVBQUE7QUM5RzFCO01BZ0JNLGtCQUFrQjtNQUNsQixNQUFNO01BQ04sT0FBTyxFQUFBO0FOaUVUO0VNbkRNLGNEckJnQixFQUFBO0FMd0V0QjtFTW5ETSxjRDhCZ0IsRUFBQTtBTHFCdEI7RU1uRE0sY0RpRmdCLEVBQUE7QUw5QnRCO0VNN0NRLHlCRDNCYyxFQUFBO0FMd0V0QjtFTTdDUSx5QkR3QmMsRUFBQTtBTHFCdEI7RU03Q1EseUJEMkVjLEVBQUE7QUw5QnRCO0VNaENFLHlCRHhCMkI7RUN5QjNCLGNENUNvQixFQUFBO0FMMkV0QjtFTWhDRSx5QkQyQjJCO0VDMUIzQixjRE9vQixFQUFBO0FMd0J0QjtFTWhDRSx5QkQ4RTJCO0VDN0UzQixjRDBEb0IsRUFBQTtBTDNCdEI7RU1yQkUseUJEbkMyQixFQUFBO0FMd0Q3QjtFTXJCRSx5QkRnQjJCLEVBQUE7QUxLN0I7RU1yQkUseUJEbUUyQixFQUFBO0FDOURqQztFQUdJLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsYUFBYTtFQUNiLDhCQUE4QjtFQUM5QixzQkFBc0IsRUFBQTtBTlN0QjtJTUpJLGNEckVzQixFQUFBO0FMeUUxQjtJTUpJLGNEbEJzQixFQUFBO0FMc0IxQjtJTUpJLGNEaUNzQixFQUFBO0FMN0IxQjtJTUtNLHVDRGxEMkMsRUFBQTtBTDZDakQ7SU1LTSx1Q0RDMkMsRUFBQTtBTE5qRDtJTUtNLDBDRG9EOEMsRUFBQTtBTHpEcEQ7SU1XUSxjRHBGa0IsRUFBQTtBTHlFMUI7SU1XUSxjRGpDa0IsRUFBQTtBTHNCMUI7SU1XUSxjRGtCa0IsRUFBQTtBTDdCMUI7SU1rQlEseUJEMUZjLEVBQUE7QUx3RXRCO0lNa0JRLHlCRHZDYyxFQUFBO0FMcUJ0QjtJTWtCUSx5QkRZYyxFQUFBO0FMOUJ0QjtJTXdCVSxjRGhHWSxFQUFBO0FMd0V0QjtJTXdCVSxjRDdDWSxFQUFBO0FMcUJ0QjtJTXdCVSxjRE1ZLEVBQUE7QUNHMUI7RUFDRSxrQkFBa0IsRUFBQTtBTmxDaEI7RU9oRkEsdUNGQTZDLEVBQUE7QUxnRjdDO0VPaEZBLHVDRm1ENkMsRUFBQTtBTDZCN0M7RU9oRkEsMENGc0dnRCxFQUFBO0FMdEJoRDtFT3RFTSxjRkxnQixFQUFBO0FMMkV0QjtFT3RFTSxjRjhDZ0IsRUFBQTtBTHdCdEI7RU90RU0sY0ZpR2dCLEVBQUE7QUwzQnRCO0VPL0RNLGNGVGdCLEVBQUE7QUx3RXRCO0VPL0RNLGNGMENnQixFQUFBO0FMcUJ0QjtFTy9ETSxjRjZGZ0IsRUFBQTtBTDlCdEI7RU9yRE0sNkJBQTZCO0VBQzdCLGNGdkJnQixFQUFBO0FMMkV0QjtFT3JETSw2QkFBNkI7RUFDN0IsY0Y0QmdCLEVBQUE7QUx3QnRCO0VPckRNLDZCQUE2QjtFQUM3QixjRitFZ0IsRUFBQTtBTDNCdEI7RU81Q1UsY0Y3QmdCLEVBQUE7QUx5RTFCO0VPNUNVLGNGc0JnQixFQUFBO0FMc0IxQjtFTzVDVSxjRnlFZ0IsRUFBQTtBTDdCMUI7RU9yQ1UseUJGbkNZLEVBQUE7QUx3RXRCO0VPckNVLHlCRmdCWSxFQUFBO0FMcUJ0QjtFT3JDVSx5QkZtRVksRUFBQTtBTDlCdEI7RU85QlUseUJGdkN3QjtFRXdDeEIsY0Y3Q21CLEVBQUE7QUwwRTdCO0VPOUJVLHlCRll3QjtFRVh4QixjRk1tQixFQUFBO0FMdUI3QjtFTzlCVSx5QkYrRHdCO0VFOUR4QixjRnlEbUIsRUFBQTtBTDVCN0I7RU9wQlkseUJGcEJ1QixFQUFBO0FMd0NuQztFT3BCWSx5QkYrQnVCLEVBQUE7QUxYbkM7RU9wQlkseUJGa0Z1QixFQUFBO0FMOURuQztFT2RjLHlCRnpCeUIsRUFBQTtBTHVDdkM7RU9kYyx5QkYwQnlCLEVBQUE7QUxadkM7RU9kYyx5QkY2RXlCLEVBQUE7QUwvRHZDO0VPTFUsY0ZwRWdCLEVBQUE7QUx5RTFCO0VPTFUsY0ZqQmdCLEVBQUE7QUxzQjFCO0VPTFUsY0ZrQ2dCLEVBQUE7QUw3QjFCO0VPR1EsdUNGdkRxQztFRXdEckMsY0Z0RHFCLEVBQUE7QUxrRDdCO0VPR1EsdUNGSnFDO0VFS3JDLGNGSHFCLEVBQUE7QUxEN0I7RU9HUSx5QkYrQ3FDO0VFOUNyQyxjRmdEcUIsRUFBQTtBTHBEN0I7RU9ZWSxjRjdEcUIsRUFBQTtBTGlEakM7RU9ZWSxjRlZxQixFQUFBO0FMRmpDO0VPWVksY0Z5Q3FCLEVBQUE7QUxyRGpDO0VPbUJZLHlCRmpFNEI7RUVrRTVCLGNGcEVzQixFQUFBO0FMZ0RsQztFT21CWSx5QkZkNEI7RUVlNUIsY0ZqQnNCLEVBQUE7QUxIbEM7RU9tQlkseUJGcUM0QjtFRXBDNUIsY0ZrQ3NCLEVBQUE7QUx0RGxDO0VPMkJZLHlCRjFFeUI7RUUyRXpCLGNGdkdVLEVBQUE7QUwyRXRCO0VPMkJZLHlCRnZCeUI7RUV3QnpCLGNGcERVLEVBQUE7QUx3QnRCO0VPMkJZLHlCRjRCeUI7RUUzQnpCLGNGRFUsRUFBQTtBTDNCdEI7RU9tQ1ksY0ZwRnFCLEVBQUE7QUxpRGpDO0VPbUNZLGNGakNxQixFQUFBO0FMRmpDO0VPbUNZLGNGa0JxQixFQUFBO0FMckRqQztFTzRDUSx1Q0YvRjBDLEVBQUE7QUxtRGxEO0VPNENRLHVDRjVDMEMsRUFBQTtBTEFsRDtFTzRDUSwwQ0ZPNkMsRUFBQTtBTG5EckQ7RU9zREUsbUNGckl5QixFQUFBO0FMK0UzQjtFT3NERSxtQ0ZsRnlCLEVBQUE7QUw0QjNCO0VPc0RFLG1DRi9CeUIsRUFBQTtBTHZCM0I7RU84RE0sY0Z6SWdCLEVBQUE7QUwyRXRCO0VPOERNLGNGdEZnQixFQUFBO0FMd0J0QjtFTzhETSxjRm5DZ0IsRUFBQTtBTDNCdEI7RU9vRVEseUJGNUljLEVBQUE7QUx3RXRCO0VPb0VRLHlCRnpGYyxFQUFBO0FMcUJ0QjtFT29FUSx5QkZ0Q2MsRUFBQTtBTDlCdEI7RU84RVEsa0RBQTBEO0VBQzFELHlCQUE2QyxFQUFBO0FQL0VyRDtFTzhFUSxrREFBMEQ7RUFDMUQseUJBQTZDLEVBQUE7QVAvRXJEO0VPOEVRLG9DQUEwRDtFQUMxRCx5QkFBNkMsRUFBQTtBUC9FckQ7RU9xRlUsb0NBQW1FLEVBQUE7QVByRjdFO0VPcUZVLG9DQUFtRSxFQUFBO0FQckY3RTtFT3FGVSxvQ0FBbUUsRUFBQTtBUHJGN0U7RU9nR0UsY0Z6S3dCLEVBQUE7QUx5RTFCO0VPZ0dFLGNGdEh3QixFQUFBO0FMc0IxQjtFT2dHRSxjRm5Fd0IsRUFBQTtBTDdCMUI7RU93R00seUJGckxlLEVBQUE7QUw2RXJCO0VPd0dNLHlCRmxJZSxFQUFBO0FMMEJyQjtFT3dHTSx5QkYvRWUsRUFBQTtBTHpCckI7RU8rR00seUJGN0xjLEVBQUE7QUw4RXBCO0VPK0dNLHlCRjFJYyxFQUFBO0FMMkJwQjtFTytHTSx5QkZ2RmMsRUFBQTtBTHhCcEI7RU9zSE0sY0ZqTWdCLEVBQUE7QUwyRXRCO0VPc0hNLGNGOUlnQixFQUFBO0FMd0J0QjtFT3NITSxjRjNGZ0IsRUFBQTtBTDNCdEI7RU9rSVEseUJGMUsyQixFQUFBO0FMd0NuQztFT2tJUSx5QkZ2SDJCLEVBQUE7QUxYbkM7RU9rSVEseUJGcEUyQixFQUFBO0FMOURuQztFT3dJVSx5QkYvSzZCLEVBQUE7QUx1Q3ZDO0VPd0lVLHlCRjVINkIsRUFBQTtBTFp2QztFT3dJVSx5QkZ6RTZCLEVBQUE7QUwvRHZDO0VPaUpNLHlCRnhMaUMsRUFBQTtBTHVDdkM7RU9pSk0seUJGcklpQyxFQUFBO0FMWnZDO0VPaUpNLHlCRmxGaUMsRUFBQTtBTC9EdkM7RVFoRkEsY0hLc0IsRUFBQTtBTDJFdEI7RVFoRkEsY0h3RHNCLEVBQUE7QUx3QnRCO0VRaEZBLGNIMkdzQixFQUFBO0FMM0J0QjtFUXhFSSxjSEhrQixFQUFBO0FMMkV0QjtFUXhFSSxjSGdEa0IsRUFBQTtBTHdCdEI7RVF4RUksY0htR2tCLEVBQUE7QUwzQnRCO0VRbEVNLHlCSE5nQixFQUFBO0FMd0V0QjtFUWxFTSx5Qkg2Q2dCLEVBQUE7QUxxQnRCO0VRbEVNLHlCSGdHZ0IsRUFBQTtBTDlCdEI7RVF4RE0seUJIaEJnQixFQUFBO0FMd0V0QjtFUXhETSx5QkhtQ2dCLEVBQUE7QUxxQnRCO0VReERNLHlCSHNGZ0IsRUFBQTtBTDlCdEI7RVEvQ0UsY0h6Qm9CLEVBQUE7QUx3RXRCO0VRL0NFLGNIMEJvQixFQUFBO0FMcUJ0QjtFUS9DRSxjSDZFb0IsRUFBQTtBTDlCdEI7RVF6Q0kseUJIL0JrQixFQUFBO0FMd0V0QjtFUXpDSSx5QkhvQmtCLEVBQUE7QUxxQnRCO0VRekNJLHlCSHVFa0IsRUFBQTtBTDlCdEI7RVE3Qk0sdUNIaEIyQyxFQUFBO0FMNkNqRDtFUTdCTSx1Q0htQzJDLEVBQUE7QUxOakQ7RVE3Qk0sMENIc0Y4QyxFQUFBO0FMekRwRDtFUXZCUSx5QkhqRGMsRUFBQTtBTHdFdEI7RVF2QlEseUJIRWMsRUFBQTtBTHFCdEI7RVF2QlEseUJIcURjLEVBQUE7QUw5QnRCO0VRaEJRLHlCSDlCZ0M7RUcrQmhDLGNIakMwQixFQUFBO0FMZ0RsQztFUWhCUSx5QkhxQmdDO0VHcEJoQyxjSGtCMEIsRUFBQTtBTEhsQztFUWhCUSx5Qkh3RWdDO0VHdkVoQyxjSHFFMEIsRUFBQTtBTHREbEM7RVFSUSx1Q0hwRXFDLEVBQUE7QUw0RTdDO0VRUlEsdUNIakJxQyxFQUFBO0FMeUI3QztFUVJRLDBDSGtDd0MsRUFBQTtBTDFCaEQ7RVFEUSx1Q0gzQ3NDLEVBQUE7QUw0QzlDO0VRRFEsdUNIUXNDLEVBQUE7QUxQOUM7RVFEUSx5QkgyRHdCLEVBQUE7QUwxRGhDO0VRUUksdUNIcEZ5QyxFQUFBO0FMNEU3QztFUVFJLHVDSGpDeUMsRUFBQTtBTHlCN0M7RVFRSSwwQ0hrQjRDLEVBQUE7QUwxQmhEO0VRdUJNLHlCSC9FdUI7RUdnRnZCLGNIbkdnQixFQUFBO0FMMkV0QjtFUXVCTSx5Qkg1QnVCO0VHNkJ2QixjSGhEZ0IsRUFBQTtBTHdCdEI7RVF1Qk0seUJIdUJ1QjtFR3RCdkIsY0hHZ0IsRUFBQTtBTDNCdEI7RVE4QlEsdUNIckYrQixFQUFBO0FMdUR2QztFUThCUSx1Q0hsQytCLEVBQUE7QUxJdkM7RVE4QlEsMENIaUJrQyxFQUFBO0FML0MxQztFUXVDSSxjSGxIa0IsRUFBQTtBTDJFdEI7RVF1Q0ksY0gvRGtCLEVBQUE7QUx3QnRCO0VRdUNJLGNIWmtCLEVBQUE7QUwzQnRCO0VRNkNNLHlCSHJIZ0IsRUFBQTtBTHdFdEI7RVE2Q00seUJIbEVnQixFQUFBO0FMcUJ0QjtFUTZDTSx5QkhmZ0IsRUFBQTtBTDlCdEI7RVFxREksNEJIOUdpQyxFQUFBO0FMeURyQztFUXFESSw0QkgzRGlDLEVBQUE7QUxNckM7RVFxREksNEJIUmlDLEVBQUE7QUw3Q3JDO0VRZ0VFLHlCSHhJb0IsRUFBQTtBTHdFdEI7RVFnRUUseUJIckZvQixFQUFBO0FMcUJ0QjtFUWdFRSx5QkhsQ29CLEVBQUE7QUw5QnRCO0VRZ0ZRLHlCSDNIcUIsRUFBQTtBTDJDN0I7RVFnRlEseUJIeEVxQixFQUFBO0FMUjdCO0VRZ0ZRLHlCSHJCcUIsRUFBQTtBTDNEN0I7RVF1RlEseUJIbElxQixFQUFBO0FMMkM3QjtFUXVGUSx5QkgvRXFCLEVBQUE7QUxSN0I7RVF1RlEseUJINUJxQixFQUFBO0FMM0Q3QjtFUThGUSw2QkFBNkIsRUFBQTtBUjlGckM7RVE4RlEsNkJBQTZCLEVBQUE7QVI5RnJDO0VROEZRLDZCQUE2QixFQUFBO0FSOUZyQztFUXFHUSw2QkFBNkIsRUFBQTtBUnJHckM7RVFxR1EsNkJBQTZCLEVBQUE7QVJyR3JDO0VRcUdRLDZCQUE2QixFQUFBO0FSckdyQztFUThHVSx5Qkh0SnlCLEVBQUE7QUx3Q25DO0VROEdVLHlCSG5HeUIsRUFBQTtBTFhuQztFUThHVSx5QkhoRHlCLEVBQUE7QUw5RG5DO0VRb0hZLHlCSDNKMkIsRUFBQTtBTHVDdkM7RVFvSFkseUJIeEcyQixFQUFBO0FMWnZDO0VRb0hZLHlCSHJEMkIsRUFBQTtBR00zQztFQXdEWSx5QkFBeUIsRUFBQTtBQXhEckM7RUErRFkseUJBQXlCLEVBQUE7QVJwSWpDO0VRdUpRLHlCSDdOYSxFQUFBO0FMc0VyQjtFUXVKUSx5QkgxS2EsRUFBQTtBTG1CckI7RVF1SlEseUJIdkhhLEVBQUE7QUxoQ3JCO0VROEpRLHlCSHRPYyxFQUFBO0FMd0V0QjtFUThKUSx5QkhuTGMsRUFBQTtBTHFCdEI7RVE4SlEseUJIaEljLEVBQUE7QUw5QnRCO0VRNktJLGNIeFBrQixFQUFBO0FMMkV0QjtFUTZLSSxjSHJNa0IsRUFBQTtBTHdCdEI7RVE2S0ksY0hsSmtCLEVBQUE7QUwzQnRCO0VRbUxNLHlCSDNQZ0IsRUFBQTtBTHdFdEI7RVFtTE0seUJIeE1nQixFQUFBO0FMcUJ0QjtFUW1MTSx5QkhySmdCLEVBQUE7QUw5QnRCO0VRMkxJLGNIblFrQixFQUFBO0FMd0V0QjtFUTJMSSxjSGhOa0IsRUFBQTtBTHFCdEI7RVEyTEksY0g3SmtCLEVBQUE7QUw5QnRCO0VRa01JLDRCSDNQaUMsRUFBQTtBTHlEckM7RVFrTUksNEJIeE1pQyxFQUFBO0FMTXJDO0VRa01JLDRCSHJKaUMsRUFBQTtBTDdDckM7RVE0TUkseUJIcFArQixFQUFBO0FMd0NuQztFUTRNSSx5QkhqTStCLEVBQUE7QUxYbkM7RVE0TUkseUJIOUkrQixFQUFBO0FMOURuQztFUWtOTSx5Qkh6UGlDLEVBQUE7QUx1Q3ZDO0VRa05NLHlCSHRNaUMsRUFBQTtBTFp2QztFUWtOTSx5QkhuSmlDLEVBQUE7QUcwSjNDO0VSM1NFLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsbUJBQW1CLEVBQUE7QUFnRmpCO0VRME9VLHlCSGhUVyxFQUFBO0FMc0VyQjtFUTBPVSx5Qkg3UFcsRUFBQTtBTG1CckI7RVEwT1UseUJIMU1XLEVBQUE7QUxoQ3JCO0VRMFBJLGNIbFVrQixFQUFBO0FMd0V0QjtFUTBQSSxjSC9Ra0IsRUFBQTtBTHFCdEI7RVEwUEksY0g1TmtCLEVBQUE7QUw5QnRCO0VRd1FRLGNIalZrQixFQUFBO0FMeUUxQjtFUXdRUSxjSDlSa0IsRUFBQTtBTHNCMUI7RVF3UVEsY0gzT2tCLEVBQUE7QUw3QjFCO0VRK1FRLHlCSHpUeUIsRUFBQTtBTDBDakM7RVErUVEseUJIdFF5QixFQUFBO0FMVGpDO0VRK1FRLHNCSG5Oc0IsRUFBQTtBR3VMbEM7RVI3UEUsV0FEMEQ7RUFFMUQsY0FGNEI7RUFHNUIsa0JBSDRDO0VRZ1NsQyxNQUFNO0VBQ04sYUFBYTtFQUNiLGdDQUFnQyxFQUFBO0FSdlJ4QztJUTBSVSx5QkhwVXVCLEVBQUE7QUwwQ2pDO0lRMFJVLHlCSGpSdUIsRUFBQTtBTFRqQztJUTBSVSxzQkg5Tm9CLEVBQUE7QUw1RDlCO0VRa1NRLHlCSDNVNEIsRUFBQTtBTHlDcEM7RVFrU1EseUJIeFI0QixFQUFBO0FMVnBDO0VRa1NRLHlCSHJPNEIsRUFBQTtBR3NMeEM7RVI3UEUsV0FEMEQ7RUFFMUQsY0FGNEI7RUFHNUIsa0JBSDRDO0VRbVRsQyxjQUFjO0VBQ2QsTUFBTTtFQUNOLGdDQUFnQyxFQUFBO0FSMVN4QztJUTZTVSx5Qkh0VjBCLEVBQUE7QUx5Q3BDO0lRNlNVLHlCSG5TMEIsRUFBQTtBTFZwQztJUTZTVSx5QkhoUDBCLEVBQUE7QUw3RHBDO0VRK1RNLGNIeFlvQixFQUFBO0FMeUUxQjtFUStUTSxjSHJWb0IsRUFBQTtBTHNCMUI7RVErVE0sY0hsU29CLEVBQUE7QUw3QjFCO0VRc1VNLGNIalpnQixFQUFBO0FMMkV0QjtFUXNVTSxjSDlWZ0IsRUFBQTtBTHdCdEI7RVFzVU0sY0gzU2dCLEVBQUE7QUcyUjFCO0VBc0JNLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWixpQkFBaUIsRUFBQTtBUmhWbkI7RVF5VkksY0hsYXNCLEVBQUE7QUx5RTFCO0VReVZJLGNIL1dzQixFQUFBO0FMc0IxQjtFUXlWSSxjSDVUc0IsRUFBQTtBTDdCMUI7RVFrV00sY0g3YWdCO0VHOGFoQix5Qkh6WThC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Q0UscUJBQXFCO0VBQ3JCLGtDQUFrRDtFQUNsRCxnQkFBZ0IsRUFBQTtBQUlsQjtFQUNFLGlDQUFpQztFQUNqQyxlQUFlLEVBQUE7QUFHakI7RUFDRSxpQ0FBaUM7RUFDakMsaUJBQWlCO0VBQ2pCLFlBQVk7RUFDWixhQUFhLEVBQUE7QUFKZjtJQU9JLCtEQUE2RTtJQUM3RSxzQkFBc0IsRUFBQTtBQVIxQjtJQVlJLCtEQUE2RTtJQUM3RSxzQkFBc0IsRUFBQTtBQWIxQjtJQWlCSSxnRUFBOEU7SUFDOUUsc0JBQXNCLEVBQUE7QUFsQjFCO0lBc0JJLGFBQWE7SUFDYixXQUFXO0lBQ1gsWUFBWSxFQUFBIiwiZmlsZSI6InNyYy9zdHlsZXMuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBtaXhpbiB0ZXh0LXRydW5jYXRlIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuQG1peGluIHRleHRXcmFwIHtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICBsaW5lLWJyZWFrOiBzdHJpY3Q7XHJcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xyXG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xyXG4gIGh5cGhlbnM6IGF1dG87XHJcbn1cclxuQG1peGluIGNvdmVyQm94IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG59XHJcbkBtaXhpbiBhYnMgKCR0b3A6IGF1dG8sICRyaWdodDogYXV0bywgJGJvdHRvbTogYXV0bywgJGxlZnQ6IGF1dG8pIHtcclxuICB0b3A6ICR0b3A7XHJcbiAgcmlnaHQ6ICRyaWdodDtcclxuICBib3R0b206ICRib3R0b207XHJcbiAgbGVmdDogJGxlZnQ7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcbkBtaXhpbiBjb3ZlckltZyB7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHQtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0LW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbn1cclxuQG1peGluIHZhbGluZ0JveCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogIDUwJTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbn1cclxuQG1peGluIHVuU2VsZWN0IHtcclxuXHQtd2Via2l0LXRvdWNoLWNvbGxvdXQ6IG5vbmU7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuQG1peGluIG1heDExOTkgeyAvLyBtYWtldCAxMTcxXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkgeyBAY29udGVudDsgfVxyXG59XHJcbkBtaXhpbiBtYXgxMTcwIHsgLy8gbWFrZXRzIDk5MlxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTcwcHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gbWF4OTkxIHsgLy8gbWFrZXRzIDc2MlxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkgeyBAY29udGVudDsgfVxyXG59XHJcbkBtaXhpbiBtYXg3NjEgeyAvLyBtYWtldHMgNTc2XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2MXB4KSB7IEBjb250ZW50OyB9XHJcbn1cclxuQG1peGluIG1heDU3NSB7IC8vIG1ha2V0cyA0MDBcclxuICBAbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gbW9iaWxlIHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogMzk5cHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gaWNvQ2VudGVyIHtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG59XHJcbkBtaXhpbiBwc2V1ZG8gKCRkaXNwbGF5OiBibG9jaywgJHBvczogYWJzb2x1dGUsICRjb250ZW50OiAnJyl7XHJcbiAgY29udGVudDogJGNvbnRlbnQ7XHJcbiAgZGlzcGxheTogJGRpc3BsYXk7XHJcbiAgcG9zaXRpb246ICRwb3M7XHJcbn1cclxuXHJcbi8qXHJcbiogSW1wbGVtZW50YXRpb24gb2YgdGhlbWVzXHJcbiovXHJcbkBtaXhpbiB0aGVtaWZ5KCR0aGVtZXM6ICR0aGVtZXMpIHtcclxuICBAZWFjaCAkdGhlbWUsICRtYXAgaW4gJHRoZW1lcyB7XHJcbiAgICAudGhlbWUtI3skdGhlbWV9ICYge1xyXG4gICAgICAkdGhlbWUtbWFwOiAoKSAhZ2xvYmFsO1xyXG4gICAgICBAZWFjaCAka2V5LCAkc3VibWFwIGluICRtYXAge1xyXG4gICAgICAgICR2YWx1ZTogbWFwLWdldChtYXAtZ2V0KCR0aGVtZXMsICR0aGVtZSksICcjeyRrZXl9Jyk7XHJcbiAgICAgICAgJHRoZW1lLW1hcDogbWFwLW1lcmdlKCR0aGVtZS1tYXAsICgka2V5OiAkdmFsdWUpKSAhZ2xvYmFsO1xyXG4gICAgICB9XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgICAkdGhlbWUtbWFwOiBudWxsICFnbG9iYWw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gdGhlbWVkKCRrZXkpIHtcclxuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLW1hcCwgJGtleSk7XHJcbn1cclxuIiwiLypcclxuKiBJbXBsZW1lbnRhdGlvbiBvZiB0aGVtZXNcclxuKi9cbkBpbXBvcnQgdXJsKH5Abmctc2VsZWN0L25nLXNlbGVjdC90aGVtZXMvZGVmYXVsdC50aGVtZS5jc3MpO1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC10b3VjaC1jb2xsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmIsIHUsIGksIGNlbnRlcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmJvZHkge1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuYmxvY2txdW90ZSwgcSB7XG4gIHF1b3Rlczogbm9uZTsgfVxuXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcbiAgY29udGVudDogbm9uZTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwOyB9XG5cbmlucHV0IHtcbiAgb3V0bGluZTogbm9uZTsgfVxuICBpbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDEwMDBweCB3aGl0ZSBpbnNldDsgfVxuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOmFjdGl2ZSwgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbmIsIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuaW1nIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBib3JkZXI6IDA7IH1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGhlbWUtZGFyayAuYXBwLWNvbnRlbnQgLnByZWxvYWRlciAubG9hZGluZy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IC5hcHAtY29udGVudCAucHJlbG9hZGVyIC5sb2FkaW5nLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIC5hcHAtY29udGVudCAucHJlbG9hZGVyIC5sb2FkaW5nLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGhlaWdodDogNC4ycmVtOyB9XG4gIC50aGVtZS1kYXJrIGJ1dHRvbjpkaXNhYmxlZDpub3QoLnRyYW5zcGFyZW50LWJ1dHRvbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5Y2FkYjc7XG4gICAgY29sb3I6ICMxMTE5MjE7IH1cbiAgLnRoZW1lLWdyYXkgYnV0dG9uOmRpc2FibGVkOm5vdCgudHJhbnNwYXJlbnQtYnV0dG9uKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc5ODQ4ZjtcbiAgICBjb2xvcjogIzFhMWExYTsgfVxuICAudGhlbWUtd2hpdGUgYnV0dG9uOmRpc2FibGVkOm5vdCgudHJhbnNwYXJlbnQtYnV0dG9uKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzkwYTRhZTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudGhlbWUtZGFyayBidXR0b246ZGlzYWJsZWQ6bm90KC50cmFuc3BhcmVudC1idXR0b24pOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjdkMWUwOyB9XG4gIC50aGVtZS1ncmF5IGJ1dHRvbjpkaXNhYmxlZDpub3QoLnRyYW5zcGFyZW50LWJ1dHRvbik6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhMWFlYmI7IH1cbiAgLnRoZW1lLXdoaXRlIGJ1dHRvbjpkaXNhYmxlZDpub3QoLnRyYW5zcGFyZW50LWJ1dHRvbik6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWJlYzY7IH1cbiAgLnRoZW1lLWRhcmsgYnV0dG9uOmRpc2FibGVkOm5vdCgudHJhbnNwYXJlbnQtYnV0dG9uKTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E3YjljMjsgfVxuICAudGhlbWUtZ3JheSBidXR0b246ZGlzYWJsZWQ6bm90KC50cmFuc3BhcmVudC1idXR0b24pOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE5NTlmOyB9XG4gIC50aGVtZS13aGl0ZSBidXR0b246ZGlzYWJsZWQ6bm90KC50cmFuc3BhcmVudC1idXR0b24pOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTdiOWMyOyB9XG4gIC50aGVtZS1kYXJrIGJ1dHRvbi5ibHVlLWJ1dHRvbjpub3QoOmRpc2FibGVkKS5lcnJvci10ZXh0IHtcbiAgICBjb2xvcjogI2ZlNTI1MjsgfVxuICAudGhlbWUtZ3JheSBidXR0b24uYmx1ZS1idXR0b246bm90KDpkaXNhYmxlZCkuZXJyb3ItdGV4dCB7XG4gICAgY29sb3I6ICNmZTUyNTI7IH1cbiAgLnRoZW1lLXdoaXRlIGJ1dHRvbi5ibHVlLWJ1dHRvbjpub3QoOmRpc2FibGVkKS5lcnJvci10ZXh0IHtcbiAgICBjb2xvcjogI2ZmNTI1MjsgfVxuICAudGhlbWUtZGFyayBidXR0b24uYmx1ZS1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7XG4gICAgY29sb3I6ICMxMTE5MjE7IH1cbiAgLnRoZW1lLWdyYXkgYnV0dG9uLmJsdWUtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1O1xuICAgIGNvbG9yOiAjMWExYTFhOyB9XG4gIC50aGVtZS13aGl0ZSBidXR0b24uYmx1ZS1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRoZW1lLWRhcmsgYnV0dG9uLmJsdWUtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODJkN2ZmOyB9XG4gIC50aGVtZS1ncmF5IGJ1dHRvbi5ibHVlLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg2ZDZmZjsgfVxuICAudGhlbWUtd2hpdGUgYnV0dG9uLmJsdWUtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNiM2ZmOyB9XG4gIC50aGVtZS1kYXJrIGJ1dHRvbi5ibHVlLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU5YjVmZDsgfVxuICAudGhlbWUtZ3JheSBidXR0b24uYmx1ZS1idXR0b246bm90KDpkaXNhYmxlZCk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZmI2ZmM7IH1cbiAgLnRoZW1lLXdoaXRlIGJ1dHRvbi5ibHVlLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM3OWZmYTsgfVxuICAudGhlbWUtZGFyayBidXR0b24uZ3JlZW4tYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkO1xuICAgIGNvbG9yOiAjMTExOTIxOyB9XG4gIC50aGVtZS1ncmF5IGJ1dHRvbi5ncmVlbi1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7XG4gICAgY29sb3I6ICMxYTFhMWE7IH1cbiAgLnRoZW1lLXdoaXRlIGJ1dHRvbi5ncmVlbi1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRoZW1lLWRhcmsgYnV0dG9uLmdyZWVuLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhkZmNjNjsgfVxuICAudGhlbWUtZ3JheSBidXR0b24uZ3JlZW4tYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2JmNmM2OyB9XG4gIC50aGVtZS13aGl0ZSBidXR0b24uZ3JlZW4tYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWFkNTg2OyB9XG4gIC50aGVtZS1kYXJrIGJ1dHRvbi5ncmVlbi1idXR0b246bm90KDpkaXNhYmxlZCk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2MmUwYjI7IH1cbiAgLnRoZW1lLWdyYXkgYnV0dG9uLmdyZWVuLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGM5ZTsgfVxuICAudGhlbWUtd2hpdGUgYnV0dG9uLmdyZWVuLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUzYzc3YzsgfVxuICAudGhlbWUtZGFyayBidXR0b24udHVycXVvaXNlLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkZDBlMTtcbiAgICBjb2xvcjogIzExMTkyMTsgfVxuICAudGhlbWUtZ3JheSBidXR0b24udHVycXVvaXNlLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNlYzVkNztcbiAgICBjb2xvcjogIzFhMWExYTsgfVxuICAudGhlbWUtd2hpdGUgYnV0dG9uLnR1cnF1b2lzZS1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNmI2Yzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRoZW1lLWRhcmsgYnV0dG9uLnR1cnF1b2lzZS1idXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4N2Y0ZjU7IH1cbiAgLnRoZW1lLWdyYXkgYnV0dG9uLnR1cnF1b2lzZS1idXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3MmVkZmU7IH1cbiAgLnRoZW1lLXdoaXRlIGJ1dHRvbi50dXJxdW9pc2UtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTJjYmQ5OyB9XG4gIC50aGVtZS1kYXJrIGJ1dHRvbi50dXJxdW9pc2UtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJkNWU4OyB9XG4gIC50aGVtZS1ncmF5IGJ1dHRvbi50dXJxdW9pc2UtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBkMGUxOyB9XG4gIC50aGVtZS13aGl0ZSBidXR0b24udHVycXVvaXNlLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMxYmVjZjsgfVxuICBidXR0b24udHJhbnNwYXJlbnQtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudGhlbWUtZGFyayBidXR0b24udHJhbnNwYXJlbnQtYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwLjJyZW0gc29saWQgIzJiMzY0NDtcbiAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLnRoZW1lLWdyYXkgYnV0dG9uLnRyYW5zcGFyZW50LWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMC4ycmVtIHNvbGlkICMyZjM0Mzg7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS13aGl0ZSBidXR0b24udHJhbnNwYXJlbnQtYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwLjJyZW0gc29saWQgI2ViZWJlYjtcbiAgICAgIGNvbG9yOiAjNDM0NTRiOyB9XG4gICAgYnV0dG9uLnRyYW5zcGFyZW50LWJ1dHRvbiAuaWNvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICBtYXNrOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvY29tcGxldGUtdGVzdHdhbGxldC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICB3aWR0aDogMS43cmVtO1xuICAgICAgaGVpZ2h0OiAxLjdyZW07IH1cbiAgICAgIC50aGVtZS1kYXJrIGJ1dHRvbi50cmFuc3BhcmVudC1idXR0b24gLmljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtZ3JheSBidXR0b24udHJhbnNwYXJlbnQtYnV0dG9uIC5pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDsgfVxuICAgICAgLnRoZW1lLXdoaXRlIGJ1dHRvbi50cmFuc3BhcmVudC1idXR0b24gLmljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM0NTRiOyB9XG5cbi5pbnB1dC1ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiAwLjRyZW07IH1cbiAgLmlucHV0LWJsb2NrIC53cmFwLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1pbi1oZWlnaHQ6IDIuNHJlbTsgfVxuICAuaW5wdXQtYmxvY2sgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07IH1cbiAgICAudGhlbWUtZGFyayAuaW5wdXQtYmxvY2sgbGFiZWwge1xuICAgICAgY29sb3I6ICM1NTY1NzY7IH1cbiAgICAudGhlbWUtZ3JheSAuaW5wdXQtYmxvY2sgbGFiZWwge1xuICAgICAgY29sb3I6ICM1NjVjNjI7IH1cbiAgICAudGhlbWUtd2hpdGUgLmlucHV0LWJsb2NrIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAjYTBhNWFiOyB9XG4gIC5pbnB1dC1ibG9jayBpbnB1dFt0eXBlPSd0ZXh0J10sIC5pbnB1dC1ibG9jayBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCAuaW5wdXQtYmxvY2sgc2VsZWN0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0LjJyZW07IH1cbiAgICAudGhlbWUtZGFyayAuaW5wdXQtYmxvY2sgaW5wdXRbdHlwZT0ndGV4dCddLCAudGhlbWUtZGFyayAuaW5wdXQtYmxvY2sgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSwgLnRoZW1lLWRhcmsgLmlucHV0LWJsb2NrIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcxZTI3O1xuICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAudGhlbWUtZ3JheSAuaW5wdXQtYmxvY2sgaW5wdXRbdHlwZT0ndGV4dCddLCAudGhlbWUtZ3JheSAuaW5wdXQtYmxvY2sgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSwgLnRoZW1lLWdyYXkgLmlucHV0LWJsb2NrIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxO1xuICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAudGhlbWUtd2hpdGUgLmlucHV0LWJsb2NrIGlucHV0W3R5cGU9J3RleHQnXSwgLnRoZW1lLXdoaXRlIC5pbnB1dC1ibG9jayBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCAudGhlbWUtd2hpdGUgLmlucHV0LWJsb2NrIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgLmlucHV0LWJsb2NrLnRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuaW5wdXQtYmxvY2sudGV4dGFyZWEgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6IE9wZW5TYW5zLCBzYW5zLXNlcmlmO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogNy41cmVtO1xuICAgICAgbWF4LWhlaWdodDogNy41cmVtO1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICByZXNpemU6IG5vbmU7IH1cbiAgICAgIC50aGVtZS1kYXJrIC5pbnB1dC1ibG9jay50ZXh0YXJlYSB0ZXh0YXJlYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzFlMjc7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtZ3JheSAuaW5wdXQtYmxvY2sudGV4dGFyZWEgdGV4dGFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxO1xuICAgICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC5pbnB1dC1ibG9jay50ZXh0YXJlYSB0ZXh0YXJlYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgICAgIGNvbG9yOiAjNDM0NTRiOyB9XG4gIC5pbnB1dC1ibG9jayAuZXJyb3ItYmxvY2sge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40cmVtO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLnRoZW1lLWRhcmsgLmlucHV0LWJsb2NrIC5lcnJvci1ibG9jayB7XG4gICAgICBjb2xvcjogI2ZlNTI1MjsgfVxuICAgIC50aGVtZS1ncmF5IC5pbnB1dC1ibG9jayAuZXJyb3ItYmxvY2sge1xuICAgICAgY29sb3I6ICNmZTUyNTI7IH1cbiAgICAudGhlbWUtd2hpdGUgLmlucHV0LWJsb2NrIC5lcnJvci1ibG9jayB7XG4gICAgICBjb2xvcjogI2ZmNTI1MjsgfVxuXG4udGhlbWUtZGFyayAuZXJyb3ItdGV4dCB7XG4gIGNvbG9yOiAjZmU1MjUyOyB9XG5cbi50aGVtZS1ncmF5IC5lcnJvci10ZXh0IHtcbiAgY29sb3I6ICNmZTUyNTI7IH1cblxuLnRoZW1lLXdoaXRlIC5lcnJvci10ZXh0IHtcbiAgY29sb3I6ICNmZjUyNTI7IH1cblxuaW5wdXRbdHlwZT0ncmFkaW8nXS5zdHlsZS1yYWRpbyArIGxhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nLWxlZnQ6IDIuNHJlbTtcbiAgLXdlYmtpdC10b3VjaC1jb2xsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLnRoZW1lLWRhcmsgaW5wdXRbdHlwZT0ncmFkaW8nXS5zdHlsZS1yYWRpbyArIGxhYmVsIHtcbiAgICBjb2xvcjogIzU1NjU3NjsgfVxuICAudGhlbWUtZ3JheSBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvICsgbGFiZWwge1xuICAgIGNvbG9yOiAjNTY1YzYyOyB9XG4gIC50aGVtZS13aGl0ZSBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvICsgbGFiZWwge1xuICAgIGNvbG9yOiAjYTBhNWFiOyB9XG5cbmlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86bm90KGNoZWNrZWQpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwOyB9XG4gIGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86bm90KGNoZWNrZWQpICsgbGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvOm5vdChjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC43cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07IH1cbiAgICAudGhlbWUtZGFyayBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvOm5vdChjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjNGRiMWZmOyB9XG4gICAgLnRoZW1lLWdyYXkgaW5wdXRbdHlwZT0ncmFkaW8nXS5zdHlsZS1yYWRpbzpub3QoY2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgIzQyYTVmNTsgfVxuICAgIC50aGVtZS13aGl0ZSBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvOm5vdChjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjMmM5NWYxOyB9XG4gIGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86bm90KGNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDFyZW07XG4gICAgbGVmdDogMC4zcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAwLjhyZW07XG4gICAgaGVpZ2h0OiAwLjhyZW07IH1cbiAgICAudGhlbWUtZGFyayBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvOm5vdChjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cbiAgICAudGhlbWUtZ3JheSBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvOm5vdChjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cbiAgICAudGhlbWUtd2hpdGUgaW5wdXRbdHlwZT0ncmFkaW8nXS5zdHlsZS1yYWRpbzpub3QoY2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbmlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgb3BhY2l0eTogMTsgfVxuXG5pbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94ICsgbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmctbGVmdDogMy42cmVtO1xuICAtd2Via2l0LXRvdWNoLWNvbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAudGhlbWUtZGFyayBpbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94ICsgbGFiZWwge1xuICAgIGNvbG9yOiAjNTU2NTc2OyB9XG4gIC50aGVtZS1ncmF5IGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3ggKyBsYWJlbCB7XG4gICAgY29sb3I6ICM1NjVjNjI7IH1cbiAgLnRoZW1lLXdoaXRlIGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3ggKyBsYWJlbCB7XG4gICAgY29sb3I6ICNhMGE1YWI7IH1cblxuaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveDpub3QoY2hlY2tlZCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAxLjZyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3g6bm90KGNoZWNrZWQpICsgbGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBpbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94Om5vdChjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDEuNnJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTsgfVxuICAgIC50aGVtZS1kYXJrIGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3g6bm90KGNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICM0ZGIxZmY7IH1cbiAgICAudGhlbWUtZ3JheSBpbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94Om5vdChjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjNDJhNWY1OyB9XG4gICAgLnRoZW1lLXdoaXRlIGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3g6bm90KGNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICMyYzk1ZjE7IH1cblxuaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2NvbXBsZXRlLXRlc3R3YWxsZXQuc3ZnKTsgfVxuICAudGhlbWUtZGFyayBpbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94OmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cbiAgLnRoZW1lLWdyYXkgaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG4gIC50aGVtZS13aGl0ZSBpbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94OmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgLnN3aXRjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cblxuLnRoZW1lLWdyYXkgLnN3aXRjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cblxuLnRoZW1lLXdoaXRlIC5zd2l0Y2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1kYXJrIC5zd2l0Y2ggLmNpcmNsZS5vbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgLnN3aXRjaCAuY2lyY2xlLm9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgLnN3aXRjaCAuY2lyY2xlLm9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayAuc3dpdGNoIC5jaXJjbGUub2ZmIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSAuc3dpdGNoIC5jaXJjbGUub2ZmIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU2NWM2MjsgfVxuXG4udGhlbWUtd2hpdGUgLnN3aXRjaCAuY2lyY2xlLm9mZiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMGE1YWI7IH1cblxuLnRhYmxlLXRvb2x0aXAge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgcGFkZGluZzogMXJlbSAycmVtO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IH1cbiAgLnRoZW1lLWRhcmsgLnRhYmxlLXRvb2x0aXAge1xuICAgIGJhY2tncm91bmQ6ICM0MjUwNWY7XG4gICAgYm94LXNoYWRvdzogMCAwIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2U0NjRjO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAudGhlbWUtd2hpdGUgLnRhYmxlLXRvb2x0aXAge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDFyZW0gcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjUpO1xuICAgIGNvbG9yOiAjNDM0NTRiOyB9XG4gIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuICAgIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMnJlbTtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMXJlbSk7XG4gICAgICBib3JkZXItd2lkdGg6IDFyZW07XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcDpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0MjUwNWYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNlNDY0YyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1sZWZ0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuICAgIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wLWxlZnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xcmVtO1xuICAgICAgbGVmdDogMC43cmVtO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcmVtIDFyZW0gMCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAgICAgLnRoZW1lLWRhcmsgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3AtbGVmdDpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0MjUwNWYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wLWxlZnQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NjRjIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtd2hpdGUgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3AtbGVmdDpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3AtcmlnaHQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG4gICAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3AtcmlnaHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xcmVtO1xuICAgICAgcmlnaHQ6IDAuN3JlbTtcbiAgICAgIGJvcmRlci13aWR0aDogMC41cmVtO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAgICAgLnRoZW1lLWRhcmsgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3AtcmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDI1MDVmICM0MjUwNWYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wLXJpZ2h0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNlNDY0YyAjM2U0NjRjIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtd2hpdGUgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3AtcmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTJyZW07XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDFyZW0pO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcmVtO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAgICAgLnRoZW1lLWRhcmsgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b206YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNDI1MDVmIHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtZ3JheSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbTpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzZTQ2NGMgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbTpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmZmZmYgdHJhbnNwYXJlbnQ7IH1cbiAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b20tbGVmdCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tLWxlZnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xcmVtO1xuICAgICAgbGVmdDogMC43cmVtO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW07XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbS1sZWZ0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzQyNTA1ZiAjNDI1MDVmOyB9XG4gICAgICAudGhlbWUtZ3JheSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbS1sZWZ0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzNlNDY0YyAjM2U0NjRjOyB9XG4gICAgICAudGhlbWUtd2hpdGUgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b20tbGVmdDpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmZmZmYgI2ZmZmZmZjsgfVxuICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbS1yaWdodCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tLXJpZ2h0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMXJlbTtcbiAgICAgIHJpZ2h0OiAwLjdyZW07XG4gICAgICBib3JkZXItd2lkdGg6IDAuNXJlbTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgICAgIC50aGVtZS1kYXJrIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tLXJpZ2h0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzQyNTA1ZiAjNDI1MDVmIHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtZ3JheSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbS1yaWdodDpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzZTQ2NGMgIzNlNDY0YyB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tLXJpZ2h0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmZmZmZiAjZmZmZmZmIHRyYW5zcGFyZW50OyB9XG4gIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9XG4gICAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1sZWZ0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IC0xcmVtO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcmVtIDFyZW0gMCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAgICAgLnRoZW1lLWRhcmsgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1sZWZ0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQyNTA1ZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLWdyYXkgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1sZWZ0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNlNDY0YyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtbGVmdDpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXJpZ2h0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogLTFyZW07XG4gICAgICBib3JkZXItd2lkdGg6IDFyZW0gMCAwIDFyZW07XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXJpZ2h0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQyNTA1ZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLWdyYXkgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1yaWdodDpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzZTQ2NGMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXJpZ2h0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uYmFsYW5jZS10b29sdGlwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIHBhZGRpbmc6IDEuM3JlbTsgfVxuICAudGhlbWUtZGFyayAuYmFsYW5jZS10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDI1MDVmO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAudGhlbWUtZ3JheSAuYmFsYW5jZS10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2U0NjRjO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAudGhlbWUtd2hpdGUgLmJhbGFuY2UtdG9vbHRpcCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMXJlbSByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNSk7XG4gICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgLmJhbGFuY2UtdG9vbHRpcC5uZy10b29sdGlwLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cbiAgLmJhbGFuY2UtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAuYmFsYW5jZS10b29sdGlwLm5nLXRvb2x0aXAtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9XG4gIC5iYWxhbmNlLXRvb2x0aXAubmctdG9vbHRpcC1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLmJhbGFuY2UtdG9vbHRpcCAuYXZhaWxhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjdyZW07IH1cbiAgICAuYmFsYW5jZS10b29sdGlwIC5hdmFpbGFibGUgYiB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5iYWxhbmNlLXRvb2x0aXAgLmxvY2tlZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43cmVtOyB9XG4gICAgLmJhbGFuY2UtdG9vbHRpcCAubG9ja2VkIGIge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuYmFsYW5jZS10b29sdGlwIC5saW5rIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAudGhlbWUtZGFyayAuYmFsYW5jZS10b29sdGlwIC5saW5rIHtcbiAgICAgIGNvbG9yOiAjNGRiMWZmOyB9XG4gICAgLnRoZW1lLWdyYXkgLmJhbGFuY2UtdG9vbHRpcCAubGluayB7XG4gICAgICBjb2xvcjogIzQyYTVmNTsgfVxuICAgIC50aGVtZS13aGl0ZSAuYmFsYW5jZS10b29sdGlwIC5saW5rIHtcbiAgICAgIGNvbG9yOiAjMmM5NWYxOyB9XG5cbi5hY2NvdW50LXRvb2x0aXAge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBtYXgtd2lkdGg6IDE4cmVtOyB9XG5cbi5uZ3gtY29udGV4dG1lbnUgLmRyb3Bkb3duLW1lbnUge1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRoZW1lLWRhcmsgLm5neC1jb250ZXh0bWVudSAuZHJvcGRvd24tbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJiMzY0NDtcbiAgICBib3gtc2hhZG93OiAwIDAgMXJlbSByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgLnRoZW1lLWdyYXkgLm5neC1jb250ZXh0bWVudSAuZHJvcGRvd24tbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI5MmQzMTtcbiAgICBib3gtc2hhZG93OiAwIDAgMXJlbSByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgLnRoZW1lLXdoaXRlIC5uZ3gtY29udGV4dG1lbnUgLmRyb3Bkb3duLW1lbnUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XG4gICAgYm94LXNoYWRvdzogMCAwIDFyZW0gcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjUpOyB9XG5cbi5uZ3gtY29udGV4dG1lbnUgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5uZ3gtY29udGV4dG1lbnUgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjVlbSAxZW07IH1cbiAgLnRoZW1lLWRhcmsgLm5neC1jb250ZXh0bWVudSBhIHtcbiAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAudGhlbWUtZ3JheSAubmd4LWNvbnRleHRtZW51IGEge1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS13aGl0ZSAubmd4LWNvbnRleHRtZW51IGEge1xuICAgIGNvbG9yOiAjNDM0NTRiOyB9XG4gIC50aGVtZS1kYXJrIC5uZ3gtY29udGV4dG1lbnUgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NjU3NjtcbiAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAudGhlbWUtZ3JheSAubmd4LWNvbnRleHRtZW51IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MTU5NjA7XG4gICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgLnRoZW1lLXdoaXRlIC5uZ3gtY29udGV4dG1lbnUgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzQzNDU0YjsgfVxuXG4ubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgaGVpZ2h0OiA0LjJyZW07IH1cbiAgICAudGhlbWUtZGFyayAubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcxZTI3O1xuICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAudGhlbWUtZ3JheSAubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxO1xuICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAudGhlbWUtd2hpdGUgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICAgIGNvbG9yOiAjNDM0NTRiOyB9XG4gICAgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCB7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgLnRoZW1lLWRhcmsgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzFlMjc7IH1cbiAgICAudGhlbWUtZ3JheSAubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCAubmctZHJvcGRvd24tcGFuZWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI5MmQzMTsgfVxuICAgIC50aGVtZS13aGl0ZSAubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCAubmctZHJvcGRvd24tcGFuZWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuICAgIC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbiB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAgIC50aGVtZS1kYXJrIC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzFlMjc7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtZ3JheSAubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCAubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxO1xuICAgICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgICAgIGNvbG9yOiAjNDM0NTRiOyB9XG4gICAgICAudGhlbWUtZGFyayAubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCAubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLW1hcmtlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTgsIDY5LCA4NSwgMC41KTtcbiAgICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAgIC50aGVtZS1ncmF5IC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tbWFya2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNjIsIDY2LCAwLjUpO1xuICAgICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tbWFya2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjUpO1xuICAgICAgICBjb2xvcjogIzQzNDU0YjsgfVxuICAgICAgLnRoZW1lLWRhcmsgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDMsIDU0LCA2OCwgMC41KTtcbiAgICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAgIC50aGVtZS1ncmF5IC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM3LCA0MCwgNDMsIDAuNSk7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtd2hpdGUgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI0LCAyMjQsIDIyNCwgMC41KTtcbiAgICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwge1xuICBiYWNrZ3JvdW5kOiB1cmwofnNyYy9hc3NldHMvaW1hZ2VzL2JhY2tncm91bmQtZGFyay5wbmcpO1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCB7XG4gIGJhY2tncm91bmQ6IHVybCh+c3JjL2Fzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC1ncmF5LnBuZyk7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCB7XG4gIGJhY2tncm91bmQ6IHVybCh+c3JjL2Fzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC13aGl0ZS5wbmcpO1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuY29udGVudCAuaWNvbi5lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZTUyNTI7IH1cblxuLnRoZW1lLWdyYXkgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNvbnRlbnQgLmljb24uZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmU1MjUyOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuY29udGVudCAuaWNvbi5lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjUyNTI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNvbnRlbnQgLmljb24uc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Y2RhOWQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNvbnRlbnQgLmljb24uc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5jb250ZW50IC5pY29uLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZjMTcyOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5jb250ZW50IC5pY29uLmluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5jb250ZW50IC5pY29uLmluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuY29udGVudCAuaWNvbi5pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuYWN0aW9uLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7XG4gIGNvbG9yOiAjMTExOTIxOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5hY3Rpb24tYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTtcbiAgY29sb3I6ICMxYTFhMWE7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5hY3Rpb24tYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnRoZW1lLWRhcmsgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNsb3NlLWJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NTY1NzY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNsb3NlLWJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MTU5NjA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5jbG9zZS1idXR0b24gLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMnJlbSBzb2xpZCAjMmIzNjQ0OyB9XG5cbi50aGVtZS1ncmF5IGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMnJlbSBzb2xpZCAjMmYzNDM4OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtdHJhbnNhY3Rpb24tZGV0YWlscyAudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJyZW0gc29saWQgI2ViZWJlYjsgfVxuXG4udGhlbWUtZGFyayBhcHAtdHJhbnNhY3Rpb24tZGV0YWlscyAudGFibGUgLnJvdyAuY2VsbC5sYWJlbCB7XG4gIGNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSAucm93IC5jZWxsLmxhYmVsIHtcbiAgY29sb3I6ICM1NjVjNjI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSAucm93IC5jZWxsLmxhYmVsIHtcbiAgY29sb3I6ICNhMGE1YWI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIC5yb3cgLmNlbGwudmFsdWUge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtdHJhbnNhY3Rpb24tZGV0YWlscyAudGFibGUgLnJvdyAuY2VsbC52YWx1ZSB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtdHJhbnNhY3Rpb24tZGV0YWlscyAudGFibGUgLnJvdyAuY2VsbC52YWx1ZSB7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSAucm93IC5jZWxsLmtleS12YWx1ZSB7XG4gIGNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSAucm93IC5jZWxsLmtleS12YWx1ZSB7XG4gIGNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtdHJhbnNhY3Rpb24tZGV0YWlscyAudGFibGUgLnJvdyAuY2VsbC5rZXktdmFsdWUge1xuICBjb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtcHJvZ3Jlc3MtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXByb2dyZXNzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtcHJvZ3Jlc3MtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXByb2dyZXNzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2Y0YTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtcHJvZ3Jlc3MtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzYTNlOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtcHJvZ3Jlc3MtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1wcm9ncmVzcy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciAucHJvZ3Jlc3MtYmFyLWZ1bGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1wcm9ncmVzcy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciAucHJvZ3Jlc3MtYmFyLWZ1bGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDdjZjhkOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtcHJvZ3Jlc3MtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIgLnByb2dyZXNzLWJhci1mdWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ2YzE3MjsgfVxuXG5hcHAtbWFpbiwgYXBwLWNyZWF0ZS13YWxsZXQsIGFwcC1vcGVuLXdhbGxldCwgYXBwLXJlc3RvcmUtd2FsbGV0LCBhcHAtc2VlZC1waHJhc2UsIGFwcC13YWxsZXQtZGV0YWlscywgYXBwLWFzc2lnbi1hbGlhcywgYXBwLWVkaXQtYWxpYXMsIGFwcC10cmFuc2Zlci1hbGlhcywgYXBwLXNldHRpbmdzLCBhcHAtbG9naW4ge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogM3JlbTtcbiAgbWluLXdpZHRoOiA4NXJlbTsgfVxuICBhcHAtbWFpbiAuY29udGVudCwgYXBwLWNyZWF0ZS13YWxsZXQgLmNvbnRlbnQsIGFwcC1vcGVuLXdhbGxldCAuY29udGVudCwgYXBwLXJlc3RvcmUtd2FsbGV0IC5jb250ZW50LCBhcHAtc2VlZC1waHJhc2UgLmNvbnRlbnQsIGFwcC13YWxsZXQtZGV0YWlscyAuY29udGVudCwgYXBwLWFzc2lnbi1hbGlhcyAuY29udGVudCwgYXBwLWVkaXQtYWxpYXMgLmNvbnRlbnQsIGFwcC10cmFuc2Zlci1hbGlhcyAuY29udGVudCwgYXBwLXNldHRpbmdzIC5jb250ZW50LCBhcHAtbG9naW4gLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAzcmVtO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgICAudGhlbWUtZGFyayBhcHAtbWFpbiAuY29udGVudCwgLnRoZW1lLWRhcmsgYXBwLWNyZWF0ZS13YWxsZXQgLmNvbnRlbnQsIC50aGVtZS1kYXJrIGFwcC1vcGVuLXdhbGxldCAuY29udGVudCwgLnRoZW1lLWRhcmsgYXBwLXJlc3RvcmUtd2FsbGV0IC5jb250ZW50LCAudGhlbWUtZGFyayBhcHAtc2VlZC1waHJhc2UgLmNvbnRlbnQsIC50aGVtZS1kYXJrIGFwcC13YWxsZXQtZGV0YWlscyAuY29udGVudCwgLnRoZW1lLWRhcmsgYXBwLWFzc2lnbi1hbGlhcyAuY29udGVudCwgLnRoZW1lLWRhcmsgYXBwLWVkaXQtYWxpYXMgLmNvbnRlbnQsIC50aGVtZS1kYXJrIGFwcC10cmFuc2Zlci1hbGlhcyAuY29udGVudCwgLnRoZW1lLWRhcmsgYXBwLXNldHRpbmdzIC5jb250ZW50LCAudGhlbWUtZGFyayBhcHAtbG9naW4gLmNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MywgNTQsIDY4LCAwLjUpO1xuICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAudGhlbWUtZ3JheSBhcHAtbWFpbiAuY29udGVudCwgLnRoZW1lLWdyYXkgYXBwLWNyZWF0ZS13YWxsZXQgLmNvbnRlbnQsIC50aGVtZS1ncmF5IGFwcC1vcGVuLXdhbGxldCAuY29udGVudCwgLnRoZW1lLWdyYXkgYXBwLXJlc3RvcmUtd2FsbGV0IC5jb250ZW50LCAudGhlbWUtZ3JheSBhcHAtc2VlZC1waHJhc2UgLmNvbnRlbnQsIC50aGVtZS1ncmF5IGFwcC13YWxsZXQtZGV0YWlscyAuY29udGVudCwgLnRoZW1lLWdyYXkgYXBwLWFzc2lnbi1hbGlhcyAuY29udGVudCwgLnRoZW1lLWdyYXkgYXBwLWVkaXQtYWxpYXMgLmNvbnRlbnQsIC50aGVtZS1ncmF5IGFwcC10cmFuc2Zlci1hbGlhcyAuY29udGVudCwgLnRoZW1lLWdyYXkgYXBwLXNldHRpbmdzIC5jb250ZW50LCAudGhlbWUtZ3JheSBhcHAtbG9naW4gLmNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNywgNDAsIDQzLCAwLjUpO1xuICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAudGhlbWUtd2hpdGUgYXBwLW1haW4gLmNvbnRlbnQsIC50aGVtZS13aGl0ZSBhcHAtY3JlYXRlLXdhbGxldCAuY29udGVudCwgLnRoZW1lLXdoaXRlIGFwcC1vcGVuLXdhbGxldCAuY29udGVudCwgLnRoZW1lLXdoaXRlIGFwcC1yZXN0b3JlLXdhbGxldCAuY29udGVudCwgLnRoZW1lLXdoaXRlIGFwcC1zZWVkLXBocmFzZSAuY29udGVudCwgLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQtZGV0YWlscyAuY29udGVudCwgLnRoZW1lLXdoaXRlIGFwcC1hc3NpZ24tYWxpYXMgLmNvbnRlbnQsIC50aGVtZS13aGl0ZSBhcHAtZWRpdC1hbGlhcyAuY29udGVudCwgLnRoZW1lLXdoaXRlIGFwcC10cmFuc2Zlci1hbGlhcyAuY29udGVudCwgLnRoZW1lLXdoaXRlIGFwcC1zZXR0aW5ncyAuY29udGVudCwgLnRoZW1lLXdoaXRlIGFwcC1sb2dpbiAuY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICBjb2xvcjogIzQzNDU0YjsgfVxuICAgIGFwcC1tYWluIC5jb250ZW50IC5oZWFkLCBhcHAtY3JlYXRlLXdhbGxldCAuY29udGVudCAuaGVhZCwgYXBwLW9wZW4td2FsbGV0IC5jb250ZW50IC5oZWFkLCBhcHAtcmVzdG9yZS13YWxsZXQgLmNvbnRlbnQgLmhlYWQsIGFwcC1zZWVkLXBocmFzZSAuY29udGVudCAuaGVhZCwgYXBwLXdhbGxldC1kZXRhaWxzIC5jb250ZW50IC5oZWFkLCBhcHAtYXNzaWduLWFsaWFzIC5jb250ZW50IC5oZWFkLCBhcHAtZWRpdC1hbGlhcyAuY29udGVudCAuaGVhZCwgYXBwLXRyYW5zZmVyLWFsaWFzIC5jb250ZW50IC5oZWFkLCBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLmhlYWQsIGFwcC1sb2dpbiAuY29udGVudCAuaGVhZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1tYWluIC5jb250ZW50IC5hZGQtd2FsbGV0IC5hZGQtd2FsbGV0LWhlbHAge1xuICBjb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtbWFpbiAuY29udGVudCAuYWRkLXdhbGxldCAuYWRkLXdhbGxldC1oZWxwIHtcbiAgY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1tYWluIC5jb250ZW50IC5hZGQtd2FsbGV0IC5hZGQtd2FsbGV0LWhlbHAge1xuICBjb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtbWFpbiAuY29udGVudCAuYWRkLXdhbGxldCAuYWRkLXdhbGxldC1oZWxwIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtbWFpbiAuY29udGVudCAuYWRkLXdhbGxldCAuYWRkLXdhbGxldC1oZWxwIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLW1haW4gLmNvbnRlbnQgLmFkZC13YWxsZXQgLmFkZC13YWxsZXQtaGVscCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNlZWQtcGhyYXNlIC5zZWVkLXBocmFzZS1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3MWUyNztcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNlZWQtcGhyYXNlIC5zZWVkLXBocmFzZS1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI5MmQzMTtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zZWVkLXBocmFzZSAuc2VlZC1waHJhc2UtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQtZGV0YWlscyAuc2VlZC1waHJhc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcxZTI3OyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQtZGV0YWlscyAuc2VlZC1waHJhc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0LWRldGFpbHMgLnNlZWQtcGhyYXNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuXG5hcHAtc2V0dGluZ3MgLmNvbnRlbnQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAudGhlbWUtZGFyayBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnRoZW1lLXNlbGVjdGlvbiB7XG4gICAgY29sb3I6ICM1NTY1NzY7IH1cbiAgLnRoZW1lLWdyYXkgYXBwLXNldHRpbmdzIC5jb250ZW50IC50aGVtZS1zZWxlY3Rpb24ge1xuICAgIGNvbG9yOiAjNTY1YzYyOyB9XG4gIC50aGVtZS13aGl0ZSBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnRoZW1lLXNlbGVjdGlvbiB7XG4gICAgY29sb3I6ICNhMGE1YWI7IH1cbiAgLnRoZW1lLWRhcmsgYXBwLXNldHRpbmdzIC5jb250ZW50IC5zY2FsZS1zZWxlY3Rpb24gLmJ1dHRvbi1ibG9jayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMywgMzEsIDM5LCAwLjUpOyB9XG4gIC50aGVtZS1ncmF5IGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjgsIDMwLCAzMywgMC41KTsgfVxuICAudGhlbWUtd2hpdGUgYXBwLXNldHRpbmdzIC5jb250ZW50IC5zY2FsZS1zZWxlY3Rpb24gLmJ1dHRvbi1ibG9jayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjQsIDIyNCwgMjI0LCAwLjUpOyB9XG4gIC50aGVtZS1kYXJrIGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2sgLmxhYmVsIHtcbiAgICBjb2xvcjogIzU1NjU3NjsgfVxuICAudGhlbWUtZ3JheSBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnNjYWxlLXNlbGVjdGlvbiAuYnV0dG9uLWJsb2NrIC5sYWJlbCB7XG4gICAgY29sb3I6ICM1NjVjNjI7IH1cbiAgLnRoZW1lLXdoaXRlIGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2sgLmxhYmVsIHtcbiAgICBjb2xvcjogI2EwYTVhYjsgfVxuICAudGhlbWUtZGFyayBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnNjYWxlLXNlbGVjdGlvbiAuYnV0dG9uLWJsb2NrLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuICAudGhlbWUtZ3JheSBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnNjYWxlLXNlbGVjdGlvbiAuYnV0dG9uLWJsb2NrLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuICAudGhlbWUtd2hpdGUgYXBwLXNldHRpbmdzIC5jb250ZW50IC5zY2FsZS1zZWxlY3Rpb24gLmJ1dHRvbi1ibG9jay5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cbiAgLnRoZW1lLWRhcmsgYXBwLXNldHRpbmdzIC5jb250ZW50IC5zY2FsZS1zZWxlY3Rpb24gLmJ1dHRvbi1ibG9jay5hY3RpdmUgLmxhYmVsIHtcbiAgICBjb2xvcjogIzRkYjFmZjsgfVxuICAudGhlbWUtZ3JheSBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnNjYWxlLXNlbGVjdGlvbiAuYnV0dG9uLWJsb2NrLmFjdGl2ZSAubGFiZWwge1xuICAgIGNvbG9yOiAjNDJhNWY1OyB9XG4gIC50aGVtZS13aGl0ZSBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnNjYWxlLXNlbGVjdGlvbiAuYnV0dG9uLWJsb2NrLmFjdGl2ZSAubGFiZWwge1xuICAgIGNvbG9yOiAjMmM5NWYxOyB9XG5cbmFwcC1sb2dpbiB7XG4gIG1pbi13aWR0aDogaW5oZXJpdDsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMsIDMxLCAzOSwgMC41KTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjgsIDMwLCAzMywgMC41KTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtaGVhZGVyIGgzIHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtaGVhZGVyIGgzIHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWhlYWRlciBoMyB7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWhlYWRlciBidXR0b24ge1xuICBjb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1oZWFkZXIgYnV0dG9uIHtcbiAgY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWhlYWRlciBidXR0b24ge1xuICBjb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC50ZXh0IHtcbiAgY29sb3I6ICM1NTY1NzY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC50ZXh0IHtcbiAgY29sb3I6ICM1NjVjNjI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAudGV4dCB7XG4gIGNvbG9yOiAjYTBhNWFiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cgLmluZGljYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7XG4gIGNvbG9yOiAjMTExOTIxOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTtcbiAgY29sb3I6ICMxYTFhMWE7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzZjRhOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM2M2EzZTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGE5ZDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciAuZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ2YzE3MjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cuYWNjb3VudC1zeW5jaHJvbml6YXRpb24ge1xuICBjb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cuYWNjb3VudC1zeW5jaHJvbml6YXRpb24ge1xuICBjb2xvcjogIzU2NWM2MjsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93LmFjY291bnQtc3luY2hyb25pemF0aW9uIHtcbiAgY29sb3I6ICNhMGE1YWI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDMsIDU0LCA2OCwgMC41KTtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzcsIDQwLCA0MywgMC41KTtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4OGU1O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93IC50ZXh0IHtcbiAgY29sb3I6ICM1NTY1NzY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSAuc2lkZWJhci1hY2NvdW50LXJvdyAudGV4dCB7XG4gIGNvbG9yOiAjNTY1YzYyOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93IC50ZXh0IHtcbiAgY29sb3I6ICM5MWJhZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSAuc2lkZWJhci1hY2NvdW50LXJvdyAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjtcbiAgY29sb3I6ICMxMTE5MjE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSAuc2lkZWJhci1hY2NvdW50LXJvdyAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTtcbiAgY29sb3I6ICMxYTFhMWE7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUgLnNpZGViYXItYWNjb3VudC1yb3cgLmluZGljYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUgLnNpZGViYXItYWNjb3VudC1yb3cgLnN3aXRjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUgLnNpZGViYXItYWNjb3VudC1yb3cgLnN3aXRjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93IC5zd2l0Y2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93LmFjY291bnQtc3luY2hyb25pemF0aW9uIHtcbiAgY29sb3I6ICM1NTY1NzY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSAuc2lkZWJhci1hY2NvdW50LXJvdy5hY2NvdW50LXN5bmNocm9uaXphdGlvbiB7XG4gIGNvbG9yOiAjNTY1YzYyOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93LmFjY291bnQtc3luY2hyb25pemF0aW9uIHtcbiAgY29sb3I6ICM5MWJhZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50OmhvdmVyOm5vdCguYWN0aXZlKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTgsIDY5LCA4NSwgMC41KTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQ6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNjIsIDY2LCAwLjUpOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQ6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjUpOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXNldHRpbmdzIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkICMxZjI4MzM7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3Mge1xuICBib3JkZXItYm90dG9tOiAwLjJyZW0gc29saWQgIzJlMzMzNzsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3Mge1xuICBib3JkZXItYm90dG9tOiAwLjJyZW0gc29saWQgI2ViZWJlYjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24gYnV0dG9uIHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3MgLndyYXAtYnV0dG9uIGJ1dHRvbiB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24gYnV0dG9uIHtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3MgLndyYXAtYnV0dG9uIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3MgLndyYXAtYnV0dG9uIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXNldHRpbmdzIC53cmFwLWJ1dHRvbiBidXR0b24gLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXNldHRpbmdzIC53cmFwLWJ1dHRvbi5hY3RpdmUgYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MywgNTQsIDY4LCAwLjUpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZTBlMGUwICFpbXBvcnRhbnQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3MgLndyYXAtYnV0dG9uLmFjdGl2ZSBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM3LCA0MCwgNDMsIDAuNSkgIWltcG9ydGFudDtcbiAgY29sb3I6ICNlMGUwZTAgIWltcG9ydGFudDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3MgLndyYXAtYnV0dG9uLmFjdGl2ZSBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4OGU1ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3MgLndyYXAtYnV0dG9uLmFjdGl2ZSBidXR0b24gLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmICFpbXBvcnRhbnQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3MgLndyYXAtYnV0dG9uLmFjdGl2ZSBidXR0b24gLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1ICFpbXBvcnRhbnQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXNldHRpbmdzIC53cmFwLWJ1dHRvbi5hY3RpdmUgYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50OyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMge1xuICBjb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIHtcbiAgY29sb3I6ICM1NjVjNjI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMge1xuICBjb2xvcjogI2EwYTVhYjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5vZmZsaW5lOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZTUyNTI7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAub2ZmbGluZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1MjUyOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5vZmZsaW5lOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjUyNTI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAub25saW5lOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Y2RhOWQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAub25saW5lOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLm9ubGluZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZjMTcyOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLnRlc3RuZXQge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC50ZXN0bmV0IHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLnRlc3RuZXQge1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5zeW5jaW5nIC5wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzZjRhOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnN5bmNpbmcgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNjNhM2U7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnN5bmNpbmcgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGM7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAuc3luY2luZyAucHJvZ3Jlc3MtYmFyIC5maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGE5ZDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5zeW5jaW5nIC5wcm9ncmVzcy1iYXIgLmZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDdjZjhkOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5zeW5jaW5nIC5wcm9ncmVzcy1iYXIgLmZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZjMTcyOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnByb2dyZXNzLWJhci1jb250YWluZXIgLmxvYWRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnByb2dyZXNzLWJhci1jb250YWluZXIgLmxvYWRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDdjZjhkOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5sb2FkaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ2YzE3MjsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IHtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldCAuaGVhZGVyIGJ1dHRvbiB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQgLmhlYWRlciBidXR0b24ge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXdhbGxldCAuaGVhZGVyIGJ1dHRvbiB7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQgLmhlYWRlciBidXR0b24gLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQgLmhlYWRlciBidXR0b24gLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC5oZWFkZXIgYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IC5oZWFkZXIgLmFsaWFzIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtd2FsbGV0IC5oZWFkZXIgLmFsaWFzIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXdhbGxldCAuaGVhZGVyIC5hbGlhcyAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldCAuYWRkcmVzcyB7XG4gIGNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQgLmFkZHJlc3Mge1xuICBjb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXdhbGxldCAuYWRkcmVzcyB7XG4gIGNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQgLmFkZHJlc3MgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQgLmFkZHJlc3MgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC5hZGRyZXNzIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWhlYWRlciAudGFiIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMywgMzEsIDM5LCAwLjUpOyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI4LCAzMCwgMzMsIDAuNSk7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyNCwgMjI0LCAyMjQsIDAuNSk7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWIgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWIgLmluZGljYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7XG4gIGNvbG9yOiAjMTExOTIxOyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWIgLmluZGljYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7XG4gIGNvbG9yOiAjMWExYTFhOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWhlYWRlciAudGFiIC5pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWhlYWRlciAudGFiLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDMsIDU0LCA2OCwgMC41KTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWhlYWRlciAudGFiLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzcsIDQwLCA0MywgMC41KTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYjpob3Zlcjpub3QoLmFjdGl2ZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU4LCA2OSwgODUsIDAuNSk7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYjpob3Zlcjpub3QoLmFjdGl2ZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU4LCA2MiwgNjYsIDAuNSk7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWI6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQzLCA1NCwgNjgsIDAuNSk7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAudGFicyAudGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNywgNDAsIDQzLCAwLjUpOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNlbmQgLmZvcm0tc2VuZCAuaW5wdXQtYmxvY2stYWRkcmVzcyAuYWRkcmVzcy1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzFlMjc7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zZW5kIC5mb3JtLXNlbmQgLmlucHV0LWJsb2NrLWFkZHJlc3MgLmFkZHJlc3MtZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxO1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNlbmQgLmZvcm0tc2VuZCAuaW5wdXQtYmxvY2stYWRkcmVzcyAuYWRkcmVzcy1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zZW5kIC5mb3JtLXNlbmQgLmlucHV0LWJsb2NrLWFkZHJlc3MgLmFkZHJlc3MtZHJvcGRvd24gZGl2OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNjksIDg1LCAwLjUpOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zZW5kIC5mb3JtLXNlbmQgLmlucHV0LWJsb2NrLWFkZHJlc3MgLmFkZHJlc3MtZHJvcGRvd24gZGl2OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNjIsIDY2LCAwLjUpOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2VuZCAuZm9ybS1zZW5kIC5pbnB1dC1ibG9jay1hZGRyZXNzIC5hZGRyZXNzLWRyb3Bkb3duIGRpdjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQwLCAyNDAsIDI0MCwgMC41KTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2VuZCAuZm9ybS1zZW5kIC5zZW5kLXNlbGVjdCB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zZW5kIC5mb3JtLXNlbmQgLnNlbmQtc2VsZWN0IHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zZW5kIC5mb3JtLXNlbmQgLnNlbmQtc2VsZWN0IHtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNlbmQgLmZvcm0tc2VuZCAuc2VuZC1zZWxlY3QgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zZW5kIC5mb3JtLXNlbmQgLnNlbmQtc2VsZWN0IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNlbmQgLmZvcm0tc2VuZCAuc2VuZC1zZWxlY3QgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zZW5kIC5mb3JtLXNlbmQgLmFkZGl0aW9uYWwtZGV0YWlscyB7XG4gIGJvcmRlcjogMC4ycmVtIHNvbGlkICMyYjM2NDQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNlbmQgLmZvcm0tc2VuZCAuYWRkaXRpb25hbC1kZXRhaWxzIHtcbiAgYm9yZGVyOiAwLjJyZW0gc29saWQgIzJmMzQzODsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNlbmQgLmZvcm0tc2VuZCAuYWRkaXRpb25hbC1kZXRhaWxzIHtcbiAgYm9yZGVyOiAwLjJyZW0gc29saWQgI2ViZWJlYjsgfVxuXG4udGhlbWUtZGFyayBhcHAtcmVjZWl2ZSAuYnRuLWNvcHktYWRkcmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXJlY2VpdmUgLmJ0bi1jb3B5LWFkZHJlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtcmVjZWl2ZSAuYnRuLWNvcHktYWRkcmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzEpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE4MjAyYTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rMSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjUyOTJkOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rMSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCg0bisyKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxODIwMmE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzIpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjkyZDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzIpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4udGhlbWUtZGFyayBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rMykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rMykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnRoZW1lLWRhcmsgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCg0bis0KSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi50aGVtZS1kYXJrIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyIC5zdGF0dXMgLmNvbmZpcm1hdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNmNGE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHIgLnN0YXR1cyAuY29uZmlybWF0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM2M2EzZTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHIgLnN0YXR1cyAuY29uZmlybWF0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYzsgfVxuXG4udGhlbWUtZGFyayBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0ciAuc3RhdHVzIC5jb25maXJtYXRpb24gLmZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyIC5zdGF0dXMgLmNvbmZpcm1hdGlvbiAuZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyIC5zdGF0dXMgLmNvbmZpcm1hdGlvbiAuZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHIgLnN0YXR1cy5zZW5kIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTI1MjsgfVxuXG5hcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0ciAuc3RhdHVzLnJlY2VpdmVkIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYzg1MzsgfVxuXG4udGhlbWUtZGFyayBhcHAtY29udHJhY3RzIC53cmFwLXRhYmxlIC5jb250cmFjdCAuaWNvbi5uZXcsIC50aGVtZS1kYXJrIGFwcC1jb250cmFjdHMgLndyYXAtdGFibGUgLmNvbnRyYWN0IC5pY29uLmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlNTI1MjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtY29udHJhY3RzIC53cmFwLXRhYmxlIC5jb250cmFjdCAuaWNvbi5uZXcsIC50aGVtZS1ncmF5IGFwcC1jb250cmFjdHMgLndyYXAtdGFibGUgLmNvbnRyYWN0IC5pY29uLmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlNTI1MjsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLWNvbnRyYWN0cyAud3JhcC10YWJsZSAuY29udHJhY3QgLmljb24ubmV3LCAudGhlbWUtd2hpdGUgYXBwLWNvbnRyYWN0cyAud3JhcC10YWJsZSAuY29udHJhY3QgLmljb24uYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1MjUyOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1jb250cmFjdHMgLndyYXAtdGFibGUgLmNvbnRyYWN0IC5pY29uLnB1cmNoYXNlLCAudGhlbWUtZGFyayBhcHAtY29udHJhY3RzIC53cmFwLXRhYmxlIC5jb250cmFjdCAuaWNvbi5zZWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtY29udHJhY3RzIC53cmFwLXRhYmxlIC5jb250cmFjdCAuaWNvbi5wdXJjaGFzZSwgLnRoZW1lLWdyYXkgYXBwLWNvbnRyYWN0cyAud3JhcC10YWJsZSAuY29udHJhY3QgLmljb24uc2VsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1jb250cmFjdHMgLndyYXAtdGFibGUgLmNvbnRyYWN0IC5pY29uLnB1cmNoYXNlLCAudGhlbWUtd2hpdGUgYXBwLWNvbnRyYWN0cyAud3JhcC10YWJsZSAuY29udHJhY3QgLmljb24uc2VsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXB1cmNoYXNlIC5mb3JtLXB1cmNoYXNlIC5wdXJjaGFzZS1zZWxlY3Qge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLnB1cmNoYXNlLXNlbGVjdCB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLnB1cmNoYXNlLXNlbGVjdCB7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAucHVyY2hhc2Utc2VsZWN0IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLnB1cmNoYXNlLXNlbGVjdCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAucHVyY2hhc2Utc2VsZWN0IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLnB1cmNoYXNlLXN0YXRlcyB7XG4gIGNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAucHVyY2hhc2Utc3RhdGVzIHtcbiAgY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAucHVyY2hhc2Utc3RhdGVzIHtcbiAgY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXB1cmNoYXNlIC5mb3JtLXB1cmNoYXNlIC5hZGRpdGlvbmFsLWRldGFpbHMge1xuICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjMmIzNjQ0OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAuYWRkaXRpb25hbC1kZXRhaWxzIHtcbiAgYm9yZGVyOiAwLjJyZW0gc29saWQgIzJmMzQzODsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXB1cmNoYXNlIC5mb3JtLXB1cmNoYXNlIC5hZGRpdGlvbmFsLWRldGFpbHMge1xuICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjZWJlYmViOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1wdXJjaGFzZSAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2Y0YTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtcHVyY2hhc2UgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNjNhM2U7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wdXJjaGFzZSAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYzsgfVxuXG4udGhlbWUtZGFyayBhcHAtcHVyY2hhc2UgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciAucHJvZ3Jlc3MtYmFyLWZ1bGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1wdXJjaGFzZSAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5wcm9ncmVzcy1iYXItZnVsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wdXJjaGFzZSAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5wcm9ncmVzcy1iYXItZnVsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuYXBwLW1lc3NhZ2VzIHRhYmxlIHRib2R5IHRyIHRkOmZpcnN0LWNoaWxkIHNwYW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4udGhlbWUtZGFyayBhcHAtbWVzc2FnZXMgdGFibGUgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmU1MjUyOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1tZXNzYWdlcyB0YWJsZSB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZTUyNTI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1tZXNzYWdlcyB0YWJsZSB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjUyNTI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXR5cGluZy1tZXNzYWdlIC5oZWFkIC5pbnRlcmxvY3V0b3Ige1xuICBjb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtdHlwaW5nLW1lc3NhZ2UgLmhlYWQgLmludGVybG9jdXRvciB7XG4gIGNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtdHlwaW5nLW1lc3NhZ2UgLmhlYWQgLmludGVybG9jdXRvciB7XG4gIGNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYuZGF0ZSB7XG4gIGNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYuZGF0ZSB7XG4gIGNvbG9yOiAjNTY1YzYyOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2LmRhdGUge1xuICBjb2xvcjogI2EwYTVhYjsgfVxuXG4udGhlbWUtZGFyayBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2Lm15IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJhMzU0NDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2Lm15IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwMzYzYzsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5teSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5teTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0xLjFyZW07XG4gIGJvcmRlcjogMS4ycmVtIHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC50aGVtZS1kYXJrIGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYubXk6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMmEzNTQ0OyB9XG4gIC50aGVtZS1ncmF5IGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYubXk6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMzAzNjNjOyB9XG4gIC50aGVtZS13aGl0ZSBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2Lm15OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjsgfVxuXG4udGhlbWUtZGFyayBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2LmJ1ZGR5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE4MjAyYTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2LmJ1ZGR5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjkyZDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5idWRkeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxuYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5idWRkeTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtMS4xcmVtO1xuICB0b3A6IDA7XG4gIGJvcmRlcjogMS4ycmVtIHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC50aGVtZS1kYXJrIGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYuYnVkZHk6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxODIwMmE7IH1cbiAgLnRoZW1lLWdyYXkgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5idWRkeTphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzI1MjkyZDsgfVxuICAudGhlbWUtd2hpdGUgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5idWRkeTphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2VkZWRlZDsgfVxuXG4udGhlbWUtZGFyayBhcHAtc3Rha2luZyAuY2hhcnQtaGVhZGVyIC5nZW5lcmFsIC5sYWJlbCB7XG4gIGNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zdGFraW5nIC5jaGFydC1oZWFkZXIgLmdlbmVyYWwgLmxhYmVsIHtcbiAgY29sb3I6ICM1NjVjNjI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zdGFraW5nIC5jaGFydC1oZWFkZXIgLmdlbmVyYWwgLmxhYmVsIHtcbiAgY29sb3I6ICNhMGE1YWI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXN0YWtpbmcgLmNoYXJ0LWhlYWRlciAuZ2VuZXJhbCAub3B0aW9ucyB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zdGFraW5nIC5jaGFydC1oZWFkZXIgLmdlbmVyYWwgLm9wdGlvbnMge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXN0YWtpbmcgLmNoYXJ0LWhlYWRlciAuZ2VuZXJhbCAub3B0aW9ucyB7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbmFwcC1zdGFraW5nIC5jaGFydC1oZWFkZXIgLnNlbGVjdGVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZmxleC1ncm93OiAxO1xuICBmb250LXNpemU6IDEuNnJlbTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc3Rha2luZyAuY2hhcnQtb3B0aW9ucyAudGl0bGUge1xuICBjb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc3Rha2luZyAuY2hhcnQtb3B0aW9ucyAudGl0bGUge1xuICBjb2xvcjogIzU2NWM2MjsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXN0YWtpbmcgLmNoYXJ0LW9wdGlvbnMgLnRpdGxlIHtcbiAgY29sb3I6ICNhMGE1YWI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXN0YWtpbmcgLmNoYXJ0LW9wdGlvbnMgLm9wdGlvbnMgYnV0dG9uIHtcbiAgY29sb3I6ICNlMGUwZTA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYjM2NDQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXN0YWtpbmcgLmNoYXJ0LW9wdGlvbnMgLm9wdGlvbnMgYnV0dG9uIHtcbiAgY29sb3I6ICNlMGUwZTA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOTJkMzE7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zdGFraW5nIC5jaGFydC1vcHRpb25zIC5vcHRpb25zIGJ1dHRvbiB7XG4gIGNvbG9yOiAjNDM0NTRiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zdGFraW5nIC5jaGFydC1vcHRpb25zIC5vcHRpb25zIGJ1dHRvbi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zdGFraW5nIC5jaGFydC1vcHRpb25zIC5vcHRpb25zIGJ1dHRvbi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTE1OTYwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc3Rha2luZyAuY2hhcnQtb3B0aW9ucyAub3B0aW9ucyBidXR0b24uYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4uaGVhZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgcGFkZGluZzogMCAzcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzcmVtOyB9XG4gIC50aGVtZS1kYXJrIC5oZWFkIHtcbiAgICBjb2xvcjogIzRkYjFmZjsgfVxuICAudGhlbWUtZ3JheSAuaGVhZCB7XG4gICAgY29sb3I6ICM0MmE1ZjU7IH1cbiAgLnRoZW1lLXdoaXRlIC5oZWFkIHtcbiAgICBjb2xvcjogIzJjOTVmMTsgfVxuICAuaGVhZCAuYnJlYWRjcnVtYnMgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCksIC5oZWFkIC5icmVhZGNydW1icyBhOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG91dGxpbmUtc3R5bGU6IG5vbmU7IH1cbiAgICAuaGVhZCAuYnJlYWRjcnVtYnMgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC5oZWFkIC5icmVhZGNydW1icyBhOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjVyZW07XG4gICAgICByaWdodDogLTEuNXJlbTtcbiAgICAgIHdpZHRoOiAwLjlyZW07XG4gICAgICBoZWlnaHQ6IDAuOXJlbTtcbiAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1yaWdodC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBtYXNrLXNpemU6IGNvdmVyOyB9XG4gICAgICAudGhlbWUtZGFyayAuaGVhZCAuYnJlYWRjcnVtYnMgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC50aGVtZS1kYXJrIC5oZWFkIC5icmVhZGNydW1icyBhOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG4gICAgICAudGhlbWUtZ3JheSAuaGVhZCAuYnJlYWRjcnVtYnMgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC50aGVtZS1ncmF5IC5oZWFkIC5icmVhZGNydW1icyBhOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG4gICAgICAudGhlbWUtd2hpdGUgLmhlYWQgLmJyZWFkY3J1bWJzID4gc3Bhbjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyLCAudGhlbWUtd2hpdGUgLmhlYWQgLmJyZWFkY3J1bWJzIGE6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cbiAgLmhlYWQgLmJhY2stYnRuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM0ZGIxZmY7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuM3JlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5oZWFkIC5iYWNrLWJ0biAuaWNvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuN3JlbTtcbiAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9iYWNrLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAwLjlyZW07XG4gICAgICBoZWlnaHQ6IDAuOXJlbTsgfVxuICAgICAgLnRoZW1lLWRhcmsgLmhlYWQgLmJhY2stYnRuIC5pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuICAgICAgLnRoZW1lLWdyYXkgLmhlYWQgLmJhY2stYnRuIC5pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC5oZWFkIC5iYWNrLWJ0biAuaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnNjcm9sbGVkLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTsgfVxuXG4uc2Nyb2xsZWQtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uc2Nyb2xsZWQtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDAuMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTsgfVxuXG4uc2Nyb2xsZWQtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2OyB9XG5cbnRhYmxlIHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIHRhYmxlIHRoZWFkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLnRoZW1lLWRhcmsgdGFibGUgdGhlYWQge1xuICAgICAgY29sb3I6ICM1NTY1NzY7IH1cbiAgICAudGhlbWUtZ3JheSB0YWJsZSB0aGVhZCB7XG4gICAgICBjb2xvcjogIzU2NWM2MjsgfVxuICAgIC50aGVtZS13aGl0ZSB0YWJsZSB0aGVhZCB7XG4gICAgICBjb2xvcjogI2EwYTVhYjsgfVxuICAgIHRhYmxlIHRoZWFkIHRyIHtcbiAgICAgIGhlaWdodDogNHJlbTsgfVxuICAgICAgdGFibGUgdGhlYWQgdHIgdGgge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG4gICAgICAgIHRhYmxlIHRoZWFkIHRyIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cbiAgICAgICAgdGFibGUgdGhlYWQgdHIgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfVxuICB0YWJsZSB0Ym9keSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC50aGVtZS1kYXJrIHRhYmxlIHRib2R5IHtcbiAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLnRoZW1lLWdyYXkgdGFibGUgdGJvZHkge1xuICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAudGhlbWUtd2hpdGUgdGFibGUgdGJvZHkge1xuICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgICB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICBoZWlnaHQ6IDMuNXJlbTsgfVxuICAgICAgLnRoZW1lLWRhcmsgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgyMDJhOyB9XG4gICAgICAudGhlbWUtZ3JheSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTI5MmQ7IH1cbiAgICAgIC50aGVtZS13aGl0ZSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIHRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuN3JlbTtcbiAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXgtd2lkdGg6IDIwcmVtOyB9XG4gICAgICAgIHRhYmxlIHRib2R5IHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cbiAgICAgICAgdGFibGUgdGJvZHkgdHIgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1MaWdodC50dGYpO1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogT3BlblNhbnM7XG4gIHNyYzogdXJsKH5zcmMvYXNzZXRzL2ZvbnRzL09wZW5TYW5zLVJlZ3VsYXIudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1TZW1pQm9sZC50dGYpO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogT3BlblNhbnM7XG4gIHNyYzogdXJsKH5zcmMvYXNzZXRzL2ZvbnRzL09wZW5TYW5zLUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1FeHRyYUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEwcHg7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBPcGVuU2Fucywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuICBib2R5LnRoZW1lLWRhcmsge1xuICAgIGJhY2tncm91bmQ6ICMxMzE5MjEgdXJsKFwiYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLWRhcmsucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBib2R5LnRoZW1lLWdyYXkge1xuICAgIGJhY2tncm91bmQ6ICMxMDE0MTcgdXJsKFwiYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLWdyYXkucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBib2R5LnRoZW1lLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlZWVlIHVybChcImFzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC13aGl0ZS5wbmdcIikgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIGJvZHkgYXBwLXJvb3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4iLCIubmctc2VsZWN0Lm5nLXNlbGVjdC1vcGVuZWQ+Lm5nLXNlbGVjdC1jb250YWluZXJ7YmFja2dyb3VuZDojZmZmO2JvcmRlci1jb2xvcjojYjNiM2IzICNjY2MgI2Q5ZDlkOX0ubmctc2VsZWN0Lm5nLXNlbGVjdC1vcGVuZWQ+Lm5nLXNlbGVjdC1jb250YWluZXI6aG92ZXJ7Ym94LXNoYWRvdzpub25lfS5uZy1zZWxlY3Qubmctc2VsZWN0LW9wZW5lZD4ubmctc2VsZWN0LWNvbnRhaW5lciAubmctYXJyb3d7dG9wOi0ycHg7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM5OTk7Ym9yZGVyLXdpZHRoOjAgNXB4IDVweH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1vcGVuZWQ+Lm5nLXNlbGVjdC1jb250YWluZXIgLm5nLWFycm93OmhvdmVye2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzMzfS5uZy1zZWxlY3Qubmctc2VsZWN0LW9wZW5lZC5uZy1zZWxlY3QtYm90dG9tPi5uZy1zZWxlY3QtY29udGFpbmVye2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5uZy1zZWxlY3Qubmctc2VsZWN0LW9wZW5lZC5uZy1zZWxlY3QtdG9wPi5uZy1zZWxlY3QtY29udGFpbmVye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowfS5uZy1zZWxlY3Qubmctc2VsZWN0LWZvY3VzZWQ6bm90KC5uZy1zZWxlY3Qtb3BlbmVkKT4ubmctc2VsZWN0LWNvbnRhaW5lcntib3JkZXItY29sb3I6IzAwN2VmZjtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLDAuMDc1KSwwIDAgMCAzcHggcmdiYSgwLDEyNiwyNTUsMC4xKX0ubmctc2VsZWN0Lm5nLXNlbGVjdC1kaXNhYmxlZD4ubmctc2VsZWN0LWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiNmOWY5Zjl9Lm5nLXNlbGVjdCAubmctaGFzLXZhbHVlIC5uZy1wbGFjZWhvbGRlcntkaXNwbGF5Om5vbmV9Lm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO21pbi1oZWlnaHQ6MzZweDthbGlnbi1pdGVtczpjZW50ZXJ9Lm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lcjpob3Zlcntib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwwLjA2KX0ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXJ7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctbGVmdDoxMHB4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVye3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWxlZnQ6MH0ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXBsYWNlaG9sZGVye2NvbG9yOiM5OTl9Lm5nLXNlbGVjdC5uZy1zZWxlY3Qtc2luZ2xlIC5uZy1zZWxlY3QtY29udGFpbmVye2hlaWdodDozNnB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LXNpbmdsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy1pbnB1dHt0b3A6NXB4O2xlZnQ6MDtwYWRkaW5nLWxlZnQ6MTBweDtwYWRkaW5nLXJpZ2h0OjUwcHh9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0Lm5nLXNlbGVjdC1zaW5nbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctaW5wdXR7cGFkZGluZy1yaWdodDoxMHB4O3BhZGRpbmctbGVmdDo1MHB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlLm5nLXNlbGVjdC1kaXNhYmxlZD4ubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiNmOWY5Zjk7Ym9yZGVyOjFweCBzb2xpZCAjZTZlNmU2fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlLm5nLXNlbGVjdC1kaXNhYmxlZD4ubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZSAubmctdmFsdWUtbGFiZWx7cGFkZGluZzowIDVweH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVye3BhZGRpbmctdG9wOjVweDtwYWRkaW5nLWxlZnQ6N3B4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lcntwYWRkaW5nLXJpZ2h0OjdweDtwYWRkaW5nLWxlZnQ6MH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZXtmb250LXNpemU6MC45ZW07bWFyZ2luLWJvdHRvbTo1cHg7YmFja2dyb3VuZC1jb2xvcjojZWJmNWZmO2JvcmRlci1yYWRpdXM6MnB4O21hcmdpbi1yaWdodDo1cHh9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZXttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDo1cHh9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUubmctdmFsdWUtZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojZjlmOWY5fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlLm5nLXZhbHVlLWRpc2FibGVkIC5uZy12YWx1ZS1sYWJlbHtwYWRkaW5nLWxlZnQ6NXB4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUubmctdmFsdWUtZGlzYWJsZWQgLm5nLXZhbHVlLWxhYmVse3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6NXB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1sYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjFweCA1cHh9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUgLm5nLXZhbHVlLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzoxcHggNXB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1pY29uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2QxZThmZn0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZSAubmctdmFsdWUtaWNvbi5sZWZ0e2JvcmRlci1yaWdodDoxcHggc29saWQgI2I4ZGJmZn1bZGlyPVwicnRsXCJdIC5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1pY29uLmxlZnR7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNiOGRiZmY7Ym9yZGVyLXJpZ2h0Om5vbmV9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUgLm5nLXZhbHVlLWljb24ucmlnaHR7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNiOGRiZmZ9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZSAubmctdmFsdWUtaWNvbi5yaWdodHtib3JkZXItbGVmdDowO2JvcmRlci1yaWdodDoxcHggc29saWQgI2I4ZGJmZn0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy1pbnB1dHtwYWRkaW5nOjAgMCAzcHggM3B4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctaW5wdXR7cGFkZGluZzowIDNweCAzcHggMH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy1wbGFjZWhvbGRlcnt0b3A6NXB4O3BhZGRpbmctYm90dG9tOjVweDtwYWRkaW5nLWxlZnQ6M3B4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctcGxhY2Vob2xkZXJ7cGFkZGluZy1yaWdodDozcHg7cGFkZGluZy1sZWZ0OjB9Lm5nLXNlbGVjdCAubmctY2xlYXItd3JhcHBlcntjb2xvcjojOTk5fS5uZy1zZWxlY3QgLm5nLWNsZWFyLXdyYXBwZXI6aG92ZXIgLm5nLWNsZWFye2NvbG9yOiNEMDAyMUJ9Lm5nLXNlbGVjdCAubmctc3Bpbm5lci16b25le3BhZGRpbmc6NXB4IDVweCAwIDB9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0IC5uZy1zcGlubmVyLXpvbmV7cGFkZGluZzo1cHggMCAwIDVweH0ubmctc2VsZWN0IC5uZy1hcnJvdy13cmFwcGVye3dpZHRoOjI1cHg7cGFkZGluZy1yaWdodDo1cHh9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0IC5uZy1hcnJvdy13cmFwcGVye3BhZGRpbmctbGVmdDo1cHg7cGFkZGluZy1yaWdodDowfS5uZy1zZWxlY3QgLm5nLWFycm93LXdyYXBwZXI6aG92ZXIgLm5nLWFycm93e2JvcmRlci10b3AtY29sb3I6IzY2Nn0ubmctc2VsZWN0IC5uZy1hcnJvdy13cmFwcGVyIC5uZy1hcnJvd3tib3JkZXItY29sb3I6Izk5OSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjVweCA1cHggMi41cHh9Lm5nLWRyb3Bkb3duLXBhbmVse2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsMC4wNik7bGVmdDowfS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtYm90dG9te3RvcDoxMDAlO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRweDtib3JkZXItdG9wLWNvbG9yOiNlNmU2ZTY7bWFyZ2luLXRvcDotMXB4fS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtYm90dG9tIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4fS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtdG9we2JvdHRvbToxMDAlO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWNvbG9yOiNlNmU2ZTY7bWFyZ2luLWJvdHRvbTotMXB4fS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtdG9wIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uOmZpcnN0LWNoaWxke2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLWhlYWRlcntib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjO3BhZGRpbmc6NXB4IDdweH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLWZvb3Rlcntib3JkZXItdG9wOjFweCBzb2xpZCAjY2NjO3BhZGRpbmc6NXB4IDdweH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1ze21hcmdpbi1ib3R0b206MXB4fS5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGdyb3Vwe3VzZXItc2VsZWN0Om5vbmU7cGFkZGluZzo4cHggMTBweDtmb250LXdlaWdodDo1MDA7Y29sb3I6cmdiYSgwLDAsMCwwLjU0KTtjdXJzb3I6cG9pbnRlcn0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRncm91cC5uZy1vcHRpb24tZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0Z3JvdXAubmctb3B0aW9uLW1hcmtlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNWZhZmZ9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0Z3JvdXAubmctb3B0aW9uLXNlbGVjdGVkLC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGdyb3VwLm5nLW9wdGlvbi1zZWxlY3RlZC5uZy1vcHRpb24tbWFya2Vke2JhY2tncm91bmQtY29sb3I6I2ViZjVmZjtmb250LXdlaWdodDo2MDB9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9ue2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjpyZ2JhKDAsMCwwLDAuODcpO3BhZGRpbmc6OHB4IDEwcHh9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1zZWxlY3RlZCwubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLXNlbGVjdGVkLm5nLW9wdGlvbi1tYXJrZWR7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNlYmY1ZmZ9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1zZWxlY3RlZCAubmctb3B0aW9uLWxhYmVsLC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tc2VsZWN0ZWQubmctb3B0aW9uLW1hcmtlZCAubmctb3B0aW9uLWxhYmVse2ZvbnQtd2VpZ2h0OjYwMH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLW1hcmtlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNWZhZmY7Y29sb3I6IzMzM30ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLWRpc2FibGVke2NvbG9yOiNjY2N9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1jaGlsZHtwYWRkaW5nLWxlZnQ6MjJweH1bZGlyPVwicnRsXCJdIC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tY2hpbGR7cGFkZGluZy1yaWdodDoyMnB4O3BhZGRpbmctbGVmdDowfS5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbiAubmctdGFnLWxhYmVse2ZvbnQtc2l6ZTo4MCU7Zm9udC13ZWlnaHQ6NDAwO3BhZGRpbmctcmlnaHQ6NXB4fVtkaXI9XCJydGxcIl0gLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uIC5uZy10YWctbGFiZWx7cGFkZGluZy1sZWZ0OjVweDtwYWRkaW5nLXJpZ2h0OjB9W2Rpcj1cInJ0bFwiXSAubmctZHJvcGRvd24tcGFuZWx7ZGlyZWN0aW9uOnJ0bDt0ZXh0LWFsaWduOnJpZ2h0fVxuIiwiLy8qICoqKioqKiogcmVzZXQgJiBub3JtYWxpemUgKioqKioqKiAgKi8vXHJcblxyXG4vLyBib3gtc2l6aW5nIHRoZSBzYW1lIGZvciBhbGwgZWxlbWVudHNcclxuaHRtbCB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcclxuICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcclxuICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgQGluY2x1ZGUgdW5TZWxlY3Q7XHJcbn1cclxuXHJcbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxyXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXHJcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcclxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcclxuYiwgdSwgaSwgY2VudGVyLFxyXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxyXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcclxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXHJcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxyXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXHJcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxyXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgZm9udC1zaXplOiAxMDAlO1xyXG4gICAgZm9udDogaW5oZXJpdDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxyXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICBsaW5lLWhlaWdodDogMTtcclxuICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcbm9sLCB1bCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcbmJsb2NrcXVvdGUsIHEge1xyXG4gICAgcXVvdGVzOiBub25lO1xyXG59XHJcbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLFxyXG5xOmJlZm9yZSwgcTphZnRlciB7XHJcbiAgICBjb250ZW50OiBub25lO1xyXG59XHJcblxyXG4vL3RhYmxlXHJcbnRhYmxlIHtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBib3JkZXItc3BhY2luZzogMDtcclxufVxyXG50ZCxcclxudGgge1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8vZm9ybXMgZWxlbWVudFxyXG5pbnB1dCB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgJjotd2Via2l0LWF1dG9maWxsIHtcclxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxMDAwcHggd2hpdGUgaW5zZXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxyXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXHJcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBvdXRsaW5lOiBub25lO1xyXG59XHJcbmJ1dHRvbltkaXNhYmxlZF0sXHJcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuaW5wdXQge1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbn1cclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbn1cclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG5cclxuLy9saW5rXHJcbmEge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHQmOmFjdGl2ZSxcclxuXHQmOmhvdmVyLFxyXG5cdCY6Zm9jdXMge1xyXG5cdFx0b3V0bGluZTogMDtcclxuXHR9XHJcbn1cclxuXHJcbmkgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cclxuYiwgc3Ryb25nIHsgZm9udC13ZWlnaHQ6IDcwMDsgICB9XHJcblxyXG4vLyBpbWFnZXNcclxuaW1nIHtcclxuXHR3aWR0aDogYXV0bztcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0Ym9yZGVyOiAwO1xyXG59XHJcblxyXG4uaGlkZGVuIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLmFwcC1jb250ZW50IHtcclxuXHJcbiAgLnByZWxvYWRlciB7XHJcblxyXG4gICAgLmxvYWRpbmctYmFyIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckZ1bGxCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5idXR0b24ge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIHBhZGRpbmc6IDAgMXJlbTtcclxuICBoZWlnaHQ6IDQuMnJlbTtcclxuXHJcbiAgJjpkaXNhYmxlZDpub3QoLnRyYW5zcGFyZW50LWJ1dHRvbikge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoZGlzYWJsZWRCdXR0b25CYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICBjb2xvcjogdGhlbWVkKGFsdGVybmF0aXZlVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChkaXNhYmxlZEJ1dHRvbkhvdmVyQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoZGlzYWJsZWRCdXR0b25Gb2N1c0NvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5ibHVlLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XHJcblxyXG4gICAgJi5lcnJvci10ZXh0IHtcclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChyZWRUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlQnV0dG9uQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgY29sb3I6IHRoZW1lZChhbHRlcm5hdGl2ZVRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZUJ1dHRvbkhvdmVyQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZUJ1dHRvbkZvY3VzQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmdyZWVuLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChncmVlbkJ1dHRvbkJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQoYWx0ZXJuYXRpdmVUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGdyZWVuQnV0dG9uSG92ZXJDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChncmVlbkJ1dHRvbkZvY3VzQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnR1cnF1b2lzZS1idXR0b246bm90KDpkaXNhYmxlZCkge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQodHVycXVvaXNlQnV0dG9uQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgY29sb3I6IHRoZW1lZChhbHRlcm5hdGl2ZVRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQodHVycXVvaXNlQnV0dG9uSG92ZXJDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZCh0dXJxdW9pc2VCdXR0b25Gb2N1c0NvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi50cmFuc3BhcmVudC1idXR0b24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlcjogMC4ycmVtIHNvbGlkIHRoZW1lZCh0cmFuc3BhcmVudEJ1dHRvbkJvcmRlckNvbG9yKTtcclxuICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuaWNvbiB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2NvbXBsZXRlLXRlc3R3YWxsZXQuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB3aWR0aDogMS43cmVtO1xyXG4gICAgICBoZWlnaHQ6IDEuN3JlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4uaW5wdXQtYmxvY2sge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICBtYXJnaW4tYm90dG9tOiAwLjRyZW07XHJcblxyXG4gIC53cmFwLWxhYmVsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgbWluLWhlaWdodDogMi40cmVtO1xyXG4gIH1cclxuXHJcbiAgbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMi40cmVtO1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlucHV0W3R5cGU9J3RleHQnXSwgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSwgc2VsZWN0IHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA0LjJyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChpbnB1dEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnRleHRhcmVhIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBPcGVuU2Fucywgc2Fucy1zZXJpZjtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBtaW4taGVpZ2h0OiA3LjVyZW07XHJcbiAgICAgIG1heC1oZWlnaHQ6IDcuNXJlbTtcclxuICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgIHJlc2l6ZTogbm9uZTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChpbnB1dEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmVycm9yLWJsb2NrIHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjRyZW07XHJcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKHJlZFRleHRDb2xvcik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZXJyb3ItdGV4dCB7XHJcbiAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICBjb2xvcjogdGhlbWVkKHJlZFRleHRDb2xvcik7XHJcbiAgfVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvIHtcclxuXHJcbiAgJiArIGxhYmVsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIHBhZGRpbmctbGVmdDogMi40cmVtO1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB1blNlbGVjdDtcclxuICB9XHJcblxyXG4gICY6bm90KGNoZWNrZWQpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIG9wYWNpdHk6IDA7XHJcblxyXG4gICAgJiArIGxhYmVsIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgICYgKyBsYWJlbDpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDAuN3JlbTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgd2lkdGg6IDEuNHJlbTtcclxuICAgICAgaGVpZ2h0OiAxLjRyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmICsgbGFiZWw6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDFyZW07XHJcbiAgICAgIGxlZnQ6IDAuM3JlbTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB3aWR0aDogMC44cmVtO1xyXG4gICAgICBoZWlnaHQ6IDAuOHJlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjpjaGVja2VkIHtcclxuXHJcbiAgICAmICsgbGFiZWw6YWZ0ZXIge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveCB7XHJcblxyXG4gICYgKyBsYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDMuNnJlbTtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdW5TZWxlY3Q7XHJcbiAgfVxyXG5cclxuICAmOm5vdChjaGVja2VkKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDEuNnJlbTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHJcbiAgICAmICsgbGFiZWwge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgJiArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiAxLjZyZW07XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIHdpZHRoOiAxLjRyZW07XHJcbiAgICAgIGhlaWdodDogMS40cmVtO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOmNoZWNrZWQge1xyXG5cclxuICAgICYgKyBsYWJlbDpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvY29tcGxldGUtdGVzdHdhbGxldC5zdmcpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uc3dpdGNoIHtcclxuXHJcbiAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoc3dpdGNoQmFja2dyb3VuZENvbG9yKTtcclxuICB9XHJcblxyXG4gIC5jaXJjbGUge1xyXG5cclxuICAgICYub24ge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5vZmYge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnRhYmxlLXRvb2x0aXAge1xyXG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gIHBhZGRpbmc6IDFyZW0gMnJlbTtcclxuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XHJcblxyXG4gIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgYmFja2dyb3VuZDogdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgYm94LXNoYWRvdzogdGhlbWVkKHRvb2x0aXBTaGFkb3cpO1xyXG4gICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC10b3Age1xyXG4gICAgbWFyZ2luLXRvcDogLTFyZW07XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogLTJyZW07XHJcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMXJlbSk7XHJcbiAgICAgIGJvcmRlci13aWR0aDogMXJlbTtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLm5nLXRvb2x0aXAtdG9wLWxlZnQge1xyXG4gICAgbWFyZ2luLXRvcDogLTFyZW07XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogLTFyZW07XHJcbiAgICAgIGxlZnQ6IDAuN3JlbTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAxcmVtIDFyZW0gMCAwO1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcikgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC10b3AtcmlnaHQge1xyXG4gICAgbWFyZ2luLXRvcDogLTFyZW07XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogLTFyZW07XHJcbiAgICAgIHJpZ2h0OiAwLjdyZW07XHJcbiAgICAgIGJvcmRlci13aWR0aDogMC41cmVtO1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcikgdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLm5nLXRvb2x0aXAtYm90dG9tIHtcclxuICAgIG1hcmdpbi10b3A6IDFyZW07XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogLTJyZW07XHJcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMXJlbSk7XHJcbiAgICAgIGJvcmRlci13aWR0aDogMXJlbTtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpIHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLm5nLXRvb2x0aXAtYm90dG9tLWxlZnQge1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAtMXJlbTtcclxuICAgICAgbGVmdDogMC43cmVtO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDAuNXJlbTtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpIHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5uZy10b29sdGlwLWJvdHRvbS1yaWdodCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IC0xcmVtO1xyXG4gICAgICByaWdodDogMC43cmVtO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDAuNXJlbTtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpIHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKSB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5uZy10b29sdGlwLWxlZnQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHJpZ2h0OiAtMXJlbTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAxcmVtIDFyZW0gMCAwO1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcikgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1yaWdodCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAtMXJlbTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAxcmVtIDAgMCAxcmVtO1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcikgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5iYWxhbmNlLXRvb2x0aXAge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBmb250LXNpemU6IDEuM3JlbTtcclxuICBwYWRkaW5nOiAxLjNyZW07XHJcblxyXG4gIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgYmFja2dyb3VuZDogdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgYm94LXNoYWRvdzogdGhlbWVkKHRvb2x0aXBTaGFkb3cpO1xyXG4gICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC10b3Age1xyXG4gICAgbWFyZ2luLXRvcDogLTFyZW07XHJcbiAgfVxyXG5cclxuICAmLm5nLXRvb2x0aXAtYm90dG9tIHtcclxuICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgfVxyXG5cclxuICAmLm5nLXRvb2x0aXAtbGVmdCB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07XHJcbiAgfVxyXG5cclxuICAmLm5nLXRvb2x0aXAtcmlnaHQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbiAgfVxyXG5cclxuICAuYXZhaWxhYmxlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEuN3JlbTtcclxuXHJcbiAgICBiIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5sb2NrZWQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC43cmVtO1xyXG5cclxuICAgIGIge1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxpbmsge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmFjY291bnQtdG9vbHRpcCB7XHJcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICBtYXgtd2lkdGg6IDE4cmVtO1xyXG59XHJcblxyXG4ubmd4LWNvbnRleHRtZW51IHtcclxuXHJcbiAgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGNoYXJ0T3B0aW9uc0JhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIGJveC1zaGFkb3c6IHRoZW1lZCh0b29sdGlwU2hhZG93KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1mYW1pbHk6IE9wZW5TYW5zLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChjaGFydE9wdGlvbnNIb3ZlckNvbG9yKTtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubmctc2VsZWN0IHtcclxuXHJcbiAgJi5sb2NrLXNlbGVjdGlvbi1zZWxlY3Qge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLm5nLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuICAgICAgaGVpZ2h0OiA0LjJyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoaW5wdXRCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5uZy12YWx1ZS1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmctZHJvcGRvd24tcGFuZWwge1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoaW5wdXRCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMge1xyXG5cclxuICAgICAgICAubmctb3B0aW9uIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgICAgcGFkZGluZzogMXJlbTtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGlucHV0QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLm5nLW9wdGlvbi1tYXJrZWQge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHNlbGVjdEhvdmVyQ29sb3IpO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLm5nLW9wdGlvbi1zZWxlY3RlZCB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoc2VsZWN0U2VsZWN0ZWRDb2xvcik7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLW1vZGFsLWNvbnRhaW5lciB7XHJcblxyXG4gIC5tb2RhbCB7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRoZW1lZChtb2RhbEJhY2tncm91bmQpO1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50IHtcclxuXHJcbiAgICAgIC5pY29uLmVycm9yIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQocmVkVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pY29uLnN1Y2Nlc3Mge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChncmVlblRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuaWNvbi5pbmZvIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFjdGlvbi1idXR0b24ge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgIGNvbG9yOiB0aGVtZWQoYWx0ZXJuYXRpdmVUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcblxyXG4gICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGNsb3NlQnV0dG9uQ29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMge1xyXG5cclxuICAudGFibGUge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBib3JkZXItdG9wOiAwLjJyZW0gc29saWQgdGhlbWVkKHRyYW5zcGFyZW50QnV0dG9uQm9yZGVyQ29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5yb3cge1xyXG5cclxuICAgICAgLmNlbGwge1xyXG5cclxuICAgICAgICAmLmxhYmVsIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnZhbHVlIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYua2V5LXZhbHVlIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1wcm9ncmVzcy1jb250YWluZXIge1xyXG5cclxuICAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciB7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2dyZXNzLWJhciB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQocHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAucHJvZ3Jlc3MtYmFyLWZ1bGwge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckZ1bGxCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIkdGhlbWVzOiAoXHJcbiAgZGFyazogKFxyXG4gICAgYm9keUJhY2tncm91bmRDb2xvcjogIzEzMTkyMSxcclxuICAgIHNpZGViYXJCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMjMsIDMxLCAzOSwgMC41KSxcclxuICAgIHNpZGViYXJCb3JkZXJDb2xvcjogIzFmMjgzMyxcclxuICAgIG9ubGluZUNvbG9yOiAjNWNkYTlkLFxyXG4gICAgb2ZmbGluZUNvbG9yOiAjZmU1MjUyLFxyXG4gICAgY29udGVudEJhY2tncm91bmRDb2xvcjogcmdiYSg0MywgNTQsIDY4LCAwLjUpLFxyXG4gICAgbWFpblRleHRDb2xvcjogI2UwZTBlMCxcclxuICAgIGFsdGVybmF0aXZlVGV4dENvbG9yOiAjMTExOTIxLFxyXG4gICAgb3B0aW9uYWxUZXh0Q29sb3I6ICM1NTY1NzYsXHJcbiAgICBibHVlVGV4dENvbG9yOiAjNGRiMWZmLFxyXG4gICAgZ3JlZW5UZXh0Q29sb3I6ICM1Y2RhOWQsXHJcbiAgICByZWRUZXh0Q29sb3I6ICNmZTUyNTIsXHJcbiAgICBibHVlQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjNGRiMWZmLFxyXG4gICAgYmx1ZUJ1dHRvbkhvdmVyQ29sb3I6ICM4MmQ3ZmYsXHJcbiAgICBibHVlQnV0dG9uRm9jdXNDb2xvcjogIzU5YjVmZCxcclxuICAgIGRpc2FibGVkQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjOWNhZGI3LFxyXG4gICAgZGlzYWJsZWRCdXR0b25Ib3ZlckNvbG9yOiAjYjdkMWUwLFxyXG4gICAgZGlzYWJsZWRCdXR0b25Gb2N1c0NvbG9yOiAjYTdiOWMyLFxyXG4gICAgZ3JlZW5CdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM1Y2RhOWQsXHJcbiAgICBncmVlbkJ1dHRvbkhvdmVyQ29sb3I6ICM4ZGZjYzYsXHJcbiAgICBncmVlbkJ1dHRvbkZvY3VzQ29sb3I6ICM2MmUwYjIsXHJcbiAgICB0dXJxdW9pc2VCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM0ZGQwZTEsXHJcbiAgICB0dXJxdW9pc2VCdXR0b25Ib3ZlckNvbG9yOiAjODdmNGY1LFxyXG4gICAgdHVycXVvaXNlQnV0dG9uRm9jdXNDb2xvcjogIzQyZDVlOCxcclxuICAgIHRyYW5zcGFyZW50QnV0dG9uQm9yZGVyQ29sb3I6ICMyYjM2NDQsXHJcbiAgICBpbnB1dEJhY2tncm91bmRDb2xvcjogIzE3MWUyNyxcclxuICAgIHNlbGVjdEhvdmVyQ29sb3I6IHJnYmEoNTgsIDY5LCA4NSwgMC41KSxcclxuICAgIHNlbGVjdFNlbGVjdGVkQ29sb3I6IHJnYmEoNDMsIDU0LCA2OCwgMC41KSxcclxuICAgIHN3aXRjaEJhY2tncm91bmRDb2xvcjogIzAwMDAwMCxcclxuICAgIGFjY291bnRCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoNDMsIDU0LCA2OCwgMC41KSxcclxuICAgIGFjY291bnRIb3ZlckJhY2tncm91bmRDb2xvcjogcmdiYSg1OCwgNjksIDg1LCAwLjUpLFxyXG4gICAgYWNjb3VudE1haW5UZXh0Q29sb3I6ICNlMGUwZTAsXHJcbiAgICBhY2NvdW50T3B0aW9uYWxUZXh0Q29sb3I6ICM1NTY1NzYsXHJcbiAgICBhY2NvdW50SW5kaWNhdG9yVGV4dENvbG9yOiAjMTExOTIxLFxyXG4gICAgYWNjb3VudFN3aXRjaEJhY2tncm91bmRDb2xvcjogIzAwMDAwMCxcclxuICAgIGFjY291bnRJbmRpY2F0b3JCYWNrZ3JvdW5kQ29sb3I6ICM0ZGIxZmYsXHJcbiAgICB0YWJJbmFjdGl2ZUJhY2tncm91bmRDb2xvcjogcmdiYSgyMywgMzEsIDM5LCAwLjUpLFxyXG4gICAgdGFiSG92ZXJCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoNTgsIDY5LCA4NSwgMC41KSxcclxuICAgIHRhYmxlQmFja2dyb3VuZENvbG9yOiAjMTgyMDJhLFxyXG4gICAgbWVzc2FnZU15QmFja2dyb3VuZENvbG9yOiAjMmEzNTQ0LFxyXG4gICAgbWVzc2FnZUJ1ZGR5QmFja2dyb3VuZENvbG9yOiAjMTgyMDJhLFxyXG4gICAgcHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kQ29sb3I6ICMzNDNmNGEsXHJcbiAgICBwcm9ncmVzc0JhckZ1bGxCYWNrZ3JvdW5kQ29sb3I6ICM1Y2RhOWQsXHJcbiAgICBjaGFydE9wdGlvbnNCYWNrZ3JvdW5kQ29sb3I6ICMyYjM2NDQsXHJcbiAgICBjaGFydE9wdGlvbnNIb3ZlckNvbG9yOiAjNTU2NTc2LFxyXG4gICAgdG9vbHRpcEJhY2tncm91bmRDb2xvcjogIzQyNTA1ZixcclxuICAgIHRvb2x0aXBTaGFkb3c6IDAgMCAxcmVtIHJnYmEoMCwgMCwgMCwgMC41KSxcclxuICAgIG1vZGFsQmFja2dyb3VuZDogdXJsKH5zcmMvYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLWRhcmsucG5nKSxcclxuICAgIGNsb3NlQnV0dG9uQ29sb3I6ICM1NTY1NzZcclxuICApLFxyXG4gIGdyYXk6IChcclxuICAgIGJvZHlCYWNrZ3JvdW5kQ29sb3I6ICMxMDE0MTcsXHJcbiAgICBzaWRlYmFyQmFja2dyb3VuZENvbG9yOiByZ2JhKDI4LCAzMCwgMzMsIDAuNSksXHJcbiAgICBzaWRlYmFyQm9yZGVyQ29sb3I6ICMyZTMzMzcsXHJcbiAgICBvbmxpbmVDb2xvcjogIzQ3Y2Y4ZCxcclxuICAgIG9mZmxpbmVDb2xvcjogI2ZmNTI1MixcclxuICAgIGNvbnRlbnRCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMzcsIDQwLCA0MywgMC41KSxcclxuICAgIG1haW5UZXh0Q29sb3I6ICNlMGUwZTAsXHJcbiAgICBhbHRlcm5hdGl2ZVRleHRDb2xvcjogIzFhMWExYSxcclxuICAgIG9wdGlvbmFsVGV4dENvbG9yOiAjNTY1YzYyLFxyXG4gICAgYmx1ZVRleHRDb2xvcjogIzQyYTVmNSxcclxuICAgIGdyZWVuVGV4dENvbG9yOiAjNDdjZjhkLFxyXG4gICAgcmVkVGV4dENvbG9yOiAjZmU1MjUyLFxyXG4gICAgYmx1ZUJ1dHRvbkJhY2tncm91bmRDb2xvcjogIzQyYTVmNSxcclxuICAgIGJsdWVCdXR0b25Ib3ZlckNvbG9yOiAjODZkNmZmLFxyXG4gICAgYmx1ZUJ1dHRvbkZvY3VzQ29sb3I6ICM1ZmI2ZmMsXHJcbiAgICBkaXNhYmxlZEJ1dHRvbkJhY2tncm91bmRDb2xvcjogIzc5ODQ4ZixcclxuICAgIGRpc2FibGVkQnV0dG9uSG92ZXJDb2xvcjogI2ExYWViYixcclxuICAgIGRpc2FibGVkQnV0dG9uRm9jdXNDb2xvcjogIzhhOTU5ZixcclxuICAgIGdyZWVuQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjNDdjZjhkLFxyXG4gICAgZ3JlZW5CdXR0b25Ib3ZlckNvbG9yOiAjN2JmNmM2LFxyXG4gICAgZ3JlZW5CdXR0b25Gb2N1c0NvbG9yOiAjNWNkYzllLFxyXG4gICAgdHVycXVvaXNlQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjM2VjNWQ3LFxyXG4gICAgdHVycXVvaXNlQnV0dG9uSG92ZXJDb2xvcjogIzcyZWRmZSxcclxuICAgIHR1cnF1b2lzZUJ1dHRvbkZvY3VzQ29sb3I6ICM1MGQwZTEsXHJcbiAgICB0cmFuc3BhcmVudEJ1dHRvbkJvcmRlckNvbG9yOiAjMmYzNDM4LFxyXG4gICAgaW5wdXRCYWNrZ3JvdW5kQ29sb3I6ICMyOTJkMzEsXHJcbiAgICBzZWxlY3RIb3ZlckNvbG9yOiByZ2JhKDU4LCA2MiwgNjYsIDAuNSksXHJcbiAgICBzZWxlY3RTZWxlY3RlZENvbG9yOiByZ2JhKDM3LCA0MCwgNDMsIDAuNSksXHJcbiAgICBzd2l0Y2hCYWNrZ3JvdW5kQ29sb3I6ICMwMDAwMDAsXHJcbiAgICBhY2NvdW50QmFja2dyb3VuZENvbG9yOiByZ2JhKDM3LCA0MCwgNDMsIDAuNSksXHJcbiAgICBhY2NvdW50SG92ZXJCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoNTgsIDYyLCA2NiwgMC41KSxcclxuICAgIGFjY291bnRNYWluVGV4dENvbG9yOiAjZTBlMGUwLFxyXG4gICAgYWNjb3VudE9wdGlvbmFsVGV4dENvbG9yOiAjNTY1YzYyLFxyXG4gICAgYWNjb3VudEluZGljYXRvclRleHRDb2xvcjogIzFhMWExYSxcclxuICAgIGFjY291bnRTd2l0Y2hCYWNrZ3JvdW5kQ29sb3I6ICMwMDAwMDAsXHJcbiAgICBhY2NvdW50SW5kaWNhdG9yQmFja2dyb3VuZENvbG9yOiAjNDJhNWY1LFxyXG4gICAgdGFiSW5hY3RpdmVCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMjgsIDMwLCAzMywgMC41KSxcclxuICAgIHRhYkhvdmVyQmFja2dyb3VuZENvbG9yOiByZ2JhKDU4LCA2MiwgNjYsIDAuNSksXHJcbiAgICB0YWJsZUJhY2tncm91bmRDb2xvcjogIzI1MjkyZCxcclxuICAgIG1lc3NhZ2VNeUJhY2tncm91bmRDb2xvcjogIzMwMzYzYyxcclxuICAgIG1lc3NhZ2VCdWRkeUJhY2tncm91bmRDb2xvcjogIzI1MjkyZCxcclxuICAgIHByb2dyZXNzQmFyQmFja2dyb3VuZENvbG9yOiAjMzYzYTNlLFxyXG4gICAgcHJvZ3Jlc3NCYXJGdWxsQmFja2dyb3VuZENvbG9yOiAjNDdjZjhkLFxyXG4gICAgY2hhcnRPcHRpb25zQmFja2dyb3VuZENvbG9yOiAjMjkyZDMxLFxyXG4gICAgY2hhcnRPcHRpb25zSG92ZXJDb2xvcjogIzUxNTk2MCxcclxuICAgIHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3I6ICMzZTQ2NGMsXHJcbiAgICB0b29sdGlwU2hhZG93OiAwIDAgMXJlbSByZ2JhKDAsIDAsIDAsIDAuNSksXHJcbiAgICBtb2RhbEJhY2tncm91bmQ6IHVybCh+c3JjL2Fzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC1ncmF5LnBuZyksXHJcbiAgICBjbG9zZUJ1dHRvbkNvbG9yOiAjNTE1OTYwXHJcbiAgKSxcclxuICB3aGl0ZTogKFxyXG4gICAgYm9keUJhY2tncm91bmRDb2xvcjogI2VlZWVlZSxcclxuICAgIHNpZGViYXJCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSxcclxuICAgIHNpZGViYXJCb3JkZXJDb2xvcjogI2ViZWJlYixcclxuICAgIG9ubGluZUNvbG9yOiAjNDZjMTcyLFxyXG4gICAgb2ZmbGluZUNvbG9yOiAjZmY1MjUyLFxyXG4gICAgY29udGVudEJhY2tncm91bmRDb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpLFxyXG4gICAgbWFpblRleHRDb2xvcjogIzQzNDU0YixcclxuICAgIGFsdGVybmF0aXZlVGV4dENvbG9yOiAjZmVmZWZlLFxyXG4gICAgb3B0aW9uYWxUZXh0Q29sb3I6ICNhMGE1YWIsXHJcbiAgICBibHVlVGV4dENvbG9yOiAjMmM5NWYxLFxyXG4gICAgZ3JlZW5UZXh0Q29sb3I6ICM0NmMxNzIsXHJcbiAgICByZWRUZXh0Q29sb3I6ICNmZjUyNTIsXHJcbiAgICBibHVlQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjMmM5NWYxLFxyXG4gICAgYmx1ZUJ1dHRvbkhvdmVyQ29sb3I6ICM1Y2IzZmYsXHJcbiAgICBibHVlQnV0dG9uRm9jdXNDb2xvcjogIzM3OWZmYSxcclxuICAgIGRpc2FibGVkQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjOTBhNGFlLFxyXG4gICAgZGlzYWJsZWRCdXR0b25Ib3ZlckNvbG9yOiAjYWViZWM2LFxyXG4gICAgZGlzYWJsZWRCdXR0b25Gb2N1c0NvbG9yOiAjYTdiOWMyLFxyXG4gICAgZ3JlZW5CdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM0NmMxNzIsXHJcbiAgICBncmVlbkJ1dHRvbkhvdmVyQ29sb3I6ICM1YWQ1ODYsXHJcbiAgICBncmVlbkJ1dHRvbkZvY3VzQ29sb3I6ICM1M2M3N2MsXHJcbiAgICB0dXJxdW9pc2VCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICMyNmI2YzcsXHJcbiAgICB0dXJxdW9pc2VCdXR0b25Ib3ZlckNvbG9yOiAjNTJjYmQ5LFxyXG4gICAgdHVycXVvaXNlQnV0dG9uRm9jdXNDb2xvcjogIzMxYmVjZixcclxuICAgIHRyYW5zcGFyZW50QnV0dG9uQm9yZGVyQ29sb3I6ICNlYmViZWIsXHJcbiAgICBpbnB1dEJhY2tncm91bmRDb2xvcjogI2U2ZTZlNixcclxuICAgIHNlbGVjdEhvdmVyQ29sb3I6IHJnYmEoMjQwLCAyNDAsIDI0MCwgMC41KSxcclxuICAgIHNlbGVjdFNlbGVjdGVkQ29sb3I6IHJnYmEoMjI0LCAyMjQsIDIyNCwgMC41KSxcclxuICAgIHN3aXRjaEJhY2tncm91bmRDb2xvcjogI2UwZTBlMCxcclxuICAgIGFjY291bnRCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMzAsIDEzNiwgMjI5LCAxKSxcclxuICAgIGFjY291bnRIb3ZlckJhY2tncm91bmRDb2xvcjogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjUpLFxyXG4gICAgYWNjb3VudE1haW5UZXh0Q29sb3I6ICNmZmZmZmYsXHJcbiAgICBhY2NvdW50T3B0aW9uYWxUZXh0Q29sb3I6ICM5MWJhZjEsXHJcbiAgICBhY2NvdW50SW5kaWNhdG9yVGV4dENvbG9yOiAjNDM0NTRiLFxyXG4gICAgYWNjb3VudFN3aXRjaEJhY2tncm91bmRDb2xvcjogI2ZmZmZmZixcclxuICAgIGFjY291bnRJbmRpY2F0b3JCYWNrZ3JvdW5kQ29sb3I6ICNmZmZmZmYsXHJcbiAgICB0YWJJbmFjdGl2ZUJhY2tncm91bmRDb2xvcjogcmdiYSgyMjQsIDIyNCwgMjI0LCAwLjUpLFxyXG4gICAgdGFiSG92ZXJCYWNrZ3JvdW5kQ29sb3I6ICNmZmZmZmYsXHJcbiAgICB0YWJsZUJhY2tncm91bmRDb2xvcjogI2ZmZmZmZixcclxuICAgIG1lc3NhZ2VNeUJhY2tncm91bmRDb2xvcjogI2ZmZixcclxuICAgIG1lc3NhZ2VCdWRkeUJhY2tncm91bmRDb2xvcjogI2VkZWRlZCxcclxuICAgIHByb2dyZXNzQmFyQmFja2dyb3VuZENvbG9yOiAjZGNkY2RjLFxyXG4gICAgcHJvZ3Jlc3NCYXJGdWxsQmFja2dyb3VuZENvbG9yOiAjNDZjMTcyLFxyXG4gICAgY2hhcnRPcHRpb25zQmFja2dyb3VuZENvbG9yOiAjZTBlMGUwLFxyXG4gICAgY2hhcnRPcHRpb25zSG92ZXJDb2xvcjogI2ZmZmZmZixcclxuICAgIHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3I6ICNmZmZmZmYsXHJcbiAgICB0b29sdGlwU2hhZG93OiAwIDAgMXJlbSByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNSksXHJcbiAgICBtb2RhbEJhY2tncm91bmQ6IHVybCh+c3JjL2Fzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC13aGl0ZS5wbmcpLFxyXG4gICAgY2xvc2VCdXR0b25Db2xvcjogIzQzNDU0YlxyXG4gIClcclxuKTtcclxuXHJcblxyXG5cclxuXHJcblxyXG4iLCJhcHAtbWFpbiwgYXBwLWNyZWF0ZS13YWxsZXQsIGFwcC1vcGVuLXdhbGxldCwgYXBwLXJlc3RvcmUtd2FsbGV0LCBhcHAtc2VlZC1waHJhc2UsIGFwcC13YWxsZXQtZGV0YWlscywgYXBwLWFzc2lnbi1hbGlhcywgYXBwLWVkaXQtYWxpYXMsIGFwcC10cmFuc2Zlci1hbGlhcywgYXBwLXNldHRpbmdzLCBhcHAtbG9naW4ge1xyXG4gIGZsZXg6IDEgMSBhdXRvO1xyXG4gIHBhZGRpbmc6IDNyZW07XHJcbiAgbWluLXdpZHRoOiA4NXJlbTtcclxuXHJcbiAgLmNvbnRlbnQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogM3JlbTtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChjb250ZW50QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZCB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLW1haW4ge1xyXG5cclxuICAuY29udGVudCB7XHJcblxyXG4gICAgLmFkZC13YWxsZXQge1xyXG5cclxuICAgICAgLmFkZC13YWxsZXQtaGVscCB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pY29uIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLXNlZWQtcGhyYXNlIHtcclxuXHJcbiAgLnNlZWQtcGhyYXNlLWNvbnRlbnQge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoaW5wdXRCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtd2FsbGV0LWRldGFpbHMge1xyXG5cclxuICAuc2VlZC1waHJhc2Uge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoaW5wdXRCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLXNldHRpbmdzIHtcclxuXHJcbiAgLmNvbnRlbnQge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgIC50aGVtZS1zZWxlY3Rpb24ge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2NhbGUtc2VsZWN0aW9uIHtcclxuXHJcbiAgICAgIC5idXR0b24tYmxvY2sge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZCh0YWJJbmFjdGl2ZUJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGFiZWwge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5sYWJlbCB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBjb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtbG9naW4ge1xyXG4gIG1pbi13aWR0aDogaW5oZXJpdDtcclxufVxyXG4iLCJhcHAtc2lkZWJhciB7XHJcblxyXG4gIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHNpZGViYXJCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gIH1cclxuXHJcbiAgLnNpZGViYXItYWNjb3VudHMge1xyXG5cclxuICAgIC5zaWRlYmFyLWFjY291bnRzLWhlYWRlciB7XHJcblxyXG4gICAgICBoMyB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGJ1dHRvbiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2lkZWJhci1hY2NvdW50cy1saXN0IHtcclxuXHJcbiAgICAgIC5zaWRlYmFyLWFjY291bnQge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zaWRlYmFyLWFjY291bnQtcm93IHtcclxuXHJcbiAgICAgICAgICAudGV4dCB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBjb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5pY29uIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5pbmRpY2F0b3Ige1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVCdXR0b25CYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQoYWx0ZXJuYXRpdmVUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnByb2dyZXNzLWJhci1jb250YWluZXIge1xyXG5cclxuICAgICAgICAgICAgLnByb2dyZXNzLWJhciB7XHJcblxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHByb2dyZXNzQmFyQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIC5maWxsIHtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHByb2dyZXNzQmFyRnVsbEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5hY2NvdW50LXN5bmNocm9uaXphdGlvbiB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBjb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYWNjb3VudEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQoYWNjb3VudE1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5zaWRlYmFyLWFjY291bnQtcm93IHtcclxuXHJcbiAgICAgICAgICAgIC50ZXh0IHtcclxuXHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWVkKGFjY291bnRPcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaW5kaWNhdG9yIHtcclxuXHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYWNjb3VudEluZGljYXRvckJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWVkKGFjY291bnRJbmRpY2F0b3JUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnN3aXRjaCB7XHJcblxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGFjY291bnRTd2l0Y2hCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuYWNjb3VudC1zeW5jaHJvbml6YXRpb24ge1xyXG5cclxuICAgICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQoYWNjb3VudE9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXI6bm90KC5hY3RpdmUpIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGFjY291bnRIb3ZlckJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2lkZWJhci1zZXR0aW5ncyB7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMnJlbSBzb2xpZCB0aGVtZWQoc2lkZWJhckJvcmRlckNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAud3JhcC1idXR0b24ge1xyXG5cclxuICAgICAgYnV0dG9uIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmljb24ge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmFjdGl2ZSB7XHJcblxyXG4gICAgICAgIGJ1dHRvbiB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChhY2NvdW50QmFja2dyb3VuZENvbG9yKSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQoYWNjb3VudE1haW5UZXh0Q29sb3IpIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYWNjb3VudEluZGljYXRvckJhY2tncm91bmRDb2xvcikhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXR1cy1jb250YWluZXIge1xyXG5cclxuICAgICAgLm9mZmxpbmU6YmVmb3JlIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQob2ZmbGluZUNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5vbmxpbmU6YmVmb3JlIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQob25saW5lQ29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnRlc3RuZXQge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2dyZXNzLWJhci1jb250YWluZXIge1xyXG5cclxuICAgICAgLnN5bmNpbmcge1xyXG5cclxuICAgICAgICAucHJvZ3Jlc3MtYmFyIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHByb2dyZXNzQmFyQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuZmlsbCB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQocHJvZ3Jlc3NCYXJGdWxsQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmxvYWRpbmcge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckZ1bGxCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJhcHAtd2FsbGV0IHtcclxuXHJcbiAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gIH1cclxuXHJcbiAgLmhlYWRlciB7XHJcblxyXG4gICAgYnV0dG9uIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pY29uIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFsaWFzIHtcclxuXHJcbiAgICAgIC5pY29uIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYWRkcmVzcyB7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24ge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGFicyB7XHJcblxyXG4gICAgLnRhYnMtaGVhZGVyIHtcclxuXHJcbiAgICAgIC50YWIge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZCh0YWJJbmFjdGl2ZUJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbmRpY2F0b3Ige1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYWNjb3VudEluZGljYXRvckJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQoYWNjb3VudEluZGljYXRvclRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChjb250ZW50QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXI6bm90KC5hY3RpdmUpIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHRhYkhvdmVyQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGFicy1jb250ZW50IHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChjb250ZW50QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLXNlbmQge1xyXG5cclxuICAuZm9ybS1zZW5kIHtcclxuXHJcbiAgICAuaW5wdXQtYmxvY2stYWRkcmVzcyB7XHJcblxyXG4gICAgICAuYWRkcmVzcy1kcm9wZG93biB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGlucHV0QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgZGl2OmhvdmVyIHtcclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoc2VsZWN0SG92ZXJDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNlbmQtc2VsZWN0IHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pY29uIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFkZGl0aW9uYWwtZGV0YWlscyB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXI6IDAuMnJlbSBzb2xpZCB0aGVtZWQodHJhbnNwYXJlbnRCdXR0b25Cb3JkZXJDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1yZWNlaXZlIHtcclxuXHJcbiAgLmJ0bi1jb3B5LWFkZHJlc3Mge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtaGlzdG9yeSB7XHJcblxyXG4gIHRhYmxlIHtcclxuXHJcbiAgICB0Ym9keSB7XHJcblxyXG4gICAgICB0ciB7XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDRuKzEpIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHRhYmxlQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDRuKzIpIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHRhYmxlQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDRuKzMpIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCg0bis0KSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN0YXR1cyB7XHJcblxyXG4gICAgICAgICAgLmNvbmZpcm1hdGlvbiB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQocHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuZmlsbCB7XHJcblxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHByb2dyZXNzQmFyRnVsbEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc3RhdHVzLnNlbmQge1xyXG5cclxuICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTI1MjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zdGF0dXMucmVjZWl2ZWQge1xyXG5cclxuICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYzg1MztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1jb250cmFjdHMge1xyXG5cclxuICAud3JhcC10YWJsZSB7XHJcblxyXG4gICAgLmNvbnRyYWN0IHtcclxuXHJcbiAgICAgIC5pY29uIHtcclxuXHJcbiAgICAgICAgJi5uZXcsICYuYWxlcnQge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQocmVkVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYucHVyY2hhc2UsICYuc2VsbCB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1wdXJjaGFzZSB7XHJcblxyXG4gIC5mb3JtLXB1cmNoYXNlIHtcclxuXHJcbiAgICAucHVyY2hhc2Utc2VsZWN0IHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pY29uIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnB1cmNoYXNlLXN0YXRlcyB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFkZGl0aW9uYWwtZGV0YWlscyB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXI6IDAuMnJlbSBzb2xpZCB0aGVtZWQodHJhbnNwYXJlbnRCdXR0b25Cb3JkZXJDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcclxuXHJcbiAgICAucHJvZ3Jlc3MtYmFyIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5wcm9ncmVzcy1iYXItZnVsbCB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHByb2dyZXNzQmFyRnVsbEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtbWVzc2FnZXMge1xyXG5cclxuICB0YWJsZSB7XHJcblxyXG4gICAgdGJvZHkge1xyXG5cclxuICAgICAgdHIge1xyXG5cclxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCB7XHJcblxyXG4gICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmljb24ge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHJlZFRleHRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC10eXBpbmctbWVzc2FnZSB7XHJcblxyXG4gIC5oZWFkIHtcclxuXHJcbiAgICAuaW50ZXJsb2N1dG9yIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tZXNzYWdlcy1jb250ZW50IHtcclxuXHJcbiAgICAubWVzc2FnZXMtbGlzdCB7XHJcblxyXG4gICAgICBkaXYge1xyXG5cclxuICAgICAgICAmLmRhdGUge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXkge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQobWVzc2FnZU15QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG87XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogLTEuMXJlbTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxLjJyZW0gc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0aGVtZWQobWVzc2FnZU15QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5idWRkeSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChtZXNzYWdlQnVkZHlCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xyXG4gICAgICAgICAgICByaWdodDogLTEuMXJlbTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBib3JkZXI6IDEuMnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRoZW1lZChtZXNzYWdlQnVkZHlCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtc3Rha2luZyB7XHJcblxyXG4gIC5jaGFydC1oZWFkZXIge1xyXG5cclxuICAgIC5nZW5lcmFsIHtcclxuXHJcbiAgICAgIC5sYWJlbCB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAub3B0aW9ucyB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2VsZWN0ZWQge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNoYXJ0LW9wdGlvbnMge1xyXG5cclxuICAgIC50aXRsZSB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5vcHRpb25zIHtcclxuXHJcbiAgICAgIGJ1dHRvbiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChjaGFydE9wdGlvbnNCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY2hhcnRPcHRpb25zSG92ZXJDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5oZWFkIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgcGFkZGluZzogMCAzcmVtO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogM3JlbTtcclxuXHJcbiAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICBjb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gIH1cclxuXHJcbiAgLmJyZWFkY3J1bWJzIHtcclxuXHJcbiAgICA+IHNwYW4sIGEge1xyXG5cclxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICBvdXRsaW5lLXN0eWxlOiBub25lO1xyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG87XHJcbiAgICAgICAgICB0b3A6IDAuNXJlbTtcclxuICAgICAgICAgIHJpZ2h0OiAtMS41cmVtO1xyXG4gICAgICAgICAgd2lkdGg6IDAuOXJlbTtcclxuICAgICAgICAgIGhlaWdodDogMC45cmVtO1xyXG4gICAgICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2Fycm93LXJpZ2h0LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgIG1hc2stc2l6ZTogY292ZXI7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5iYWNrLWJ0biB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICM0ZGIxZmY7XHJcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuM3JlbTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuN3JlbTtcclxuICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2JhY2suc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB3aWR0aDogMC45cmVtO1xyXG4gICAgICBoZWlnaHQ6IDAuOXJlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuc2Nyb2xsZWQtY29udGVudCB7XHJcblxyXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgd2lkdGg6IDFyZW07XHJcbiAgICBoZWlnaHQ6IDFyZW07XHJcbiAgfVxyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICB9XHJcblxyXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTY1NzY7XHJcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gICAgYm9yZGVyOiAwLjI1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xyXG4gIH1cclxuXHJcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NjU3NjtcclxuICB9XHJcbn1cclxuIiwidGFibGUge1xyXG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICB0aGVhZCB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICB0ciB7XHJcbiAgICAgIGhlaWdodDogNHJlbTtcclxuXHJcbiAgICAgIHRoIHtcclxuICAgICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcblxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0Ym9keSB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIHRyIHtcclxuICAgICAgaGVpZ2h0OiAzLjVyZW07XHJcblxyXG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQodGFibGVCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdGQge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjdyZW07XHJcbiAgICAgICAgcGFkZGluZzogMCAxcmVtO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBtYXgtd2lkdGg6IDIwcmVtO1xyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBCQVNFXHJcbkBpbXBvcnQgJ2Fzc2V0cy9zY3NzL2Jhc2UvbWl4aW5zJztcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvYmFzZS9udWxsJztcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvYmFzZS90aGVtZSc7XHJcbkBpbXBvcnQgJ2Fzc2V0cy9zY3NzL2Jhc2UvYmFzZSc7XHJcblxyXG4vLyBMQVlPVVRcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvbGF5b3V0L21haW4nO1xyXG5AaW1wb3J0ICdhc3NldHMvc2Nzcy9sYXlvdXQvc2V0dGluZ3MnO1xyXG5AaW1wb3J0ICdhc3NldHMvc2Nzcy9sYXlvdXQvc2lkZWJhcic7XHJcbkBpbXBvcnQgJ2Fzc2V0cy9zY3NzL2xheW91dC93YWxsZXQnO1xyXG5cclxuLy8gTU9EVUxFU1xyXG5AaW1wb3J0ICdhc3NldHMvc2Nzcy9tb2R1bGVzL2hlYWQnO1xyXG5AaW1wb3J0ICdhc3NldHMvc2Nzcy9tb2R1bGVzL3Njcm9sbCc7XHJcbkBpbXBvcnQgJ2Fzc2V0cy9zY3NzL21vZHVsZXMvdGFibGUnO1xyXG5cclxuQGltcG9ydCBcIn5Abmctc2VsZWN0L25nLXNlbGVjdC90aGVtZXMvZGVmYXVsdC50aGVtZS5jc3NcIjtcclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBPcGVuU2FucztcclxuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1MaWdodC50dGYpO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBPcGVuU2FucztcclxuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1SZWd1bGFyLnR0Zik7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xyXG4gIHNyYzogdXJsKH5zcmMvYXNzZXRzL2ZvbnRzL09wZW5TYW5zLVNlbWlCb2xkLnR0Zik7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xyXG4gIHNyYzogdXJsKH5zcmMvYXNzZXRzL2ZvbnRzL09wZW5TYW5zLUJvbGQudHRmKTtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogT3BlblNhbnM7XHJcbiAgc3JjOiB1cmwofnNyYy9hc3NldHMvZm9udHMvT3BlblNhbnMtRXh0cmFCb2xkLnR0Zik7XHJcbiAgZm9udC13ZWlnaHQ6IDgwMDtcclxufVxyXG5cclxuXHJcbmh0bWwge1xyXG4gIGZvbnQtZmFtaWx5OiBPcGVuU2Fucywgc2Fucy1zZXJpZjtcclxuICBmb250LXNpemU6IDEwcHg7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIGZvbnQtZmFtaWx5OiBPcGVuU2Fucywgc2Fucy1zZXJpZjtcclxuICBmb250LXNpemU6IDEuNnJlbTtcclxuICB3aWR0aDogMTAwdnc7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuXHJcbiAgJi50aGVtZS1kYXJrIHtcclxuICAgIGJhY2tncm91bmQ6ICMxMzE5MjEgdXJsKFwiYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLWRhcmsucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIH1cclxuXHJcbiAgJi50aGVtZS1ncmF5IHtcclxuICAgIGJhY2tncm91bmQ6ICMxMDE0MTcgdXJsKFwiYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLWdyYXkucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIH1cclxuXHJcbiAgJi50aGVtZS13aGl0ZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWVlZWVlIHVybChcImFzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC13aGl0ZS5wbmdcIikgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgfVxyXG5cclxuICBhcHAtcm9vdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG59XHJcbiJdfQ== */", '', '']] /***/ }), diff --git a/src/gui/qt-daemon/html/styles.js.map b/src/gui/qt-daemon/html/styles.js.map index f5864fad..1eb24fe0 100644 --- a/src/gui/qt-daemon/html/styles.js.map +++ b/src/gui/qt-daemon/html/styles.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./src/styles.scss","webpack:///./node_modules/style-loader/lib/addStyles.js","webpack:///./node_modules/style-loader/lib/urls.js","webpack:///./src/styles.scss?4266"],"names":[],"mappings":"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AEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,uDAAQ;;AAE9B;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA,mBAAmB,2BAA2B;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,mBAAmB;AACnC;AACA;;AAEA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;;AAEA,QAAQ,uBAAuB;AAC/B;AACA;AACA,GAAG;AACH;;AAEA,iBAAiB,uBAAuB;AACxC;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA,cAAc;;AAEd,kDAAkD,sBAAsB;AACxE;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA,KAAK,KAAwC,EAAE,EAE7C;;AAEF,QAAQ,sBAAiB;AACzB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD;AACvD;;AAEA,6BAA6B,mBAAmB;;AAEhD;;AAEA;;AAEA;AACA;;;;;;;;;;;;;AC9YA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,WAAW,EAAE;AACrD,wCAAwC,WAAW,EAAE;;AAErD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,sCAAsC;AACtC,GAAG;AACH;AACA,8DAA8D;AAC9D;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;;;;;;;;;;;;ACvFA,cAAc,mBAAO,CAAC,4ZAA0N;;AAEhP,4CAA4C,QAAS;;AAErD;AACA;;;;AAIA,eAAe;;AAEf;AACA;;AAEA,aAAa,mBAAO,CAAC,mGAAgD;;AAErE;;AAEA,GAAG,KAAU,EAAE,E","file":"styles.js","sourcesContent":["module.exports = [[module.id, \"/*\\r\\n* Implementation of themes\\r\\n*/\\n.ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}\\n.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}\\n.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}\\n.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #333}\\n.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}\\n.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}\\n.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#007eff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 0 3px rgba(0,126,255,0.1)}\\n.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}\\n.ng-select .ng-has-value .ng-placeholder{display:none}\\n.ng-select .ng-select-container{background-color:#fff;border-radius:4px;border:1px solid #ccc;min-height:36px;align-items:center}\\n.ng-select .ng-select-container:hover{box-shadow:0 1px 0 rgba(0,0,0,0.06)}\\n.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}\\n[dir=\\\"rtl\\\"] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}\\n.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}\\n.ng-select.ng-select-single .ng-select-container{height:36px}\\n.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}\\n[dir=\\\"rtl\\\"] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}\\n.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e6e6e6}\\n.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}\\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}\\n[dir=\\\"rtl\\\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}\\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:0.9em;margin-bottom:5px;background-color:#ebf5ff;border-radius:2px;margin-right:5px}\\n[dir=\\\"rtl\\\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}\\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}\\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}\\n[dir=\\\"rtl\\\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}\\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{display:inline-block;padding:1px 5px}\\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}\\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}\\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}\\n[dir=\\\"rtl\\\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid #b8dbff;border-right:none}\\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}\\n[dir=\\\"rtl\\\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid #b8dbff}\\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}\\n[dir=\\\"rtl\\\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}\\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}\\n[dir=\\\"rtl\\\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}\\n.ng-select .ng-clear-wrapper{color:#999}\\n.ng-select .ng-clear-wrapper:hover .ng-clear{color:#D0021B}\\n.ng-select .ng-spinner-zone{padding:5px 5px 0 0}\\n[dir=\\\"rtl\\\"] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}\\n.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}\\n[dir=\\\"rtl\\\"] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}\\n.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}\\n.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}\\n.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px 0 rgba(0,0,0,0.06);left:0}\\n.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}\\n.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}\\n.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}\\n.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}\\n.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}\\n.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}\\n.ng-dropdown-panel .ng-dropdown-panel-items{margin-bottom:1px}\\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:rgba(0,0,0,0.54);cursor:pointer}\\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}\\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}\\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{background-color:#ebf5ff;font-weight:600}\\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:rgba(0,0,0,0.87);padding:8px 10px}\\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#ebf5ff}\\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}\\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5faff;color:#333}\\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}\\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}\\n[dir=\\\"rtl\\\"] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}\\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}\\n[dir=\\\"rtl\\\"] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}\\n[dir=\\\"rtl\\\"] .ng-dropdown-panel{direction:rtl;text-align:right}\\nhtml {\\n box-sizing: border-box;\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box; }\\n*, *:before, *:after {\\n box-sizing: inherit;\\n -webkit-box-sizing: inherit;\\n -moz-box-sizing: inherit;\\n margin: 0;\\n padding: 0;\\n -webkit-touch-collout: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\nhtml, body, div, span, applet, object, iframe,\\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\\na, abbr, acronym, address, big, cite, code,\\ndel, dfn, em, img, ins, kbd, q, s, samp,\\nsmall, strike, strong, sub, sup, tt, var,\\nb, u, i, center,\\ndl, dt, dd, ol, ul, li,\\nfieldset, form, label, legend,\\ntable, caption, tbody, tfoot, thead, tr, th, td,\\narticle, aside, canvas, details, embed,\\nfigure, figcaption, footer, header, hgroup,\\nmenu, nav, output, ruby, section, summary,\\ntime, mark, audio, video {\\n border: 0;\\n font-size: 100%;\\n font: inherit;\\n vertical-align: baseline; }\\narticle, aside, details, figcaption, figure,\\nfooter, header, hgroup, menu, nav, section {\\n display: block; }\\nbody {\\n line-height: 1;\\n font-style: normal; }\\nol, ul {\\n list-style: none; }\\nblockquote, q {\\n quotes: none; }\\nblockquote:before, blockquote:after,\\nq:before, q:after {\\n content: none; }\\ntable {\\n border-collapse: collapse;\\n border-spacing: 0; }\\ntd,\\nth {\\n padding: 0; }\\ninput {\\n outline: none; }\\ninput:-webkit-autofill {\\n -webkit-box-shadow: 0 0 0 1000px white inset; }\\nbutton,\\nhtml input[type=\\\"button\\\"],\\ninput[type=\\\"reset\\\"],\\ninput[type=\\\"submit\\\"] {\\n -webkit-appearance: button;\\n cursor: pointer;\\n outline: none; }\\nbutton[disabled],\\nhtml input[disabled] {\\n cursor: default; }\\nbutton::-moz-focus-inner,\\ninput::-moz-focus-inner {\\n border: 0;\\n padding: 0; }\\ninput {\\n line-height: normal; }\\ninput[type=\\\"search\\\"] {\\n -webkit-appearance: textfield;\\n box-sizing: content-box; }\\ninput[type=\\\"search\\\"]::-webkit-search-cancel-button,\\ninput[type=\\\"search\\\"]::-webkit-search-decoration {\\n -webkit-appearance: none; }\\na {\\n text-decoration: none; }\\na:active, a:hover, a:focus {\\n outline: 0; }\\ni {\\n font-style: italic; }\\nb, strong {\\n font-weight: 700; }\\nimg {\\n width: auto;\\n max-width: 100%;\\n height: auto;\\n vertical-align: top;\\n border: 0; }\\n.hidden {\\n display: none !important; }\\n.theme-dark .app-content .preloader .loading-bar {\\n background-color: #5cda9d; }\\n.theme-gray .app-content .preloader .loading-bar {\\n background-color: #47cf8d; }\\n.theme-white .app-content .preloader .loading-bar {\\n background-color: #46c172; }\\nbutton {\\n border: none;\\n font-family: OpenSans, sans-serif;\\n font-size: 1.5rem;\\n font-weight: 600;\\n outline: none;\\n padding: 0 1rem;\\n height: 4.2rem; }\\n.theme-dark button:disabled:not(.transparent-button) {\\n background-color: #90a4ae;\\n color: #111921; }\\n.theme-gray button:disabled:not(.transparent-button) {\\n background-color: #79848f;\\n color: #1a1a1a; }\\n.theme-white button:disabled:not(.transparent-button) {\\n background-color: #90a4ae;\\n color: #fefefe; }\\n.theme-dark button:disabled:not(.transparent-button):hover {\\n background-color: #9bb0ba; }\\n.theme-gray button:disabled:not(.transparent-button):hover {\\n background-color: #85909b; }\\n.theme-white button:disabled:not(.transparent-button):hover {\\n background-color: #9baeb7; }\\n.theme-dark button.blue-button:not(:disabled).error-text {\\n color: #fe5252; }\\n.theme-gray button.blue-button:not(:disabled).error-text {\\n color: #fe5252; }\\n.theme-white button.blue-button:not(:disabled).error-text {\\n color: #ff5252; }\\n.theme-dark button.blue-button:not(:disabled) {\\n background-color: #4db1ff;\\n color: #111921; }\\n.theme-gray button.blue-button:not(:disabled) {\\n background-color: #42a5f5;\\n color: #1a1a1a; }\\n.theme-white button.blue-button:not(:disabled) {\\n background-color: #2c95f1;\\n color: #fefefe; }\\n.theme-dark button.blue-button:not(:disabled):hover {\\n background-color: #60b9ff; }\\n.theme-gray button.blue-button:not(:disabled):hover {\\n background-color: #4dafff; }\\n.theme-white button.blue-button:not(:disabled):hover {\\n background-color: #379ffa; }\\n.theme-dark button.green-button:not(:disabled) {\\n background-color: #5cda9d;\\n color: #111921; }\\n.theme-gray button.green-button:not(:disabled) {\\n background-color: #47cf8d;\\n color: #1a1a1a; }\\n.theme-white button.green-button:not(:disabled) {\\n background-color: #46c172;\\n color: #fefefe; }\\n.theme-dark button.green-button:not(:disabled):hover {\\n background-color: #5ce2a1; }\\n.theme-gray button.green-button:not(:disabled):hover {\\n background-color: #49d993; }\\n.theme-white button.green-button:not(:disabled):hover {\\n background-color: #46ca75; }\\n.theme-dark button.turquoise-button:not(:disabled) {\\n background-color: #4dd0e1;\\n color: #111921; }\\n.theme-gray button.turquoise-button:not(:disabled) {\\n background-color: #3ec5d7;\\n color: #1a1a1a; }\\n.theme-white button.turquoise-button:not(:disabled) {\\n background-color: #26b6c7;\\n color: #fefefe; }\\n.theme-dark button.turquoise-button:not(:disabled):hover {\\n background-color: #52d9ea; }\\n.theme-gray button.turquoise-button:not(:disabled):hover {\\n background-color: #43cee0; }\\n.theme-white button.turquoise-button:not(:disabled):hover {\\n background-color: #2bbdcf; }\\nbutton.transparent-button {\\n display: flex;\\n align-items: center;\\n justify-content: center; }\\n.theme-dark button.transparent-button {\\n background-color: transparent;\\n border: 0.2rem solid #2b3644;\\n color: #e0e0e0; }\\n.theme-gray button.transparent-button {\\n background-color: transparent;\\n border: 0.2rem solid #2f3438;\\n color: #e0e0e0; }\\n.theme-white button.transparent-button {\\n background-color: transparent;\\n border: 0.2rem solid #ebebeb;\\n color: #43454b; }\\nbutton.transparent-button .icon {\\n margin-right: 1rem;\\n -webkit-mask: url('complete-testwallet.svg') no-repeat center;\\n mask: url('complete-testwallet.svg') no-repeat center;\\n width: 1.7rem;\\n height: 1.7rem; }\\n.theme-dark button.transparent-button .icon {\\n background-color: #e0e0e0; }\\n.theme-gray button.transparent-button .icon {\\n background-color: #e0e0e0; }\\n.theme-white button.transparent-button .icon {\\n background-color: #43454b; }\\n.input-block {\\n display: flex;\\n flex-direction: column;\\n align-items: flex-start;\\n margin-bottom: 0.4rem; }\\n.input-block .wrap-label {\\n display: flex;\\n align-items: center;\\n justify-content: flex-start;\\n min-height: 2.4rem; }\\n.input-block label {\\n font-size: 1.3rem;\\n line-height: 2.4rem; }\\n.theme-dark .input-block label {\\n color: #556576; }\\n.theme-gray .input-block label {\\n color: #565c62; }\\n.theme-white .input-block label {\\n color: #a0a5ab; }\\n.input-block input[type='text'], .input-block input[type='password'], .input-block select {\\n border: none;\\n font-size: 1.4rem;\\n outline: none;\\n padding: 0 1rem;\\n width: 100%;\\n height: 4.2rem; }\\n.theme-dark .input-block input[type='text'], .theme-dark .input-block input[type='password'], .theme-dark .input-block select {\\n background-color: #171e27;\\n color: #e0e0e0; }\\n.theme-gray .input-block input[type='text'], .theme-gray .input-block input[type='password'], .theme-gray .input-block select {\\n background-color: #292d31;\\n color: #e0e0e0; }\\n.theme-white .input-block input[type='text'], .theme-white .input-block input[type='password'], .theme-white .input-block select {\\n background-color: #e6e6e6;\\n color: #43454b; }\\n.input-block.textarea {\\n height: auto; }\\n.input-block.textarea textarea {\\n font-family: OpenSans, sans-serif;\\n border: none;\\n font-size: 1.4rem;\\n outline: none;\\n padding: 1rem;\\n width: 100%;\\n min-width: 100%;\\n height: 100%;\\n min-height: 7.5rem;\\n max-height: 7.5rem;\\n overflow: auto;\\n resize: none; }\\n.theme-dark .input-block.textarea textarea {\\n background-color: #171e27;\\n color: #e0e0e0; }\\n.theme-gray .input-block.textarea textarea {\\n background-color: #292d31;\\n color: #e0e0e0; }\\n.theme-white .input-block.textarea textarea {\\n background-color: #e6e6e6;\\n color: #43454b; }\\n.input-block .error-block {\\n font-size: 1rem;\\n line-height: 1.4rem;\\n align-self: flex-end;\\n text-align: right; }\\n.theme-dark .input-block .error-block {\\n color: #fe5252; }\\n.theme-gray .input-block .error-block {\\n color: #fe5252; }\\n.theme-white .input-block .error-block {\\n color: #ff5252; }\\n.theme-dark .error-text {\\n color: #fe5252; }\\n.theme-gray .error-text {\\n color: #fe5252; }\\n.theme-white .error-text {\\n color: #ff5252; }\\ninput[type='radio'].style-radio + label {\\n display: flex;\\n align-items: center;\\n cursor: pointer;\\n font-weight: 400;\\n padding-left: 2.4rem;\\n -webkit-touch-collout: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n.theme-dark input[type='radio'].style-radio + label {\\n color: #556576; }\\n.theme-gray input[type='radio'].style-radio + label {\\n color: #565c62; }\\n.theme-white input[type='radio'].style-radio + label {\\n color: #a0a5ab; }\\ninput[type='radio'].style-radio:not(checked) {\\n position: absolute;\\n opacity: 0; }\\ninput[type='radio'].style-radio:not(checked) + label {\\n position: relative; }\\ninput[type='radio'].style-radio:not(checked) + label:before {\\n content: '';\\n position: absolute;\\n top: 0.7rem;\\n left: 0;\\n background: transparent;\\n border-radius: 50%;\\n width: 1.4rem;\\n height: 1.4rem; }\\n.theme-dark input[type='radio'].style-radio:not(checked) + label:before {\\n border: 0.1rem solid #4db1ff; }\\n.theme-gray input[type='radio'].style-radio:not(checked) + label:before {\\n border: 0.1rem solid #42a5f5; }\\n.theme-white input[type='radio'].style-radio:not(checked) + label:before {\\n border: 0.1rem solid #2c95f1; }\\ninput[type='radio'].style-radio:not(checked) + label:after {\\n content: '';\\n position: absolute;\\n top: 1rem;\\n left: 0.3rem;\\n border-radius: 50%;\\n opacity: 0;\\n width: 0.8rem;\\n height: 0.8rem; }\\n.theme-dark input[type='radio'].style-radio:not(checked) + label:after {\\n background-color: #4db1ff; }\\n.theme-gray input[type='radio'].style-radio:not(checked) + label:after {\\n background-color: #42a5f5; }\\n.theme-white input[type='radio'].style-radio:not(checked) + label:after {\\n background-color: #2c95f1; }\\ninput[type='radio'].style-radio:checked + label:after {\\n opacity: 1; }\\ninput[type='checkbox'].style-checkbox + label {\\n display: flex;\\n align-items: center;\\n cursor: pointer;\\n font-weight: 400;\\n padding-left: 3.6rem;\\n -webkit-touch-collout: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n.theme-dark input[type='checkbox'].style-checkbox + label {\\n color: #556576; }\\n.theme-gray input[type='checkbox'].style-checkbox + label {\\n color: #565c62; }\\n.theme-white input[type='checkbox'].style-checkbox + label {\\n color: #a0a5ab; }\\ninput[type='checkbox'].style-checkbox:not(checked) {\\n position: absolute;\\n top: 50%;\\n left: 1.6rem;\\n -webkit-transform: translateY(-50%);\\n transform: translateY(-50%);\\n visibility: hidden; }\\ninput[type='checkbox'].style-checkbox:not(checked) + label {\\n position: relative; }\\ninput[type='checkbox'].style-checkbox:not(checked) + label:before {\\n content: '';\\n position: absolute;\\n top: 50%;\\n left: 1.6rem;\\n -webkit-transform: translateY(-50%);\\n transform: translateY(-50%);\\n background: transparent;\\n width: 1.4rem;\\n height: 1.4rem; }\\n.theme-dark input[type='checkbox'].style-checkbox:not(checked) + label:before {\\n border: 0.1rem solid #4db1ff; }\\n.theme-gray input[type='checkbox'].style-checkbox:not(checked) + label:before {\\n border: 0.1rem solid #42a5f5; }\\n.theme-white input[type='checkbox'].style-checkbox:not(checked) + label:before {\\n border: 0.1rem solid #2c95f1; }\\ninput[type='checkbox'].style-checkbox:checked + label:before {\\n background: url('complete-testwallet.svg'); }\\n.theme-dark input[type='checkbox'].style-checkbox:checked + label:before {\\n background-color: #4db1ff; }\\n.theme-gray input[type='checkbox'].style-checkbox:checked + label:before {\\n background-color: #42a5f5; }\\n.theme-white input[type='checkbox'].style-checkbox:checked + label:before {\\n background-color: #2c95f1; }\\n.theme-dark .switch {\\n background-color: #000000; }\\n.theme-gray .switch {\\n background-color: #000000; }\\n.theme-white .switch {\\n background-color: #e0e0e0; }\\n.theme-dark .switch .circle.on {\\n background-color: #4db1ff; }\\n.theme-gray .switch .circle.on {\\n background-color: #42a5f5; }\\n.theme-white .switch .circle.on {\\n background-color: #2c95f1; }\\n.theme-dark .switch .circle.off {\\n background-color: #556576; }\\n.theme-gray .switch .circle.off {\\n background-color: #565c62; }\\n.theme-white .switch .circle.off {\\n background-color: #a0a5ab; }\\n.table-tooltip {\\n font-size: 1.3rem;\\n padding: 1rem 2rem;\\n white-space: pre-wrap; }\\n.theme-dark .table-tooltip {\\n background: #42505f;\\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\\n color: #e0e0e0; }\\n.theme-gray .table-tooltip {\\n background: #3e464c;\\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\\n color: #e0e0e0; }\\n.theme-white .table-tooltip {\\n background: #ffffff;\\n box-shadow: 0 0 1rem rgba(120, 120, 120, 0.5);\\n color: #43454b; }\\n.table-tooltip.ng-tooltip-top {\\n margin-top: -1rem; }\\n.table-tooltip.ng-tooltip-top:before {\\n content: \\\"\\\";\\n position: absolute;\\n bottom: -2rem;\\n left: calc(50% - 1rem);\\n border-width: 1rem;\\n border-style: solid; }\\n.theme-dark .table-tooltip.ng-tooltip-top:before {\\n border-color: #42505f transparent transparent transparent; }\\n.theme-gray .table-tooltip.ng-tooltip-top:before {\\n border-color: #3e464c transparent transparent transparent; }\\n.theme-white .table-tooltip.ng-tooltip-top:before {\\n border-color: #ffffff transparent transparent transparent; }\\n.table-tooltip.ng-tooltip-top-left {\\n margin-top: -1rem; }\\n.table-tooltip.ng-tooltip-top-left:before {\\n content: \\\"\\\";\\n position: absolute;\\n bottom: -1rem;\\n left: 0.7rem;\\n border-width: 1rem 1rem 0 0;\\n border-style: solid; }\\n.theme-dark .table-tooltip.ng-tooltip-top-left:before {\\n border-color: #42505f transparent transparent transparent; }\\n.theme-gray .table-tooltip.ng-tooltip-top-left:before {\\n border-color: #3e464c transparent transparent transparent; }\\n.theme-white .table-tooltip.ng-tooltip-top-left:before {\\n border-color: #ffffff transparent transparent transparent; }\\n.table-tooltip.ng-tooltip-top-right {\\n margin-top: -1rem; }\\n.table-tooltip.ng-tooltip-top-right:before {\\n content: \\\"\\\";\\n position: absolute;\\n bottom: -1rem;\\n right: 0.7rem;\\n border-width: 0.5rem;\\n border-style: solid; }\\n.theme-dark .table-tooltip.ng-tooltip-top-right:before {\\n border-color: #42505f #42505f transparent transparent; }\\n.theme-gray .table-tooltip.ng-tooltip-top-right:before {\\n border-color: #3e464c #3e464c transparent transparent; }\\n.theme-white .table-tooltip.ng-tooltip-top-right:before {\\n border-color: #ffffff #ffffff transparent transparent; }\\n.table-tooltip.ng-tooltip-bottom {\\n margin-top: 1rem; }\\n.table-tooltip.ng-tooltip-bottom:before {\\n content: \\\"\\\";\\n position: absolute;\\n top: -2rem;\\n left: calc(50% - 1rem);\\n border-width: 1rem;\\n border-style: solid; }\\n.theme-dark .table-tooltip.ng-tooltip-bottom:before {\\n border-color: transparent transparent #42505f transparent; }\\n.theme-gray .table-tooltip.ng-tooltip-bottom:before {\\n border-color: transparent transparent #3e464c transparent; }\\n.theme-white .table-tooltip.ng-tooltip-bottom:before {\\n border-color: transparent transparent #ffffff transparent; }\\n.table-tooltip.ng-tooltip-bottom-left {\\n margin-top: 1rem; }\\n.table-tooltip.ng-tooltip-bottom-left:before {\\n content: \\\"\\\";\\n position: absolute;\\n top: -1rem;\\n left: 0.7rem;\\n border-width: 0.5rem;\\n border-style: solid; }\\n.theme-dark .table-tooltip.ng-tooltip-bottom-left:before {\\n border-color: transparent transparent #42505f #42505f; }\\n.theme-gray .table-tooltip.ng-tooltip-bottom-left:before {\\n border-color: transparent transparent #3e464c #3e464c; }\\n.theme-white .table-tooltip.ng-tooltip-bottom-left:before {\\n border-color: transparent transparent #ffffff #ffffff; }\\n.table-tooltip.ng-tooltip-bottom-right {\\n margin-top: 1rem; }\\n.table-tooltip.ng-tooltip-bottom-right:before {\\n content: \\\"\\\";\\n position: absolute;\\n top: -1rem;\\n right: 0.7rem;\\n border-width: 0.5rem;\\n border-style: solid; }\\n.theme-dark .table-tooltip.ng-tooltip-bottom-right:before {\\n border-color: transparent #42505f #42505f transparent; }\\n.theme-gray .table-tooltip.ng-tooltip-bottom-right:before {\\n border-color: transparent #3e464c #3e464c transparent; }\\n.theme-white .table-tooltip.ng-tooltip-bottom-right:before {\\n border-color: transparent #ffffff #ffffff transparent; }\\n.table-tooltip.ng-tooltip-left {\\n margin-left: -1rem; }\\n.table-tooltip.ng-tooltip-left:before {\\n content: \\\"\\\";\\n position: absolute;\\n top: 0;\\n right: -1rem;\\n border-width: 1rem 1rem 0 0;\\n border-style: solid; }\\n.theme-dark .table-tooltip.ng-tooltip-left:before {\\n border-color: #42505f transparent transparent transparent; }\\n.theme-gray .table-tooltip.ng-tooltip-left:before {\\n border-color: #3e464c transparent transparent transparent; }\\n.theme-white .table-tooltip.ng-tooltip-left:before {\\n border-color: #ffffff transparent transparent transparent; }\\n.table-tooltip.ng-tooltip-right {\\n margin-left: 1rem; }\\n.table-tooltip.ng-tooltip-right:before {\\n content: \\\"\\\";\\n position: absolute;\\n top: 0;\\n left: -1rem;\\n border-width: 1rem 0 0 1rem;\\n border-style: solid; }\\n.theme-dark .table-tooltip.ng-tooltip-right:before {\\n border-color: #42505f transparent transparent transparent; }\\n.theme-gray .table-tooltip.ng-tooltip-right:before {\\n border-color: #3e464c transparent transparent transparent; }\\n.theme-white .table-tooltip.ng-tooltip-right:before {\\n border-color: #ffffff transparent transparent transparent; }\\n.balance-tooltip {\\n display: flex;\\n flex-direction: column;\\n font-size: 1.3rem;\\n padding: 1.3rem; }\\n.theme-dark .balance-tooltip {\\n background: #42505f;\\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\\n color: #e0e0e0; }\\n.theme-gray .balance-tooltip {\\n background: #3e464c;\\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\\n color: #e0e0e0; }\\n.theme-white .balance-tooltip {\\n background: #ffffff;\\n box-shadow: 0 0 1rem rgba(120, 120, 120, 0.5);\\n color: #43454b; }\\n.balance-tooltip.ng-tooltip-top {\\n margin-top: -1rem; }\\n.balance-tooltip.ng-tooltip-bottom {\\n margin-top: 1rem; }\\n.balance-tooltip.ng-tooltip-left {\\n margin-left: -1rem; }\\n.balance-tooltip.ng-tooltip-right {\\n margin-left: 1rem; }\\n.balance-tooltip .available {\\n margin-bottom: 1.7rem; }\\n.balance-tooltip .available b {\\n font-weight: 600; }\\n.balance-tooltip .locked {\\n margin-bottom: 0.7rem; }\\n.balance-tooltip .locked b {\\n font-weight: 600; }\\n.balance-tooltip .link {\\n cursor: pointer; }\\n.theme-dark .balance-tooltip .link {\\n color: #4db1ff; }\\n.theme-gray .balance-tooltip .link {\\n color: #42a5f5; }\\n.theme-white .balance-tooltip .link {\\n color: #2c95f1; }\\n.account-tooltip {\\n word-break: break-word;\\n max-width: 18rem; }\\n.ngx-contextmenu .dropdown-menu {\\n border: none;\\n padding: 0; }\\n.theme-dark .ngx-contextmenu .dropdown-menu {\\n background-color: #2b3644;\\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5); }\\n.theme-gray .ngx-contextmenu .dropdown-menu {\\n background-color: #292d31;\\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5); }\\n.theme-white .ngx-contextmenu .dropdown-menu {\\n background-color: #e0e0e0;\\n box-shadow: 0 0 1rem rgba(120, 120, 120, 0.5); }\\n.ngx-contextmenu li {\\n display: block;\\n font-family: OpenSans, sans-serif;\\n font-size: 1.3rem;\\n text-transform: uppercase;\\n text-align: center; }\\n.ngx-contextmenu a {\\n display: block;\\n padding: 0.5em 1em; }\\n.theme-dark .ngx-contextmenu a {\\n color: #e0e0e0; }\\n.theme-gray .ngx-contextmenu a {\\n color: #e0e0e0; }\\n.theme-white .ngx-contextmenu a {\\n color: #43454b; }\\n.theme-dark .ngx-contextmenu a:hover {\\n background-color: #556576;\\n color: #e0e0e0; }\\n.theme-gray .ngx-contextmenu a:hover {\\n background-color: #515960;\\n color: #e0e0e0; }\\n.theme-white .ngx-contextmenu a:hover {\\n background-color: #ffffff;\\n color: #43454b; }\\n.ng-select.lock-selection-select {\\n width: 100%; }\\n.ng-select.lock-selection-select .ng-select-container {\\n border: none;\\n border-radius: 0;\\n cursor: pointer;\\n font-size: 1.4rem;\\n outline: none;\\n padding: 0 1rem;\\n height: 4.2rem; }\\n.theme-dark .ng-select.lock-selection-select .ng-select-container {\\n background-color: #171e27;\\n color: #e0e0e0; }\\n.theme-gray .ng-select.lock-selection-select .ng-select-container {\\n background-color: #292d31;\\n color: #e0e0e0; }\\n.theme-white .ng-select.lock-selection-select .ng-select-container {\\n background-color: #e6e6e6;\\n color: #43454b; }\\n.ng-select.lock-selection-select .ng-select-container .ng-value-container {\\n padding: 0; }\\n.ng-select.lock-selection-select .ng-dropdown-panel {\\n border: none; }\\n.theme-dark .ng-select.lock-selection-select .ng-dropdown-panel {\\n background-color: #171e27; }\\n.theme-gray .ng-select.lock-selection-select .ng-dropdown-panel {\\n background-color: #292d31; }\\n.theme-white .ng-select.lock-selection-select .ng-dropdown-panel {\\n background-color: #e6e6e6; }\\n.ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\\n font-size: 1.4rem;\\n padding: 1rem; }\\n.theme-dark .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\\n background-color: #171e27;\\n color: #e0e0e0; }\\n.theme-gray .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\\n background-color: #292d31;\\n color: #e0e0e0; }\\n.theme-white .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\\n background-color: #e6e6e6;\\n color: #43454b; }\\n.theme-dark .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked {\\n background-color: rgba(58, 72, 90, 0.5);\\n color: #e0e0e0; }\\n.theme-gray .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked {\\n background-color: rgba(70, 76, 81, 0.5);\\n color: #e0e0e0; }\\n.theme-white .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked {\\n background-color: rgba(240, 240, 240, 0.5);\\n color: #43454b; }\\n.theme-dark .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected {\\n background-color: rgba(43, 54, 68, 0.5);\\n color: #e0e0e0; }\\n.theme-gray .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected {\\n background-color: rgba(37, 40, 43, 0.5);\\n color: #e0e0e0; }\\n.theme-white .ng-select.lock-selection-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected {\\n background-color: rgba(224, 224, 224, 0.5);\\n color: #43454b; }\\n.theme-dark app-modal-container .modal {\\n background: url('background-dark.png');\\n color: #e0e0e0; }\\n.theme-gray app-modal-container .modal {\\n background: url('background-gray.png');\\n color: #e0e0e0; }\\n.theme-white app-modal-container .modal {\\n background: url('background-white.png');\\n color: #43454b; }\\n.theme-dark app-modal-container .modal .content .icon.error {\\n background-color: #fe5252; }\\n.theme-gray app-modal-container .modal .content .icon.error {\\n background-color: #fe5252; }\\n.theme-white app-modal-container .modal .content .icon.error {\\n background-color: #ff5252; }\\n.theme-dark app-modal-container .modal .content .icon.success {\\n background-color: #5cda9d; }\\n.theme-gray app-modal-container .modal .content .icon.success {\\n background-color: #47cf8d; }\\n.theme-white app-modal-container .modal .content .icon.success {\\n background-color: #46c172; }\\n.theme-dark app-modal-container .modal .content .icon.info {\\n background-color: #4db1ff; }\\n.theme-gray app-modal-container .modal .content .icon.info {\\n background-color: #42a5f5; }\\n.theme-white app-modal-container .modal .content .icon.info {\\n background-color: #2c95f1; }\\n.theme-dark app-modal-container .modal .action-button {\\n background-color: #4db1ff;\\n color: #111921; }\\n.theme-gray app-modal-container .modal .action-button {\\n background-color: #42a5f5;\\n color: #1a1a1a; }\\n.theme-white app-modal-container .modal .action-button {\\n background-color: #2c95f1;\\n color: #fefefe; }\\n.theme-dark app-modal-container .modal .close-button .icon {\\n background-color: #556576; }\\n.theme-gray app-modal-container .modal .close-button .icon {\\n background-color: #515960; }\\n.theme-white app-modal-container .modal .close-button .icon {\\n background-color: #43454b; }\\n.theme-dark app-transaction-details .table {\\n border-top: 0.2rem solid #2b3644; }\\n.theme-gray app-transaction-details .table {\\n border-top: 0.2rem solid #2f3438; }\\n.theme-white app-transaction-details .table {\\n border-top: 0.2rem solid #ebebeb; }\\n.theme-dark app-transaction-details .table .row .cell.label {\\n color: #556576; }\\n.theme-gray app-transaction-details .table .row .cell.label {\\n color: #565c62; }\\n.theme-white app-transaction-details .table .row .cell.label {\\n color: #a0a5ab; }\\n.theme-dark app-transaction-details .table .row .cell.value {\\n color: #e0e0e0; }\\n.theme-gray app-transaction-details .table .row .cell.value {\\n color: #e0e0e0; }\\n.theme-white app-transaction-details .table .row .cell.value {\\n color: #43454b; }\\n.theme-dark app-transaction-details .table .row .cell.key-value {\\n color: #4db1ff; }\\n.theme-gray app-transaction-details .table .row .cell.key-value {\\n color: #42a5f5; }\\n.theme-white app-transaction-details .table .row .cell.key-value {\\n color: #2c95f1; }\\n.theme-dark app-progress-container .progress-bar-container {\\n color: #e0e0e0; }\\n.theme-gray app-progress-container .progress-bar-container {\\n color: #e0e0e0; }\\n.theme-white app-progress-container .progress-bar-container {\\n color: #43454b; }\\n.theme-dark app-progress-container .progress-bar-container .progress-bar {\\n background-color: #343f4a; }\\n.theme-gray app-progress-container .progress-bar-container .progress-bar {\\n background-color: #363a3e; }\\n.theme-white app-progress-container .progress-bar-container .progress-bar {\\n background-color: #dcdcdc; }\\n.theme-dark app-progress-container .progress-bar-container .progress-bar .progress-bar-full {\\n background-color: #5cda9d; }\\n.theme-gray app-progress-container .progress-bar-container .progress-bar .progress-bar-full {\\n background-color: #47cf8d; }\\n.theme-white app-progress-container .progress-bar-container .progress-bar .progress-bar-full {\\n background-color: #46c172; }\\napp-main, app-create-wallet, app-open-wallet, app-restore-wallet, app-seed-phrase, app-wallet-details, app-assign-alias, app-edit-alias, app-transfer-alias, app-settings, app-login {\\n flex: 1 1 auto;\\n padding: 3rem;\\n min-width: 85rem; }\\napp-main .content, app-create-wallet .content, app-open-wallet .content, app-restore-wallet .content, app-seed-phrase .content, app-wallet-details .content, app-assign-alias .content, app-edit-alias .content, app-transfer-alias .content, app-settings .content, app-login .content {\\n position: relative;\\n padding: 3rem;\\n min-height: 100%; }\\n.theme-dark app-main .content, .theme-dark app-create-wallet .content, .theme-dark app-open-wallet .content, .theme-dark app-restore-wallet .content, .theme-dark app-seed-phrase .content, .theme-dark app-wallet-details .content, .theme-dark app-assign-alias .content, .theme-dark app-edit-alias .content, .theme-dark app-transfer-alias .content, .theme-dark app-settings .content, .theme-dark app-login .content {\\n background-color: rgba(43, 54, 68, 0.5);\\n color: #e0e0e0; }\\n.theme-gray app-main .content, .theme-gray app-create-wallet .content, .theme-gray app-open-wallet .content, .theme-gray app-restore-wallet .content, .theme-gray app-seed-phrase .content, .theme-gray app-wallet-details .content, .theme-gray app-assign-alias .content, .theme-gray app-edit-alias .content, .theme-gray app-transfer-alias .content, .theme-gray app-settings .content, .theme-gray app-login .content {\\n background-color: rgba(37, 40, 43, 0.5);\\n color: #e0e0e0; }\\n.theme-white app-main .content, .theme-white app-create-wallet .content, .theme-white app-open-wallet .content, .theme-white app-restore-wallet .content, .theme-white app-seed-phrase .content, .theme-white app-wallet-details .content, .theme-white app-assign-alias .content, .theme-white app-edit-alias .content, .theme-white app-transfer-alias .content, .theme-white app-settings .content, .theme-white app-login .content {\\n background-color: rgba(255, 255, 255, 0.5);\\n color: #43454b; }\\napp-main .content .head, app-create-wallet .content .head, app-open-wallet .content .head, app-restore-wallet .content .head, app-seed-phrase .content .head, app-wallet-details .content .head, app-assign-alias .content .head, app-edit-alias .content .head, app-transfer-alias .content .head, app-settings .content .head, app-login .content .head {\\n position: absolute;\\n top: 0;\\n left: 0; }\\n.theme-dark app-main .content .add-wallet .add-wallet-help {\\n color: #4db1ff; }\\n.theme-gray app-main .content .add-wallet .add-wallet-help {\\n color: #42a5f5; }\\n.theme-white app-main .content .add-wallet .add-wallet-help {\\n color: #2c95f1; }\\n.theme-dark app-main .content .add-wallet .add-wallet-help .icon {\\n background-color: #4db1ff; }\\n.theme-gray app-main .content .add-wallet .add-wallet-help .icon {\\n background-color: #42a5f5; }\\n.theme-white app-main .content .add-wallet .add-wallet-help .icon {\\n background-color: #2c95f1; }\\n.theme-dark app-seed-phrase .seed-phrase-content {\\n background-color: #171e27;\\n color: #e0e0e0; }\\n.theme-gray app-seed-phrase .seed-phrase-content {\\n background-color: #292d31;\\n color: #e0e0e0; }\\n.theme-white app-seed-phrase .seed-phrase-content {\\n background-color: #e6e6e6;\\n color: #43454b; }\\n.theme-dark app-wallet-details .seed-phrase {\\n background-color: #171e27; }\\n.theme-gray app-wallet-details .seed-phrase {\\n background-color: #292d31; }\\n.theme-white app-wallet-details .seed-phrase {\\n background-color: #e6e6e6; }\\napp-settings .content {\\n height: 100%;\\n overflow-y: auto;\\n display: flex;\\n justify-content: space-between;\\n flex-direction: column; }\\n.theme-dark app-settings .content .theme-selection {\\n color: #556576; }\\n.theme-gray app-settings .content .theme-selection {\\n color: #565c62; }\\n.theme-white app-settings .content .theme-selection {\\n color: #a0a5ab; }\\n.theme-dark app-settings .content .scale-selection .button-block {\\n background-color: rgba(23, 31, 39, 0.5); }\\n.theme-gray app-settings .content .scale-selection .button-block {\\n background-color: rgba(23, 25, 27, 0.5); }\\n.theme-white app-settings .content .scale-selection .button-block {\\n background-color: rgba(224, 224, 224, 0.5); }\\n.theme-dark app-settings .content .scale-selection .button-block .label {\\n color: #556576; }\\n.theme-gray app-settings .content .scale-selection .button-block .label {\\n color: #565c62; }\\n.theme-white app-settings .content .scale-selection .button-block .label {\\n color: #a0a5ab; }\\n.theme-dark app-settings .content .scale-selection .button-block.active {\\n background-color: #4db1ff; }\\n.theme-gray app-settings .content .scale-selection .button-block.active {\\n background-color: #42a5f5; }\\n.theme-white app-settings .content .scale-selection .button-block.active {\\n background-color: #2c95f1; }\\n.theme-dark app-settings .content .scale-selection .button-block.active .label {\\n color: #4db1ff; }\\n.theme-gray app-settings .content .scale-selection .button-block.active .label {\\n color: #42a5f5; }\\n.theme-white app-settings .content .scale-selection .button-block.active .label {\\n color: #2c95f1; }\\napp-login {\\n min-width: inherit; }\\n.theme-dark app-sidebar {\\n background-color: rgba(23, 31, 39, 0.5); }\\n.theme-gray app-sidebar {\\n background-color: rgba(23, 25, 27, 0.5); }\\n.theme-white app-sidebar {\\n background-color: rgba(255, 255, 255, 0.5); }\\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-header h3 {\\n color: #e0e0e0; }\\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-header h3 {\\n color: #e0e0e0; }\\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-header h3 {\\n color: #43454b; }\\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-header button {\\n color: #4db1ff; }\\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-header button {\\n color: #42a5f5; }\\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-header button {\\n color: #2c95f1; }\\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account {\\n background-color: transparent;\\n color: #e0e0e0; }\\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account {\\n background-color: transparent;\\n color: #e0e0e0; }\\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account {\\n background-color: transparent;\\n color: #43454b; }\\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .text {\\n color: #556576; }\\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .text {\\n color: #565c62; }\\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .text {\\n color: #a0a5ab; }\\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .icon {\\n background-color: #4db1ff; }\\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .icon {\\n background-color: #42a5f5; }\\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .icon {\\n background-color: #2c95f1; }\\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .indicator {\\n background-color: #4db1ff;\\n color: #111921; }\\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .indicator {\\n background-color: #42a5f5;\\n color: #1a1a1a; }\\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .indicator {\\n background-color: #2c95f1;\\n color: #fefefe; }\\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar {\\n background-color: #343f4a; }\\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar {\\n background-color: #363a3e; }\\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar {\\n background-color: #dcdcdc; }\\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar .fill {\\n background-color: #5cda9d; }\\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar .fill {\\n background-color: #47cf8d; }\\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar .fill {\\n background-color: #46c172; }\\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization {\\n color: #556576; }\\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization {\\n color: #565c62; }\\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization {\\n color: #a0a5ab; }\\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active {\\n background-color: rgba(43, 54, 68, 0.5);\\n color: #e0e0e0; }\\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active {\\n background-color: rgba(37, 40, 43, 0.5);\\n color: #e0e0e0; }\\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active {\\n background-color: #1e88e5;\\n color: #ffffff; }\\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .text {\\n color: #556576; }\\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .text {\\n color: #565c62; }\\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .text {\\n color: #91baf1; }\\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .indicator {\\n background-color: #4db1ff;\\n color: #111921; }\\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .indicator {\\n background-color: #42a5f5;\\n color: #1a1a1a; }\\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .indicator {\\n background-color: #ffffff;\\n color: #43454b; }\\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .switch {\\n background-color: #000000;\\n color: #e0e0e0; }\\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .switch {\\n background-color: #000000;\\n color: #e0e0e0; }\\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .switch {\\n background-color: #ffffff;\\n color: #43454b; }\\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row.account-synchronization {\\n color: #556576; }\\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row.account-synchronization {\\n color: #565c62; }\\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row.account-synchronization {\\n color: #91baf1; }\\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account:hover:not(.active) {\\n background-color: rgba(58, 72, 90, 0.5); }\\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account:hover:not(.active) {\\n background-color: rgba(70, 76, 81, 0.5); }\\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account:hover:not(.active) {\\n background-color: rgba(240, 240, 240, 0.5); }\\n.theme-dark app-sidebar .sidebar-settings {\\n border-bottom: 0.2rem solid #1f2833; }\\n.theme-gray app-sidebar .sidebar-settings {\\n border-bottom: 0.2rem solid #2e3337; }\\n.theme-white app-sidebar .sidebar-settings {\\n border-bottom: 0.2rem solid #ebebeb; }\\n.theme-dark app-sidebar .sidebar-settings .wrap-button button {\\n color: #e0e0e0; }\\n.theme-gray app-sidebar .sidebar-settings .wrap-button button {\\n color: #e0e0e0; }\\n.theme-white app-sidebar .sidebar-settings .wrap-button button {\\n color: #43454b; }\\n.theme-dark app-sidebar .sidebar-settings .wrap-button button .icon {\\n background-color: #4db1ff; }\\n.theme-gray app-sidebar .sidebar-settings .wrap-button button .icon {\\n background-color: #42a5f5; }\\n.theme-white app-sidebar .sidebar-settings .wrap-button button .icon {\\n background-color: #2c95f1; }\\n.theme-dark app-sidebar .sidebar-settings .wrap-button.active button {\\n background-color: rgba(43, 54, 68, 0.5) !important;\\n color: #e0e0e0 !important; }\\n.theme-gray app-sidebar .sidebar-settings .wrap-button.active button {\\n background-color: rgba(37, 40, 43, 0.5) !important;\\n color: #e0e0e0 !important; }\\n.theme-white app-sidebar .sidebar-settings .wrap-button.active button {\\n background-color: #1e88e5 !important;\\n color: #ffffff !important; }\\n.theme-dark app-sidebar .sidebar-settings .wrap-button.active button .icon {\\n background-color: #4db1ff !important; }\\n.theme-gray app-sidebar .sidebar-settings .wrap-button.active button .icon {\\n background-color: #42a5f5 !important; }\\n.theme-white app-sidebar .sidebar-settings .wrap-button.active button .icon {\\n background-color: #ffffff !important; }\\n.theme-dark app-sidebar .sidebar-synchronization-status {\\n color: #556576; }\\n.theme-gray app-sidebar .sidebar-synchronization-status {\\n color: #565c62; }\\n.theme-white app-sidebar .sidebar-synchronization-status {\\n color: #a0a5ab; }\\n.theme-dark app-sidebar .sidebar-synchronization-status .status-container .offline:before {\\n background-color: #fe5252; }\\n.theme-gray app-sidebar .sidebar-synchronization-status .status-container .offline:before {\\n background-color: #ff5252; }\\n.theme-white app-sidebar .sidebar-synchronization-status .status-container .offline:before {\\n background-color: #ff5252; }\\n.theme-dark app-sidebar .sidebar-synchronization-status .status-container .online:before {\\n background-color: #5cda9d; }\\n.theme-gray app-sidebar .sidebar-synchronization-status .status-container .online:before {\\n background-color: #47cf8d; }\\n.theme-white app-sidebar .sidebar-synchronization-status .status-container .online:before {\\n background-color: #46c172; }\\n.theme-dark app-sidebar .sidebar-synchronization-status .status-container .testnet {\\n color: #e0e0e0; }\\n.theme-gray app-sidebar .sidebar-synchronization-status .status-container .testnet {\\n color: #e0e0e0; }\\n.theme-white app-sidebar .sidebar-synchronization-status .status-container .testnet {\\n color: #43454b; }\\n.theme-dark app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar {\\n background-color: #343f4a; }\\n.theme-gray app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar {\\n background-color: #363a3e; }\\n.theme-white app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar {\\n background-color: #dcdcdc; }\\n.theme-dark app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar .fill {\\n background-color: #5cda9d; }\\n.theme-gray app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar .fill {\\n background-color: #47cf8d; }\\n.theme-white app-sidebar .sidebar-synchronization-status .progress-bar-container .syncing .progress-bar .fill {\\n background-color: #46c172; }\\n.theme-dark app-sidebar .sidebar-synchronization-status .progress-bar-container .loading {\\n background-color: #5cda9d; }\\n.theme-gray app-sidebar .sidebar-synchronization-status .progress-bar-container .loading {\\n background-color: #47cf8d; }\\n.theme-white app-sidebar .sidebar-synchronization-status .progress-bar-container .loading {\\n background-color: #46c172; }\\n.theme-dark app-wallet {\\n color: #e0e0e0; }\\n.theme-gray app-wallet {\\n color: #e0e0e0; }\\n.theme-white app-wallet {\\n color: #43454b; }\\n.theme-dark app-wallet .header button {\\n color: #e0e0e0; }\\n.theme-gray app-wallet .header button {\\n color: #e0e0e0; }\\n.theme-white app-wallet .header button {\\n color: #43454b; }\\n.theme-dark app-wallet .header button .icon {\\n background-color: #4db1ff; }\\n.theme-gray app-wallet .header button .icon {\\n background-color: #42a5f5; }\\n.theme-white app-wallet .header button .icon {\\n background-color: #2c95f1; }\\n.theme-dark app-wallet .header .alias .icon {\\n background-color: #4db1ff; }\\n.theme-gray app-wallet .header .alias .icon {\\n background-color: #42a5f5; }\\n.theme-white app-wallet .header .alias .icon {\\n background-color: #2c95f1; }\\n.theme-dark app-wallet .address {\\n color: #4db1ff; }\\n.theme-gray app-wallet .address {\\n color: #42a5f5; }\\n.theme-white app-wallet .address {\\n color: #2c95f1; }\\n.theme-dark app-wallet .address .icon {\\n background-color: #4db1ff; }\\n.theme-gray app-wallet .address .icon {\\n background-color: #42a5f5; }\\n.theme-white app-wallet .address .icon {\\n background-color: #2c95f1; }\\n.theme-dark app-wallet .tabs .tabs-header .tab {\\n background-color: rgba(23, 31, 39, 0.5); }\\n.theme-gray app-wallet .tabs .tabs-header .tab {\\n background-color: rgba(23, 25, 27, 0.5); }\\n.theme-white app-wallet .tabs .tabs-header .tab {\\n background-color: rgba(224, 224, 224, 0.5); }\\n.theme-dark app-wallet .tabs .tabs-header .tab .icon {\\n background-color: #4db1ff; }\\n.theme-gray app-wallet .tabs .tabs-header .tab .icon {\\n background-color: #42a5f5; }\\n.theme-white app-wallet .tabs .tabs-header .tab .icon {\\n background-color: #2c95f1; }\\n.theme-dark app-wallet .tabs .tabs-header .tab .indicator {\\n background-color: #4db1ff;\\n color: #111921; }\\n.theme-gray app-wallet .tabs .tabs-header .tab .indicator {\\n background-color: #42a5f5;\\n color: #1a1a1a; }\\n.theme-white app-wallet .tabs .tabs-header .tab .indicator {\\n background-color: #ffffff;\\n color: #43454b; }\\n.theme-dark app-wallet .tabs .tabs-header .tab.active {\\n background-color: rgba(43, 54, 68, 0.5); }\\n.theme-gray app-wallet .tabs .tabs-header .tab.active {\\n background-color: rgba(37, 40, 43, 0.5); }\\n.theme-white app-wallet .tabs .tabs-header .tab.active {\\n background-color: rgba(255, 255, 255, 0.5); }\\n.theme-dark app-wallet .tabs .tabs-content {\\n background-color: rgba(43, 54, 68, 0.5); }\\n.theme-gray app-wallet .tabs .tabs-content {\\n background-color: rgba(37, 40, 43, 0.5); }\\n.theme-white app-wallet .tabs .tabs-content {\\n background-color: rgba(255, 255, 255, 0.5); }\\n.theme-dark app-send .form-send .input-block-address .address-dropdown {\\n background-color: #171e27;\\n color: #e0e0e0; }\\n.theme-gray app-send .form-send .input-block-address .address-dropdown {\\n background-color: #292d31;\\n color: #e0e0e0; }\\n.theme-white app-send .form-send .input-block-address .address-dropdown {\\n background-color: #e6e6e6;\\n color: #43454b; }\\n.theme-dark app-send .form-send .input-block-address .address-dropdown div:hover {\\n background-color: rgba(58, 72, 90, 0.5); }\\n.theme-gray app-send .form-send .input-block-address .address-dropdown div:hover {\\n background-color: rgba(70, 76, 81, 0.5); }\\n.theme-white app-send .form-send .input-block-address .address-dropdown div:hover {\\n background-color: rgba(240, 240, 240, 0.5); }\\n.theme-dark app-send .form-send .send-select {\\n color: #e0e0e0; }\\n.theme-gray app-send .form-send .send-select {\\n color: #e0e0e0; }\\n.theme-white app-send .form-send .send-select {\\n color: #43454b; }\\n.theme-dark app-send .form-send .send-select .icon {\\n background-color: #4db1ff; }\\n.theme-gray app-send .form-send .send-select .icon {\\n background-color: #42a5f5; }\\n.theme-white app-send .form-send .send-select .icon {\\n background-color: #2c95f1; }\\n.theme-dark app-send .form-send .additional-details {\\n border: 0.2rem solid #2b3644; }\\n.theme-gray app-send .form-send .additional-details {\\n border: 0.2rem solid #2f3438; }\\n.theme-white app-send .form-send .additional-details {\\n border: 0.2rem solid #ebebeb; }\\n.theme-dark app-receive .btn-copy-address {\\n background-color: #4db1ff; }\\n.theme-gray app-receive .btn-copy-address {\\n background-color: #42a5f5; }\\n.theme-white app-receive .btn-copy-address {\\n background-color: #2c95f1; }\\n.theme-dark app-history table tbody tr:nth-child(4n+1) {\\n background-color: #18202a; }\\n.theme-gray app-history table tbody tr:nth-child(4n+1) {\\n background-color: #25292d; }\\n.theme-white app-history table tbody tr:nth-child(4n+1) {\\n background-color: #ffffff; }\\n.theme-dark app-history table tbody tr:nth-child(4n+2) {\\n background-color: #18202a; }\\n.theme-gray app-history table tbody tr:nth-child(4n+2) {\\n background-color: #25292d; }\\n.theme-white app-history table tbody tr:nth-child(4n+2) {\\n background-color: #ffffff; }\\n.theme-dark app-history table tbody tr:nth-child(4n+3) {\\n background-color: transparent; }\\n.theme-gray app-history table tbody tr:nth-child(4n+3) {\\n background-color: transparent; }\\n.theme-white app-history table tbody tr:nth-child(4n+3) {\\n background-color: transparent; }\\n.theme-dark app-history table tbody tr:nth-child(4n+4) {\\n background-color: transparent; }\\n.theme-gray app-history table tbody tr:nth-child(4n+4) {\\n background-color: transparent; }\\n.theme-white app-history table tbody tr:nth-child(4n+4) {\\n background-color: transparent; }\\n.theme-dark app-history table tbody tr .status .confirmation {\\n background-color: #343f4a; }\\n.theme-gray app-history table tbody tr .status .confirmation {\\n background-color: #363a3e; }\\n.theme-white app-history table tbody tr .status .confirmation {\\n background-color: #dcdcdc; }\\n.theme-dark app-history table tbody tr .status .confirmation .fill {\\n background-color: #5cda9d; }\\n.theme-gray app-history table tbody tr .status .confirmation .fill {\\n background-color: #47cf8d; }\\n.theme-white app-history table tbody tr .status .confirmation .fill {\\n background-color: #46c172; }\\napp-history table tbody tr .status.send .icon {\\n background-color: #ff5252; }\\napp-history table tbody tr .status.received .icon {\\n background-color: #00c853; }\\n.theme-dark app-contracts .wrap-table .contract .icon.new, .theme-dark app-contracts .wrap-table .contract .icon.alert {\\n background-color: #fe5252; }\\n.theme-gray app-contracts .wrap-table .contract .icon.new, .theme-gray app-contracts .wrap-table .contract .icon.alert {\\n background-color: #fe5252; }\\n.theme-white app-contracts .wrap-table .contract .icon.new, .theme-white app-contracts .wrap-table .contract .icon.alert {\\n background-color: #ff5252; }\\n.theme-dark app-contracts .wrap-table .contract .icon.purchase, .theme-dark app-contracts .wrap-table .contract .icon.sell {\\n background-color: #4db1ff; }\\n.theme-gray app-contracts .wrap-table .contract .icon.purchase, .theme-gray app-contracts .wrap-table .contract .icon.sell {\\n background-color: #42a5f5; }\\n.theme-white app-contracts .wrap-table .contract .icon.purchase, .theme-white app-contracts .wrap-table .contract .icon.sell {\\n background-color: #2c95f1; }\\n.theme-dark app-purchase .form-purchase .purchase-select {\\n color: #e0e0e0; }\\n.theme-gray app-purchase .form-purchase .purchase-select {\\n color: #e0e0e0; }\\n.theme-white app-purchase .form-purchase .purchase-select {\\n color: #43454b; }\\n.theme-dark app-purchase .form-purchase .purchase-select .icon {\\n background-color: #4db1ff; }\\n.theme-gray app-purchase .form-purchase .purchase-select .icon {\\n background-color: #42a5f5; }\\n.theme-white app-purchase .form-purchase .purchase-select .icon {\\n background-color: #2c95f1; }\\n.theme-dark app-purchase .form-purchase .purchase-states {\\n color: #4db1ff; }\\n.theme-gray app-purchase .form-purchase .purchase-states {\\n color: #42a5f5; }\\n.theme-white app-purchase .form-purchase .purchase-states {\\n color: #2c95f1; }\\n.theme-dark app-purchase .form-purchase .additional-details {\\n border: 0.2rem solid #2b3644; }\\n.theme-gray app-purchase .form-purchase .additional-details {\\n border: 0.2rem solid #2f3438; }\\n.theme-white app-purchase .form-purchase .additional-details {\\n border: 0.2rem solid #ebebeb; }\\n.theme-dark app-purchase .progress-bar-container .progress-bar {\\n background-color: #343f4a; }\\n.theme-gray app-purchase .progress-bar-container .progress-bar {\\n background-color: #363a3e; }\\n.theme-white app-purchase .progress-bar-container .progress-bar {\\n background-color: #dcdcdc; }\\n.theme-dark app-purchase .progress-bar-container .progress-bar .progress-bar-full {\\n background-color: #5cda9d; }\\n.theme-gray app-purchase .progress-bar-container .progress-bar .progress-bar-full {\\n background-color: #47cf8d; }\\n.theme-white app-purchase .progress-bar-container .progress-bar .progress-bar-full {\\n background-color: #46c172; }\\napp-messages table tbody tr td:first-child span {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap; }\\n.theme-dark app-messages table tbody tr td:first-child .icon {\\n background-color: #fe5252; }\\n.theme-gray app-messages table tbody tr td:first-child .icon {\\n background-color: #fe5252; }\\n.theme-white app-messages table tbody tr td:first-child .icon {\\n background-color: #ff5252; }\\n.theme-dark app-typing-message .head .interlocutor {\\n color: #4db1ff; }\\n.theme-gray app-typing-message .head .interlocutor {\\n color: #42a5f5; }\\n.theme-white app-typing-message .head .interlocutor {\\n color: #2c95f1; }\\n.theme-dark app-typing-message .messages-content .messages-list div.date {\\n color: #556576; }\\n.theme-gray app-typing-message .messages-content .messages-list div.date {\\n color: #565c62; }\\n.theme-white app-typing-message .messages-content .messages-list div.date {\\n color: #a0a5ab; }\\n.theme-dark app-typing-message .messages-content .messages-list div.my {\\n background-color: #2a3544; }\\n.theme-gray app-typing-message .messages-content .messages-list div.my {\\n background-color: #30363c; }\\n.theme-white app-typing-message .messages-content .messages-list div.my {\\n background-color: #fff; }\\napp-typing-message .messages-content .messages-list div.my:before {\\n content: \\\"\\\";\\n display: block;\\n position: absolute;\\n top: 0;\\n left: -1.1rem;\\n border: 1.2rem solid transparent; }\\n.theme-dark app-typing-message .messages-content .messages-list div.my:before {\\n border-top-color: #2a3544; }\\n.theme-gray app-typing-message .messages-content .messages-list div.my:before {\\n border-top-color: #30363c; }\\n.theme-white app-typing-message .messages-content .messages-list div.my:before {\\n border-top-color: #fff; }\\n.theme-dark app-typing-message .messages-content .messages-list div.buddy {\\n background-color: #18202a; }\\n.theme-gray app-typing-message .messages-content .messages-list div.buddy {\\n background-color: #25292d; }\\n.theme-white app-typing-message .messages-content .messages-list div.buddy {\\n background-color: #ededed; }\\napp-typing-message .messages-content .messages-list div.buddy:after {\\n content: \\\"\\\";\\n display: block;\\n position: absolute;\\n right: -1.1rem;\\n top: 0;\\n border: 1.2rem solid transparent; }\\n.theme-dark app-typing-message .messages-content .messages-list div.buddy:after {\\n border-top-color: #18202a; }\\n.theme-gray app-typing-message .messages-content .messages-list div.buddy:after {\\n border-top-color: #25292d; }\\n.theme-white app-typing-message .messages-content .messages-list div.buddy:after {\\n border-top-color: #ededed; }\\n.theme-dark app-staking .chart-header .general .label {\\n color: #556576; }\\n.theme-gray app-staking .chart-header .general .label {\\n color: #565c62; }\\n.theme-white app-staking .chart-header .general .label {\\n color: #a0a5ab; }\\n.theme-dark app-staking .chart-header .general .options {\\n color: #e0e0e0; }\\n.theme-gray app-staking .chart-header .general .options {\\n color: #e0e0e0; }\\n.theme-white app-staking .chart-header .general .options {\\n color: #43454b; }\\napp-staking .chart-header .selected {\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n flex-grow: 1;\\n font-size: 1.6rem; }\\n.theme-dark app-staking .chart-options .title {\\n color: #556576; }\\n.theme-gray app-staking .chart-options .title {\\n color: #565c62; }\\n.theme-white app-staking .chart-options .title {\\n color: #a0a5ab; }\\n.theme-dark app-staking .chart-options .options button {\\n color: #e0e0e0;\\n background-color: #2b3644; }\\n.theme-gray app-staking .chart-options .options button {\\n color: #e0e0e0;\\n background-color: #292d31; }\\n.theme-white app-staking .chart-options .options button {\\n color: #43454b;\\n background-color: #e0e0e0; }\\n.theme-dark app-staking .chart-options .options button.active {\\n background-color: #556576; }\\n.theme-gray app-staking .chart-options .options button.active {\\n background-color: #515960; }\\n.theme-white app-staking .chart-options .options button.active {\\n background-color: #ffffff; }\\n.head {\\n display: flex;\\n align-items: flex-end;\\n justify-content: space-between;\\n font-size: 1.3rem;\\n padding: 0 3rem;\\n width: 100%;\\n height: 3rem; }\\n.theme-dark .head {\\n color: #4db1ff; }\\n.theme-gray .head {\\n color: #42a5f5; }\\n.theme-white .head {\\n color: #2c95f1; }\\n.head .breadcrumbs > span:not(:last-child), .head .breadcrumbs a:not(:last-child) {\\n position: relative;\\n cursor: pointer;\\n margin-right: 20px;\\n outline-style: none; }\\n.head .breadcrumbs > span:not(:last-child):after, .head .breadcrumbs a:not(:last-child):after {\\n content: \\\"\\\";\\n display: block;\\n position: absolute;\\n top: 0.5rem;\\n right: -1.5rem;\\n width: 0.9rem;\\n height: 0.9rem;\\n -webkit-mask: url('arrow-right.svg') no-repeat center;\\n mask: url('arrow-right.svg') no-repeat center;\\n -webkit-mask-size: cover;\\n mask-size: cover; }\\n.theme-dark .head .breadcrumbs > span:not(:last-child):after, .theme-dark .head .breadcrumbs a:not(:last-child):after {\\n background-color: #4db1ff; }\\n.theme-gray .head .breadcrumbs > span:not(:last-child):after, .theme-gray .head .breadcrumbs a:not(:last-child):after {\\n background-color: #42a5f5; }\\n.theme-white .head .breadcrumbs > span:not(:last-child):after, .theme-white .head .breadcrumbs a:not(:last-child):after {\\n background-color: #2c95f1; }\\n.head .back-btn {\\n display: flex;\\n align-items: center;\\n background-color: transparent;\\n color: #4db1ff;\\n font-size: inherit;\\n font-weight: 400;\\n line-height: 1.3rem;\\n padding: 0;\\n height: auto; }\\n.head .back-btn .icon {\\n margin-right: 0.7rem;\\n -webkit-mask: url('back.svg') no-repeat center;\\n mask: url('back.svg') no-repeat center;\\n width: 0.9rem;\\n height: 0.9rem; }\\n.theme-dark .head .back-btn .icon {\\n background-color: #4db1ff; }\\n.theme-gray .head .back-btn .icon {\\n background-color: #42a5f5; }\\n.theme-white .head .back-btn .icon {\\n background-color: #2c95f1; }\\n.scrolled-content::-webkit-scrollbar {\\n background-color: transparent;\\n cursor: default;\\n width: 1rem;\\n height: 1rem; }\\n.scrolled-content::-webkit-scrollbar-track {\\n background: transparent; }\\n.scrolled-content::-webkit-scrollbar-thumb {\\n background-color: #556576;\\n background-clip: padding-box;\\n border: 0.25rem solid transparent;\\n border-radius: 0.5rem; }\\n.scrolled-content::-webkit-scrollbar-thumb:hover {\\n background-color: #556576; }\\ntable {\\n font-size: 1.3rem;\\n width: 100%; }\\ntable thead {\\n text-align: left; }\\n.theme-dark table thead {\\n color: #556576; }\\n.theme-gray table thead {\\n color: #565c62; }\\n.theme-white table thead {\\n color: #a0a5ab; }\\ntable thead tr {\\n height: 4rem; }\\ntable thead tr th {\\n padding: 1rem;\\n vertical-align: bottom; }\\ntable thead tr th:first-child {\\n padding-left: 3rem; }\\ntable thead tr th:last-child {\\n padding-right: 3rem; }\\ntable tbody {\\n text-align: left; }\\n.theme-dark table tbody {\\n color: #e0e0e0; }\\n.theme-gray table tbody {\\n color: #e0e0e0; }\\n.theme-white table tbody {\\n color: #43454b; }\\ntable tbody tr {\\n height: 3.5rem; }\\n.theme-dark table tbody tr:nth-child(odd) {\\n background-color: #18202a; }\\n.theme-gray table tbody tr:nth-child(odd) {\\n background-color: #25292d; }\\n.theme-white table tbody tr:nth-child(odd) {\\n background-color: #ffffff; }\\ntable tbody tr td {\\n line-height: 1.7rem;\\n padding: 0 1rem;\\n vertical-align: middle;\\n white-space: nowrap;\\n max-width: 20rem; }\\ntable tbody tr td:first-child {\\n padding-left: 3rem; }\\ntable tbody tr td:last-child {\\n padding-right: 3rem; }\\n@font-face {\\n font-family: OpenSans;\\n src: url('OpenSans-Light.ttf');\\n font-weight: 300; }\\n@font-face {\\n font-family: OpenSans;\\n src: url('OpenSans-Regular.ttf');\\n font-weight: 400; }\\n@font-face {\\n font-family: OpenSans;\\n src: url('OpenSans-SemiBold.ttf');\\n font-weight: 600; }\\n@font-face {\\n font-family: OpenSans;\\n src: url('OpenSans-Bold.ttf');\\n font-weight: 700; }\\n@font-face {\\n font-family: OpenSans;\\n src: url('OpenSans-ExtraBold.ttf');\\n font-weight: 800; }\\nhtml {\\n font-family: OpenSans, sans-serif;\\n font-size: 10px; }\\nbody {\\n font-family: OpenSans, sans-serif;\\n font-size: 1.6rem;\\n width: 100vw;\\n height: 100vh; }\\nbody.theme-dark {\\n background: #131921 url('background-dark.png') no-repeat center;\\n background-size: cover; }\\nbody.theme-gray {\\n background: #101417 url('background-gray.png') no-repeat center;\\n background-size: cover; }\\nbody.theme-white {\\n background: #eeeeee url('background-white.png') no-repeat center;\\n background-size: cover; }\\nbody app-root {\\n display: flex;\\n width: 100%;\\n height: 100%; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9EOlxcUHJvamVjdHNcXFphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXNzZXRzXFxzY3NzXFxiYXNlXFxfbWl4aW5zLnNjc3MiLCJzcmMvc3R5bGVzLnNjc3MiLCJub2RlX21vZHVsZXMvQG5nLXNlbGVjdC9uZy1zZWxlY3QvdGhlbWVzL2RlZmF1bHQudGhlbWUuY3NzIiwic3JjL0Q6XFxQcm9qZWN0c1xcWmFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXGJhc2VcXF9udWxsLnNjc3MiLCJzcmMvRDpcXFByb2plY3RzXFxaYW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFzc2V0c1xcc2Nzc1xcYmFzZVxcX2Jhc2Uuc2NzcyIsInNyYy9EOlxcUHJvamVjdHNcXFphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXNzZXRzXFxzY3NzXFxiYXNlXFxfdGhlbWUuc2NzcyIsInNyYy9EOlxcUHJvamVjdHNcXFphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXNzZXRzXFxzY3NzXFxsYXlvdXRcXF9tYWluLnNjc3MiLCJzcmMvRDpcXFByb2plY3RzXFxaYW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFzc2V0c1xcc2Nzc1xcbGF5b3V0XFxfc2lkZWJhci5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0c1xcWmFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXGxheW91dFxcX3dhbGxldC5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0c1xcWmFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXG1vZHVsZXNcXF9oZWFkLnNjc3MiLCJzcmMvRDpcXFByb2plY3RzXFxaYW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFzc2V0c1xcc2Nzc1xcbW9kdWxlc1xcX3Njcm9sbC5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0c1xcWmFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXG1vZHVsZXNcXF90YWJsZS5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0c1xcWmFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxzdHlsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4RUE7O0NDNUVDO0FDRkQsaURBQWlELGVBQWUsQ0FBQyxpQ0FBaUM7QUFBQyx1REFBdUQsZUFBZTtBQUFDLDJEQUEyRCxRQUFRLENBQUMseUNBQXlDLENBQUMsc0JBQXNCO0FBQUMsaUVBQWlFLHlDQUF5QztBQUFDLGtFQUFrRSw0QkFBNEIsQ0FBQywyQkFBMkI7QUFBQywrREFBK0QseUJBQXlCLENBQUMsd0JBQXdCO0FBQUMseUVBQXlFLG9CQUFvQixDQUFDLDBFQUEwRTtBQUFDLG1EQUFtRCx3QkFBd0I7QUFBQyx5Q0FBeUMsWUFBWTtBQUFDLGdDQUFnQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsa0JBQWtCO0FBQUMsc0NBQXNDLG1DQUFtQztBQUFDLG9EQUFvRCxrQkFBa0IsQ0FBQyxpQkFBaUI7QUFBQyxnRUFBZ0Usa0JBQWtCLENBQUMsY0FBYztBQUFDLG9FQUFvRSxVQUFVO0FBQUMsaURBQWlELFdBQVc7QUFBQywrRUFBK0UsT0FBTyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0I7QUFBQywyRkFBMkYsa0JBQWtCLENBQUMsaUJBQWlCO0FBQUMsb0dBQW9HLHdCQUF3QixDQUFDLHdCQUF3QjtBQUFDLG9IQUFvSCxhQUFhO0FBQUMsdUVBQXVFLGVBQWUsQ0FBQyxnQkFBZ0I7QUFBQyxtRkFBbUYsaUJBQWlCLENBQUMsY0FBYztBQUFDLGlG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O0FMMEU3QjtJSXJDRSx5QkNjZ0M7SURiaEMsY0NRMkIsRUFBQTtBTDRCN0I7SUlyQ0UseUJDNERnQztJRDNEaEMsY0NzRDJCLEVBQUE7QUxsQjdCO0lJOUJJLHlCQ3RDeUIsRUFBQTtBTG9FN0I7SUk5QkkseUJDUXlCLEVBQUE7QUxzQjdCO0lJOUJJLHlCQ3NEeUIsRUFBQTtBTHhCN0I7SUl0QkUseUJDM0NpQztJRDRDakMsY0NyRDJCLEVBQUE7QUwwRTdCO0lJdEJFLHlCQ0dpQztJREZqQyxjQ1AyQixFQUFBO0FMNEI3QjtJSXRCRSx5QkNpRGlDO0lEaERqQyxjQ3VDMkIsRUFBQTtBTGxCN0I7SUlmSSx5QkNqRDBCLEVBQUE7QUxnRTlCO0lJZkkseUJDSDBCLEVBQUE7QUxrQjlCO0lJZkkseUJDMkMwQixFQUFBO0FMNUI5QjtJSVBFLHlCQ3hEcUM7SUR5RHJDLGNDcEUyQixFQUFBO0FMMEU3QjtJSVBFLHlCQ1ZxQztJRFdyQyxjQ3RCMkIsRUFBQTtBTDRCN0I7SUlQRSx5QkNvQ3FDO0lEbkNyQyxjQ3dCMkIsRUFBQTtBTGxCN0I7SUlBSSx5QkM5RDhCLEVBQUE7QUw4RGxDO0lJQUkseUJDaEI4QixFQUFBO0FMZ0JsQztJSUFJLHlCQzhCOEIsRUFBQTtBRHBHdEM7SUE0RUksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUIsRUFBQTtBSlJ2QjtNSVdFLDZCQUE2QjtNQUM3Qiw0QkN6RW1DO01EMEVuQyxjQ3hGb0IsRUFBQTtBTDJFdEI7TUlXRSw2QkFBNkI7TUFDN0IsNEJDM0JtQztNRDRCbkMsY0MxQ29CLEVBQUE7QUw2QnRCO01JV0UsNkJBQTZCO01BQzdCLDRCQ21CbUM7TURsQm5DLGNDSW9CLEVBQUE7QUR2RjFCO01BNEZNLGtCQUFrQjtNQUNsQiw2REFBcUU7Y0FBckUscURBQXFFO01BQ3JFLGFBQWE7TUFDYixjQUFjLEVBQUE7QUp6QmhCO1FJbUJJLHlCQzlGa0IsRUFBQTtBTDJFdEI7UUltQkkseUJDaERrQixFQUFBO0FMNkJ0QjtRSW1CSSx5QkNGa0IsRUFBQTtBRGMxQjtFQUNFLGFB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Q0ksZUFBZSxFQUFBO0FKNWJmO01JK2JFLGNDdmdCb0IsRUFBQTtBTHdFdEI7TUkrYkUsY0N6ZG9CLEVBQUE7QUwwQnRCO01JK2JFLGNDM2FvQixFQUFBO0FEZ2IxQjtFQUNFLHNCQUFzQjtFQUN0QixnQkFBZ0IsRUFBQTtBQUdsQjtFQUdJLFlBQVk7RUFDWixVQUFVLEVBQUE7QUo3Y1Y7SUlnZEUseUJDM2ZrQztJRDRmbEMsdUNDemZ3QyxFQUFBO0FMd0MxQztJSWdkRSx5QkM3Y2tDO0lEOGNsQyx1Q0MzY3dDLEVBQUE7QUxOMUM7SUlnZEUseUJDL1prQztJRGdhbEMsNkNDN1o4QyxFQUFBO0FEcVpwRDtFQWFJLGNBQWM7RUFDZCxpQ0FBaUM7RUFDakMsaUJBQWlCO0VBQ2pCLHlCQUF5QjtFQUN6QixrQkFBa0IsRUFBQTtBQWpCdEI7RUFxQkksY0FBYztFQUNkLGtCQUFrQixFQUFBO0FKL2RsQjtJSWtlRSxjQzdpQm9CLEVBQUE7QUwyRXRCO0lJa2VFLGNDL2ZvQixFQUFBO0FMNkJ0QjtJSWtlRSxjQ2pkb0IsRUFBQTtBTGpCdEI7SUl3ZUkseUJDbGhCMkI7SURtaEIzQixjQ3BqQmtCLEVBQUE7QUwyRXRCO0lJd2VJLHlCQ3BlMkI7SURxZTNCLGNDdGdCa0IsRUFBQTtBTDZCdEI7SUl3ZUkseUJDdGIyQjtJRHViM0IsY0N4ZGtCLEVBQUE7QUQ4ZDFCO0VBR0ksV0FBVyxFQUFBO0FBSGY7SUFNTSxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLGVBQWU7SUFDZixjQUFjLEVBQUE7QUozZmhCO01JOGZJLHlCQzFqQnlCO01EMmpCekIsY0Mxa0JrQixFQUFBO0FMMkV0QjtNSThmSSx5QkM1Z0J5QjtNRDZnQnpCLGNDNWhCa0IsRUFBQTtBTDZCdEI7TUk4ZkkseUJDOWR5QjtNRCtkekIsY0M5ZWtCLEVBQUE7QUQ4ZDFCO01Bb0JRLFVBQVUsRUFBQTtBQXBCbEI7SUF5Qk0sWUFBWSxFQUFBO0FKeGdCZDtNSTJnQkkseUJDdmtCeUIsRUFBQTtBTDREN0I7TUkyZ0JJLHlCQ3poQnlCLEVBQUE7QUxjN0I7TUkyZ0JJLHlCQzNleUIsRUFBQTtBRCtjakM7TUFrQ1UsaUJBQWlCO01BQ2pCLGFBQWEsRUFBQTtBSmxoQm5CO1FJcWhCUSx5QkNqbEJxQjtRRGtsQnJCLGNDam1CYyxFQUFBO0FMMkV0QjtRSXFoQlEseUJDbmlCcUI7UURvaUJyQixjQ25qQmMsRUFBQTtBTDZCdEI7UUlxaEJRLHlCQ3JmcUI7UURzZnJCLGNDcmdCYyxFQUFBO0FMakJ0QjtRSTRoQlUsdUNDdmxCNkI7UUR3bEI3QixjQ3htQlksRUFBQTtBTDJFdEI7UUk0aEJVLHVDQ3ppQjZCO1FEMGlCN0IsY0MxakJZLEVBQUE7QUw2QnRCO1FJNGhCVSwwQ0MzZmdDO1FENGZoQyxjQzVnQlksRUFBQTtBTGpCdEI7UUlvaUJVLHVDQzlsQmdDO1FEK2xCaEMsY0NobkJZLEVBQUE7QUwyRXRCO1FJb2lCVSx1Q0NoakJnQztRRGlqQmhDLGNDbGtCWSxFQUFBO0FMNkJ0QjtRSW9pQlUsMENDbGdCbUM7UURtZ0JuQyxjQ3BoQlksRUFBQTtBTGpCdEI7RUltakJFLHNDQzFsQjBEO0VEMmxCMUQsY0MvbkJvQixFQUFBO0FMMkV0QjtFSW1qQkUsc0NDNWlCMEQ7RUQ2aUIxRCxjQ2psQm9CLEVBQUE7QUw2QnRCO0VJbWpCRSx1Q0M5ZjJEO0VEK2YzRCxjQ25pQm9CLEVBQUE7QUxqQnRCO0VJNGpCTSx5QkNsb0JlLEVBQUE7QUxzRXJCO0VJNGpCTSx5QkNwbEJlLEVBQUE7QUx3QnJCO0VJNGpCTSx5QkN0aUJlLEVBQUE7QUx0QnJCO0VJbWtCTSx5QkMxb0JpQixFQUFBO0FMdUV2QjtFSW1rQk0seUJDNWxCaUIsRUFBQTtBTHlCdkI7RUlta0JNLHlCQzlpQmlCLEVBQUE7QUxyQnZCO0VJMGtCTSx5QkNscEJnQixFQUFBO0FMd0V0QjtFSTBrQk0seUJDcG1CZ0IsRUFBQTtBTDBCdEI7RUkwa0JNLHlCQ3RqQmdCLEVBQUE7QUxwQnRCO0VJa2xCSSx5QkMxcEJrQjtFRDJwQmxCLGNDN3BCeUIsRUFBQTtBTDBFN0I7RUlrbEJJLHlCQzVtQmtCO0VENm1CbEIsY0MvbUJ5QixFQUFBO0FMNEI3QjtFSWtsQkkseUJDOWpCa0I7RUQrakJsQixjQ2prQnlCLEVBQUE7QUxsQjdCO0VJNGxCTSx5QkNsb0JtQixFQUFBO0FMc0N6QjtFSTRsQk0seUJDcGxCbUIsRUFBQTtBTFJ6QjtFSTRsQk0seUJDdGlCbUIsRUFBQTtBTHREekI7RUl3bUJFLGdDQ3JxQm1DLEVBQUE7QUw2RHJDO0VJd21CRSxnQ0N2bkJtQyxFQUFBO0FMZXJDO0VJd21CRSxnQ0N6a0JtQyxFQUFBO0FML0JyQztFSWtuQlEsY0MzckJrQixFQUFBO0FMeUUxQjtFSWtuQlEsY0M3b0JrQixFQUFBO0FMMkIxQjtFSWtuQlEsY0MvbEJrQixFQUFBO0FMbkIxQjtFSXluQlEsY0Nwc0JjLEVBQUE7QUwyRXRCO0VJeW5CUSxjQ3RwQmMsRUFBQTtBTDZCdEI7RUl5bkJRLGNDeG1CYyxFQUFBO0FMakJ0QjtFSWdvQlEsY0N4c0JjLEVBQUE7QUx3RXRCO0VJZ29CUSxjQzFwQmMsRUFBQTtBTDBCdEI7RUlnb0JRLGNDNW1CYyxFQUFBO0FMcEJ0QjtFSTZvQkUsY0N4dEJvQixFQUFBO0FMMkV0QjtFSTZvQkUsY0MxcUJvQixFQUFBO0FMNkJ0QjtFSTZvQkUsY0M1bkJvQixFQUFBO0FMakJ0QjtFSW1wQkkseUJDaHNCK0IsRUFBQTtBTDZDbkM7RUltcEJJLHlCQ2xwQitCLEVBQUE7QUxEbkM7RUltcEJJLHlCQ3BtQitCLEVBQUE7QUwvQ25DO0VJeXBCTSx5QkNyc0JpQyxFQUFBO0FMNEN2QztFSXlwQk0seUJDdnBCaUMsRUFBQTtBTEZ2QztFSXlwQk0seUJDem1CaUMsRUFBQTtBQ25JM0M7RUFDRSxjQUFjO0VBQ2QsYUFBYTtFQUNiLGdCQUFnQixFQUFBO0FBSGxCO0lBTUksa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixnQkFBZ0IsRUFBQTtBTjJFaEI7TU14RUUsdUNESjJDO01DSzNDLGNESm9CLEVBQUE7QUwyRXRCO01NeEVFLHVDRDBDMkM7TUN6QzNDLGNEMENvQixFQUFBO0FMNkJ0QjtNTXhFRSwwQ0R3RjhDO01DdkY5QyxjRHdGb0IsRUFBQTtBQ3BHMUI7TUFnQk0sa0JBQWtCO01BQ2xCLE1BQU07TUFDTixPQUFPLEVBQUE7QU5pRVQ7RU1uRE0sY0RyQmdCLEVBQUE7QUx3RXRCO0VNbkRNLGNEeUJnQixFQUFBO0FMMEJ0QjtFTW5ETSxjRHVFZ0IsRUFBQTtBTHBCdEI7RU03Q1EseUJEM0JjLEVBQUE7QUx3RXRCO0VNN0NRLHlCRG1CYyxFQUFBO0FMMEJ0QjtFTTdDUSx5QkRpRWMsRUFBQTtBTHBCdEI7RU1oQ0UseUJENUIyQjtFQzZCM0IsY0Q1Q29CLEVBQUE7QUwyRXRCO0VNaENFLHlCRGtCMkI7RUNqQjNCLGNERW9CLEVBQUE7QUw2QnRCO0VNaENFLHlCRGdFMkI7RUMvRDNCLGNEZ0RvQixFQUFBO0FMakJ0QjtFTXJCRSx5QkR2QzJCLEVBQUE7QUw0RDdCO0VNckJFLHlCRE8yQixFQUFBO0FMYzdCO0VNckJFLHlCRHFEMkIsRUFBQTtBQ2hEakM7RUFHSSxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYiw4QkFBOEI7RUFDOUIsc0JBQXNCLEVBQUE7QU5TdEI7SU1KSSxjRHJFc0IsRUFBQTtBTHlFMUI7SU1KSSxjRHZCc0IsRUFBQTtBTDJCMUI7SU1KSSxjRHVCc0IsRUFBQTtBTG5CMUI7SU1LTSx1Q0R0RDJDLEVBQUE7QUxpRGpEO0lNS00sdUNEUjJDLEVBQUE7QUxHakQ7SU1LTSwwQ0RzQzhDLEVBQUE7QUwzQ3BEO0lNV1EsY0RwRmtCLEVBQUE7QUx5RTFCO0lNV1EsY0R0Q2tCLEVBQUE7QUwyQjFCO0lNV1EsY0RRa0IsRUFBQTtBTG5CMUI7SU1rQlEseUJEMUZjLEVBQUE7QUx3RXRCO0lNa0JRLHlCRDVDYyxFQUFBO0FMMEJ0QjtJTWtCUSx5QkRFYyxFQUFBO0FMcEJ0QjtJTXdCVSxjRGhHWSxFQUFBO0FMd0V0QjtJTXdCVSxjRGxEWSxFQUFBO0FMMEJ0QjtJTXdCVSxjREpZLEVBQUE7QUNhMUI7RUFDRSxrQkFBa0IsRUFBQTtBTmxDaEI7RU9oRkEsdUNGQTZDLEVBQUE7QUxnRjdDO0VPaEZBLHVDRjhDNkMsRUFBQTtBTGtDN0M7RU9oRkEsMENGNEZnRCxFQUFBO0FMWmhEO0VPdEVNLGNGTGdCLEVBQUE7QUwyRXRCO0VPdEVNLGNGeUNnQixFQUFBO0FMNkJ0QjtFT3RFTSxjRnVGZ0IsRUFBQTtBTGpCdEI7RU8vRE0sY0ZUZ0IsRUFBQTtBTHdFdEI7RU8vRE0sY0ZxQ2dCLEVBQUE7QUwwQnRCO0VPL0RNLGNGbUZnQixFQUFBO0FMcEJ0QjtFT3JETSw2QkFBNkI7RUFDN0IsY0Z2QmdCLEVBQUE7QUwyRXRCO0VPckRNLDZCQUE2QjtFQUM3QixjRnVCZ0IsRUFBQTtBTDZCdEI7RU9yRE0sNkJBQTZCO0VBQzdCLGNGcUVnQixFQUFBO0FMakJ0QjtFTzVDVSxjRjdCZ0IsRUFBQTtBTHlFMUI7RU81Q1UsY0ZpQmdCLEVBQUE7QUwyQjFCO0VPNUNVLGNGK0RnQixFQUFBO0FMbkIxQjtFT3JDVSx5QkZuQ1ksRUFBQTtBTHdFdEI7RU9yQ1UseUJGV1ksRUFBQTtBTDBCdEI7RU9yQ1UseUJGeURZLEVBQUE7QUxwQnRCO0VPOUJVLHlCRnZDd0I7RUV3Q3hCLGNGN0NtQixFQUFBO0FMMEU3QjtFTzlCVSx5QkZPd0I7RUVOeEIsY0ZDbUIsRUFBQTtBTDRCN0I7RU85QlUseUJGcUR3QjtFRXBEeEIsY0YrQ21CLEVBQUE7QUxsQjdCO0VPcEJZLHlCRnpCdUIsRUFBQTtBTDZDbkM7RU9wQlkseUJGcUJ1QixFQUFBO0FMRG5DO0VPcEJZLHlCRm1FdUIsRUFBQTtBTC9DbkM7RU9kYyx5QkY5QnlCLEVBQUE7QUw0Q3ZDO0VPZGMseUJGZ0J5QixFQUFBO0FMRnZDO0VPZGMseUJGOER5QixFQUFBO0FMaER2QztFT0xVLGNGcEVnQixFQUFBO0FMeUUxQjtFT0xVLGNGdEJnQixFQUFBO0FMMkIxQjtFT0xVLGNGd0JnQixFQUFBO0FMbkIxQjtFT0dRLHVDRjNEcUM7RUU0RHJDLGNGMURxQixFQUFBO0FMc0Q3QjtFT0dRLHVDRmJxQztFRWNyQyxjRlpxQixFQUFBO0FMUTdCO0VPR1EseUJGaUNxQztFRWhDckMsY0ZrQ3FCLEVBQUE7QUx0QzdCO0VPWVksY0ZqRXFCLEVBQUE7QUxxRGpDO0VPWVksY0ZuQnFCLEVBQUE7QUxPakM7RU9ZWSxjRjJCcUIsRUFBQTtBTHZDakM7RU9tQlkseUJGckU0QjtFRXNFNUIsY0Z4RXNCLEVBQUE7QUxvRGxDO0VPbUJZLHlCRnZCNEI7RUV3QjVCLGNGMUJzQixFQUFBO0FMTWxDO0VPbUJZLHlCRnVCNEI7RUV0QjVCLGNGb0JzQixFQUFBO0FMeENsQztFTzJCWSx5QkY5RXlCO0VFK0V6QixjRnZHVSxFQUFBO0FMMkV0QjtFTzJCWSx5QkZoQ3lCO0VFaUN6QixjRnpEVSxFQUFBO0FMNkJ0QjtFTzJCWSx5QkZjeUI7RUViekIsY0ZYVSxFQUFBO0FMakJ0QjtFT21DWSxjRnhGcUIsRUFBQTtBTHFEakM7RU9tQ1ksY0YxQ3FCLEVBQUE7QUxPakM7RU9tQ1ksY0ZJcUIsRUFBQTtBTHZDakM7RU80Q1EsdUNGbkcwQyxFQUFBO0FMdURsRDtFTzRDUSx1Q0ZyRDBDLEVBQUE7QUxTbEQ7RU80Q1EsMENGUDZDLEVBQUE7QUxyQ3JEO0VPc0RFLG1DRnJJeUIsRUFBQTtBTCtFM0I7RU9zREUsbUNGdkZ5QixFQUFBO0FMaUMzQjtFT3NERSxtQ0Z6Q3lCLEVBQUE7QUxiM0I7RU84RE0sY0Z6SWdCLEVBQUE7QUwyRXRCO0VPOERNLGNGM0ZnQixFQUFBO0FMNkJ0QjtFTzhETSxjRjdDZ0IsRUFBQTtBTGpCdEI7RU9vRVEseUJGNUljLEVBQUE7QUx3RXRCO0VPb0VRLHlCRjlGYyxFQUFBO0FMMEJ0QjtFT29FUSx5QkZoRGMsRUFBQTtBTHBCdEI7RU84RVEsa0RBQTBEO0VBQzFELHlCQUE2QyxFQUFBO0FQL0VyRDtFTzhFUSxrREFBMEQ7RUFDMUQseUJBQTZDLEVBQUE7QVAvRXJEO0VPOEVRLG9DQUEwRDtFQUMxRCx5QkFBNkMsRUFBQTtBUC9FckQ7RU9xRlUsb0NBQW1FLEVBQUE7QVByRjdFO0VPcUZVLG9DQUFtRSxFQUFBO0FQckY3RTtFT3FGVSxvQ0FBbUUsRUFBQTtBUHJGN0U7RU9nR0UsY0Z6S3dCLEVBQUE7QUx5RTFCO0VPZ0dFLGNGM0h3QixFQUFBO0FMMkIxQjtFT2dHRSxjRjdFd0IsRUFBQTtBTG5CMUI7RU93R00seUJGckxlLEVBQUE7QUw2RXJCO0VPd0dNLHlCRnZJZSxFQUFBO0FMK0JyQjtFT3dHTSx5QkZ6RmUsRUFBQTtBTGZyQjtFTytHTSx5QkY3TGMsRUFBQTtBTDhFcEI7RU8rR00seUJGL0ljLEVBQUE7QUxnQ3BCO0VPK0dNLHlCRmpHYyxFQUFBO0FMZHBCO0VPc0hNLGNGak1nQixFQUFBO0FMMkV0QjtFT3NITSxjRm5KZ0IsRUFBQTtBTDZCdEI7RU9zSE0sY0ZyR2dCLEVBQUE7QUxqQnRCO0VPa0lRLHlCRi9LMkIsRUFBQTtBTDZDbkM7RU9rSVEseUJGakkyQixFQUFBO0FMRG5DO0VPa0lRLHlCRm5GMkIsRUFBQTtBTC9DbkM7RU93SVUseUJGcEw2QixFQUFBO0FMNEN2QztFT3dJVSx5QkZ0STZCLEVBQUE7QUxGdkM7RU93SVUseUJGeEY2QixFQUFBO0FMaER2QztFT2lKTSx5QkY3TGlDLEVBQUE7QUw0Q3ZDO0VPaUpNLHlCRi9JaUMsRUFBQTtBTEZ2QztFT2lKTSx5QkZqR2lDLEVBQUE7QUxoRHZDO0VRaEZBLGNIS3NCLEVBQUE7QUwyRXRCO0VRaEZBLGNIbURzQixFQUFBO0FMNkJ0QjtFUWhGQSxjSGlHc0IsRUFBQTtBTGpCdEI7RVF4RUksY0hIa0IsRUFBQTtBTDJFdEI7RVF4RUksY0gyQ2tCLEVBQUE7QUw2QnRCO0VReEVJLGNIeUZrQixFQUFBO0FMakJ0QjtFUWxFTSx5QkhOZ0IsRUFBQTtBTHdFdEI7RVFsRU0seUJId0NnQixFQUFBO0FMMEJ0QjtFUWxFTSx5QkhzRmdCLEVBQUE7QUxwQnRCO0VReERNLHlCSGhCZ0IsRUFBQTtBTHdFdEI7RVF4RE0seUJIOEJnQixFQUFBO0FMMEJ0QjtFUXhETSx5Qkg0RWdCLEVBQUE7QUxwQnRCO0VRL0NFLGNIekJvQixFQUFBO0FMd0V0QjtFUS9DRSxjSHFCb0IsRUFBQTtBTDBCdEI7RVEvQ0UsY0htRW9CLEVBQUE7QUxwQnRCO0VRekNJLHlCSC9Ca0IsRUFBQTtBTHdFdEI7RVF6Q0kseUJIZWtCLEVBQUE7QUwwQnRCO0VRekNJLHlCSDZEa0IsRUFBQTtBTHBCdEI7RVE3Qk0sdUNIcEIyQyxFQUFBO0FMaURqRDtFUTdCTSx1Q0gwQjJDLEVBQUE7QUxHakQ7RVE3Qk0sMENId0U4QyxFQUFBO0FMM0NwRDtFUXZCUSx5QkhqRGMsRUFBQTtBTHdFdEI7RVF2QlEseUJISGMsRUFBQTtBTDBCdEI7RVF2QlEseUJIMkNjLEVBQUE7QUxwQnRCO0VRaEJRLHlCSGxDZ0M7RUdtQ2hDLGNIckMwQixFQUFBO0FMb0RsQztFUWhCUSx5QkhZZ0M7RUdYaEMsY0hTMEIsRUFBQTtBTE1sQztFUWhCUSx5QkgwRGdDO0VHekRoQyxjSHVEMEIsRUFBQTtBTHhDbEM7RVFSUSx1Q0hwRXFDLEVBQUE7QUw0RTdDO0VRUlEsdUNIdEJxQyxFQUFBO0FMOEI3QztFUVJRLDBDSHdCd0MsRUFBQTtBTGhCaEQ7RVFDSSx1Q0g3RXlDLEVBQUE7QUw0RTdDO0VRQ0ksdUNIL0J5QyxFQUFBO0FMOEI3QztFUUNJLDBDSGU0QyxFQUFBO0FMaEJoRDtFUWdCTSx5Qkg1RXVCO0VHNkV2QixjSDVGZ0IsRUFBQTtBTDJFdEI7RVFnQk0seUJIOUJ1QjtFRytCdkIsY0g5Q2dCLEVBQUE7QUw2QnRCO0VRZ0JNLHlCSGdCdUI7RUdmdkIsY0hBZ0IsRUFBQTtBTGpCdEI7RVF1QlEsdUNIbEYrQixFQUFBO0FMMkR2QztFUXVCUSx1Q0hwQytCLEVBQUE7QUxhdkM7RVF1QlEsMENIVWtDLEVBQUE7QUxqQzFDO0VRZ0NJLGNIM0drQixFQUFBO0FMMkV0QjtFUWdDSSxjSDdEa0IsRUFBQTtBTDZCdEI7RVFnQ0ksY0hma0IsRUFBQTtBTGpCdEI7RVFzQ00seUJIOUdnQixFQUFBO0FMd0V0QjtFUXNDTSx5QkhoRWdCLEVBQUE7QUwwQnRCO0VRc0NNLHlCSGxCZ0IsRUFBQTtBTHBCdEI7RVE4Q0ksNEJIM0dpQyxFQUFBO0FMNkRyQztFUThDSSw0Qkg3RGlDLEVBQUE7QUxlckM7RVE4Q0ksNEJIZmlDLEVBQUE7QUwvQnJDO0VReURFLHlCSGpJb0IsRUFBQTtBTHdFdEI7RVF5REUseUJIbkZvQixFQUFBO0FMMEJ0QjtFUXlERSx5QkhyQ29CLEVBQUE7QUxwQnRCO0VReUVRLHlCSHpIcUIsRUFBQTtBTGdEN0I7RVF5RVEseUJIM0VxQixFQUFBO0FMRTdCO0VReUVRLHlCSDdCcUIsRUFBQTtBTDVDN0I7RVFnRlEseUJIaElxQixFQUFBO0FMZ0Q3QjtFUWdGUSx5QkhsRnFCLEVBQUE7QUxFN0I7RVFnRlEseUJIcENxQixFQUFBO0FMNUM3QjtFUXVGUSw2QkFBNkIsRUFBQTtBUnZGckM7RVF1RlEsNkJBQTZCLEVBQUE7QVJ2RnJDO0VRdUZRLDZCQUE2QixFQUFBO0FSdkZyQztFUThGUSw2QkFBNkIsRUFBQTtBUjlGckM7RVE4RlEsNkJBQTZCLEVBQUE7QVI5RnJDO0VROEZRLDZCQUE2QixFQUFBO0FSOUZyQztFUXVHVSx5QkhwSnlCLEVBQUE7QUw2Q25DO0VRdUdVLHlCSHRHeUIsRUFBQTtBTERuQztFUXVHVSx5Qkh4RHlCLEVBQUE7QUwvQ25DO0VRNkdZLHlCSHpKMkIsRUFBQTtBTDRDdkM7RVE2R1kseUJIM0cyQixFQUFBO0FMRnZDO0VRNkdZLHlCSDdEMkIsRUFBQTtBR2MzQztFQXdEWSx5QkFBeUIsRUFBQTtBQXhEckM7RUErRFkseUJBQXlCLEVBQUE7QVI3SGpDO0VRZ0pRLHlCSHROYSxFQUFBO0FMc0VyQjtFUWdKUSx5Qkh4S2EsRUFBQTtBTHdCckI7RVFnSlEseUJIMUhhLEVBQUE7QUx0QnJCO0VRdUpRLHlCSC9OYyxFQUFBO0FMd0V0QjtFUXVKUSx5QkhqTGMsRUFBQTtBTDBCdEI7RVF1SlEseUJIbkljLEVBQUE7QUxwQnRCO0VRc0tJLGNIalBrQixFQUFBO0FMMkV0QjtFUXNLSSxjSG5Na0IsRUFBQTtBTDZCdEI7RVFzS0ksY0hySmtCLEVBQUE7QUxqQnRCO0VRNEtNLHlCSHBQZ0IsRUFBQTtBTHdFdEI7RVE0S00seUJIdE1nQixFQUFBO0FMMEJ0QjtFUTRLTSx5Qkh4SmdCLEVBQUE7QUxwQnRCO0VRb0xJLGNINVBrQixFQUFBO0FMd0V0QjtFUW9MSSxjSDlNa0IsRUFBQTtBTDBCdEI7RVFvTEksY0hoS2tCLEVBQUE7QUxwQnRCO0VRMkxJLDRCSHhQaUMsRUFBQTtBTDZEckM7RVEyTEksNEJIMU1pQyxFQUFBO0FMZXJDO0VRMkxJLDRCSDVKaUMsRUFBQTtBTC9CckM7RVFxTUkseUJIbFArQixFQUFBO0FMNkNuQztFUXFNSSx5QkhwTStCLEVBQUE7QUxEbkM7RVFxTUkseUJIdEorQixFQUFBO0FML0NuQztFUTJNTSx5Qkh2UGlDLEVBQUE7QUw0Q3ZDO0VRMk1NLHlCSHpNaUMsRUFBQTtBTEZ2QztFUTJNTSx5QkgzSmlDLEVBQUE7QUdrSzNDO0VScFNFLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsbUJBQW1CLEVBQUE7QUFnRmpCO0VRbU9VLHlCSHpTVyxFQUFBO0FMc0VyQjtFUW1PVSx5QkgzUFcsRUFBQTtBTHdCckI7RVFtT1UseUJIN01XLEVBQUE7QUx0QnJCO0VRbVBJLGNIM1RrQixFQUFBO0FMd0V0QjtFUW1QSSxjSDdRa0IsRUFBQTtBTDBCdEI7RVFtUEksY0gvTmtCLEVBQUE7QUxwQnRCO0VRaVFRLGNIMVVrQixFQUFBO0FMeUUxQjtFUWlRUSxjSDVSa0IsRUFBQTtBTDJCMUI7RVFpUVEsY0g5T2tCLEVBQUE7QUxuQjFCO0VRd1FRLHlCSHZUeUIsRUFBQTtBTCtDakM7RVF3UVEseUJIelF5QixFQUFBO0FMQ2pDO0VRd1FRLHNCSDNOc0IsRUFBQTtBRytMbEM7RVJ0UEUsV0FEMEQ7RUFFMUQsY0FGNEI7RUFHNUIsa0JBSDRDO0VReVJsQyxNQUFNO0VBQ04sYUFBYTtFQUNiLGdDQUFnQyxFQUFBO0FSaFJ4QztJUW1SVSx5QkhsVXVCLEVBQUE7QUwrQ2pDO0lRbVJVLHlCSHBSdUIsRUFBQTtBTENqQztJUW1SVSxzQkh0T29CLEVBQUE7QUw3QzlCO0VRMlJRLHlCSHpVNEIsRUFBQTtBTDhDcEM7RVEyUlEseUJIM1I0QixFQUFBO0FMQXBDO0VRMlJRLHlCSDdPNEIsRUFBQTtBRzhMeEM7RVJ0UEUsV0FEMEQ7RUFFMUQsY0FGNEI7RUFHNUIsa0JBSDRDO0VRNFNsQyxjQUFjO0VBQ2QsTUFBTTtFQUNOLGdDQUFnQyxFQUFBO0FSblN4QztJUXNTVSx5QkhwVjBCLEVBQUE7QUw4Q3BDO0lRc1NVLHlCSHRTMEIsRUFBQTtBTEFwQztJUXNTVSx5Qkh4UDBCLEVBQUE7QUw5Q3BDO0VRd1RNLGNIallvQixFQUFBO0FMeUUxQjtFUXdUTSxjSG5Wb0IsRUFBQTtBTDJCMUI7RVF3VE0sY0hyU29CLEVBQUE7QUxuQjFCO0VRK1RNLGNIMVlnQixFQUFBO0FMMkV0QjtFUStUTSxjSDVWZ0IsRUFBQTtBTDZCdEI7RVErVE0sY0g5U2dCLEVBQUE7QUc4UjFCO0VBc0JNLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWixpQkFBaUIsRUFBQTtBUnpVbkI7RVFrVkksY0gzWnNCLEVBQUE7QUx5RTFCO0VRa1ZJLGNIN1dzQixFQUFBO0FMMkIxQjtFUWtWSSxjSC9Uc0IsRUFBQTtBTG5CMUI7RVEyVk0sY0h0YWdCO0VHdWFoQix5Qkh2WThCLEVBQUE7QUwyQ3BDO0VRMlZNLGNIeFhnQjtFR3lYaEIseUJIelY4QixFQUFBO0FMSHBDO0VRMlZNLGNIMVVnQjtFRzJVaEIseUJIM1M4QixFQUFBO0FMakRwQztFUWtXUSx5Qkg1WXVCLEVBQUE7QUwwQy9CO0VRa1dRLHlCSDlWdUIsRUFBQTtBTEovQjtFUWtXUSx5QkhoVHVCLEVBQUE7QUlySW5DO0VBQ0UsYUFBYTtFQUNiLHFCQUFxQjtFQUNyQiw4QkFBOEI7RUFDOUIsaUJBQWlCO0VBQ2pCLGVBQWU7RUFDZixXQUFXO0VBQ1gsWUFBWSxFQUFBO0FUNEVWO0lTekVBLGNKQ3NCLEVBQUE7QUx3RXRCO0lTekVBLGNKK0NzQixFQUFBO0FMMEJ0QjtJU3pFQSxjSjZGc0IsRUFBQTtBSXZHMUI7SUFrQlEsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsbUJBQW1CLEVBQUE7QUFyQjNCO01UeUVFLFdBRDBEO01BRTFELGNBRjRCO01BRzVCLGtCQUg0QztNUzlDcEMsV0FBVztNQUNYLGNBQWM7TUFDZCxhQUFhO01BQ2IsY0FBYztNQUNkLHFEQUE2RDtjQUE3RCw2Q0FBNkQ7TUFDN0Qsd0JBQWdCO2NBQWhCLGdCQUFnQixFQUFBO0FUb0R0QjtRU2pEUSx5Qkp2QmMsRUFBQTtBTHdFdEI7UVNqRFEseUJKdUJjLEVBQUE7QUwwQnRCO1FTakRRLHlCSnFFYyxFQUFBO0FJdkcxQjtJQTBDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDZCQUE2QjtJQUM3QixjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsVUFBVTtJQUNWLFlBQVksRUFBQTtBQWxEaEI7TUFxRE0sb0JBQW9CO01BQ3BCLDhDQUFzRDtjQUF0RCxzQ0FBc0Q7TUFDdEQsYUFBYTtNQUNiLGNBQWMsRUFBQTtBVDJCaEI7UVN4QkkseUJKaERrQixFQUFBO0FMd0V0QjtRU3hCSSx5QkpGa0IsRUFBQTtBTDBCdEI7UVN4QkkseUJKNENrQixFQUFBO0FLdkcxQjtFQUdJLDZCQUE2QjtFQUM3QixlQUFlO0VBQ2YsV0FBVztFQUNYLFlBQVksRUFBQTtBQU5oQjtFQVVJLHVCQUF1QixFQUFBO0FBVjNCO0VBY0kseUJBQXlCO0VBQ3pCLDRCQUE0QjtFQUM1QixpQ0FBaUM7RUFDakMscUJBQXFCLEVBQUE7QUFqQnpCO0VBcUJJLHlCQUF5QixFQUFBO0FDckI3QjtFQUNFLGlCQUFpQjtFQUNqQixXQUFXLEVBQUE7QUFGYjtJQUtJLGdCQUFnQixFQUFBO0FYOEVoQjtNVzNFRSxjTkV3QixFQUFBO0FMeUUxQjtNVzNFRSxjTmdEd0IsRUFBQTtBTDJCMUI7TVczRUUsY044RndCLEVBQUE7QU10RzlCO01BWU0sWUFBWSxFQUFBO0FBWmxCO1FBZVEsYUFBYTtRQUNiLHNCQUFzQixFQUFBO0FBaEI5QjtVQW1CVSxrQkFBa0IsRUFBQTtBQW5CNUI7VUF1QlUsbUJBQW1CLEVBQUE7QUF2QjdCO0lBOEJJLGdCQUFnQixFQUFBO0FYcURoQjtNV2xERSxjTnpCb0IsRUFBQTtBTDJFdEI7TVdsREUsY05xQm9CLEVBQUE7QUw2QnRCO01XbERFLGNObUVvQixFQUFBO0FNcEcxQjtNQXFDTSxjQUFjLEVBQUE7QVg4Q2hCO1FXekNNLHlCTlB1QixFQUFBO0FMZ0Q3QjtRV3pDTSx5Qk51Q3VCLEVBQUE7QUxFN0I7UVd6Q00seUJOcUZ1QixFQUFBO0FNL0hqQztRQStDUSxtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLHNCQUFzQjtRQUN0QixtQkFBbUI7UUFDbkIsZ0JBQWdCLEVBQUE7QUFuRHhCO1VBc0RVLGtCQUFrQixFQUFBO0FBdEQ1QjtVQTBEVSxtQkFBbUIsRUFBQTtBQ3ZDN0I7RUFDRSxxQkFBcUI7RUFDckIsOEJBQThDO0VBQzlDLGdCQUFnQixFQUFBO0FBR2xCO0VBQ0UscUJBQXFCO0VBQ3JCLGdDQUFnRDtFQUNoRCxnQkFBZ0IsRUFBQTtBQUdsQjtFQUNFLHFCQUFxQjtFQUNyQixpQ0FBaUQ7RUFDakQsZ0JBQWdCLEVBQUE7QUFHbEI7RUFDRSxxQkFBcUI7RUFDckIsNkJBQTZDO0VBQzdDLGdCQUFnQixFQUFBO0FBR2xCO0VBQ0UscUJBQXFCO0VBQ3JCLGtDQUFrRDtFQUNsRCxnQkFBZ0IsRUFBQTtBQUlsQjtFQUNFLGlDQUFpQztFQUNqQyxlQUFlLEVBQUE7QUFHakI7RUFDRSxpQ0FBaUM7RUFDakMsaUJBQWlCO0VBQ2pCLFlBQVk7RUFDWixhQUFhLEVBQUE7QUFKZjtJQU9JLCtEQUE2RTtJQUM3RSxzQkFBc0IsRUFBQTtBQVIxQjtJQVlJLCtEQUE2RTtJQUM3RSxzQkFBc0IsRUFBQTtBQWIxQjtJQWlCSSxnRUFBOEU7SUFDOUUsc0JBQXNCLEVBQUE7QUFsQjFCO0lBc0JJLGFBQWE7SUFDYixXQUFXO0lBQ1gsWUFBWSxFQUFBIiwiZmlsZSI6InNyYy9zdHlsZXMuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBtaXhpbiB0ZXh0LXRydW5jYXRlIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuQG1peGluIHRleHRXcmFwIHtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICBsaW5lLWJyZWFrOiBzdHJpY3Q7XHJcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xyXG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xyXG4gIGh5cGhlbnM6IGF1dG87XHJcbn1cclxuQG1peGluIGNvdmVyQm94IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG59XHJcbkBtaXhpbiBhYnMgKCR0b3A6IGF1dG8sICRyaWdodDogYXV0bywgJGJvdHRvbTogYXV0bywgJGxlZnQ6IGF1dG8pIHtcclxuICB0b3A6ICR0b3A7XHJcbiAgcmlnaHQ6ICRyaWdodDtcclxuICBib3R0b206ICRib3R0b207XHJcbiAgbGVmdDogJGxlZnQ7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcbkBtaXhpbiBjb3ZlckltZyB7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHQtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0LW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbn1cclxuQG1peGluIHZhbGluZ0JveCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogIDUwJTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbn1cclxuQG1peGluIHVuU2VsZWN0IHtcclxuXHQtd2Via2l0LXRvdWNoLWNvbGxvdXQ6IG5vbmU7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuQG1peGluIG1heDExOTkgeyAvLyBtYWtldCAxMTcxXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkgeyBAY29udGVudDsgfVxyXG59XHJcbkBtaXhpbiBtYXgxMTcwIHsgLy8gbWFrZXRzIDk5MlxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTcwcHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gbWF4OTkxIHsgLy8gbWFrZXRzIDc2MlxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkgeyBAY29udGVudDsgfVxyXG59XHJcbkBtaXhpbiBtYXg3NjEgeyAvLyBtYWtldHMgNTc2XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2MXB4KSB7IEBjb250ZW50OyB9XHJcbn1cclxuQG1peGluIG1heDU3NSB7IC8vIG1ha2V0cyA0MDBcclxuICBAbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gbW9iaWxlIHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogMzk5cHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gaWNvQ2VudGVyIHtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG59XHJcbkBtaXhpbiBwc2V1ZG8gKCRkaXNwbGF5OiBibG9jaywgJHBvczogYWJzb2x1dGUsICRjb250ZW50OiAnJyl7XHJcbiAgY29udGVudDogJGNvbnRlbnQ7XHJcbiAgZGlzcGxheTogJGRpc3BsYXk7XHJcbiAgcG9zaXRpb246ICRwb3M7XHJcbn1cclxuXHJcbi8qXHJcbiogSW1wbGVtZW50YXRpb24gb2YgdGhlbWVzXHJcbiovXHJcbkBtaXhpbiB0aGVtaWZ5KCR0aGVtZXM6ICR0aGVtZXMpIHtcclxuICBAZWFjaCAkdGhlbWUsICRtYXAgaW4gJHRoZW1lcyB7XHJcbiAgICAudGhlbWUtI3skdGhlbWV9ICYge1xyXG4gICAgICAkdGhlbWUtbWFwOiAoKSAhZ2xvYmFsO1xyXG4gICAgICBAZWFjaCAka2V5LCAkc3VibWFwIGluICRtYXAge1xyXG4gICAgICAgICR2YWx1ZTogbWFwLWdldChtYXAtZ2V0KCR0aGVtZXMsICR0aGVtZSksICcjeyRrZXl9Jyk7XHJcbiAgICAgICAgJHRoZW1lLW1hcDogbWFwLW1lcmdlKCR0aGVtZS1tYXAsICgka2V5OiAkdmFsdWUpKSAhZ2xvYmFsO1xyXG4gICAgICB9XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgICAkdGhlbWUtbWFwOiBudWxsICFnbG9iYWw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gdGhlbWVkKCRrZXkpIHtcclxuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLW1hcCwgJGtleSk7XHJcbn1cclxuIiwiLypcclxuKiBJbXBsZW1lbnRhdGlvbiBvZiB0aGVtZXNcclxuKi9cbkBpbXBvcnQgdXJsKH5Abmctc2VsZWN0L25nLXNlbGVjdC90aGVtZXMvZGVmYXVsdC50aGVtZS5jc3MpO1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC10b3VjaC1jb2xsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmIsIHUsIGksIGNlbnRlcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmJvZHkge1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuYmxvY2txdW90ZSwgcSB7XG4gIHF1b3Rlczogbm9uZTsgfVxuXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcbiAgY29udGVudDogbm9uZTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwOyB9XG5cbmlucHV0IHtcbiAgb3V0bGluZTogbm9uZTsgfVxuICBpbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDEwMDBweCB3aGl0ZSBpbnNldDsgfVxuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOmFjdGl2ZSwgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbmIsIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuaW1nIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBib3JkZXI6IDA7IH1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGhlbWUtZGFyayAuYXBwLWNvbnRlbnQgLnByZWxvYWRlciAubG9hZGluZy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IC5hcHAtY29udGVudCAucHJlbG9hZGVyIC5sb2FkaW5nLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIC5hcHAtY29udGVudCAucHJlbG9hZGVyIC5sb2FkaW5nLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGhlaWdodDogNC4ycmVtOyB9XG4gIC50aGVtZS1kYXJrIGJ1dHRvbjpkaXNhYmxlZDpub3QoLnRyYW5zcGFyZW50LWJ1dHRvbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MGE0YWU7XG4gICAgY29sb3I6ICMxMTE5MjE7IH1cbiAgLnRoZW1lLWdyYXkgYnV0dG9uOmRpc2FibGVkOm5vdCgudHJhbnNwYXJlbnQtYnV0dG9uKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc5ODQ4ZjtcbiAgICBjb2xvcjogIzFhMWExYTsgfVxuICAudGhlbWUtd2hpdGUgYnV0dG9uOmRpc2FibGVkOm5vdCgudHJhbnNwYXJlbnQtYnV0dG9uKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzkwYTRhZTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudGhlbWUtZGFyayBidXR0b246ZGlzYWJsZWQ6bm90KC50cmFuc3BhcmVudC1idXR0b24pOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWJiMGJhOyB9XG4gIC50aGVtZS1ncmF5IGJ1dHRvbjpkaXNhYmxlZDpub3QoLnRyYW5zcGFyZW50LWJ1dHRvbik6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4NTkwOWI7IH1cbiAgLnRoZW1lLXdoaXRlIGJ1dHRvbjpkaXNhYmxlZDpub3QoLnRyYW5zcGFyZW50LWJ1dHRvbik6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5YmFlYjc7IH1cbiAgLnRoZW1lLWRhcmsgYnV0dG9uLmJsdWUtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpLmVycm9yLXRleHQge1xuICAgIGNvbG9yOiAjZmU1MjUyOyB9XG4gIC50aGVtZS1ncmF5IGJ1dHRvbi5ibHVlLWJ1dHRvbjpub3QoOmRpc2FibGVkKS5lcnJvci10ZXh0IHtcbiAgICBjb2xvcjogI2ZlNTI1MjsgfVxuICAudGhlbWUtd2hpdGUgYnV0dG9uLmJsdWUtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpLmVycm9yLXRleHQge1xuICAgIGNvbG9yOiAjZmY1MjUyOyB9XG4gIC50aGVtZS1kYXJrIGJ1dHRvbi5ibHVlLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjtcbiAgICBjb2xvcjogIzExMTkyMTsgfVxuICAudGhlbWUtZ3JheSBidXR0b24uYmx1ZS1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7XG4gICAgY29sb3I6ICMxYTFhMWE7IH1cbiAgLnRoZW1lLXdoaXRlIGJ1dHRvbi5ibHVlLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudGhlbWUtZGFyayBidXR0b24uYmx1ZS1idXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2MGI5ZmY7IH1cbiAgLnRoZW1lLWdyYXkgYnV0dG9uLmJsdWUtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRhZmZmOyB9XG4gIC50aGVtZS13aGl0ZSBidXR0b24uYmx1ZS1idXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNzlmZmE7IH1cbiAgLnRoZW1lLWRhcmsgYnV0dG9uLmdyZWVuLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGE5ZDtcbiAgICBjb2xvcjogIzExMTkyMTsgfVxuICAudGhlbWUtZ3JheSBidXR0b24uZ3JlZW4tYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDdjZjhkO1xuICAgIGNvbG9yOiAjMWExYTFhOyB9XG4gIC50aGVtZS13aGl0ZSBidXR0b24uZ3JlZW4tYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZjMTcyO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC50aGVtZS1kYXJrIGJ1dHRvbi5ncmVlbi1idXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1Y2UyYTE7IH1cbiAgLnRoZW1lLWdyYXkgYnV0dG9uLmdyZWVuLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ5ZDk5MzsgfVxuICAudGhlbWUtd2hpdGUgYnV0dG9uLmdyZWVuLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ2Y2E3NTsgfVxuICAudGhlbWUtZGFyayBidXR0b24udHVycXVvaXNlLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkZDBlMTtcbiAgICBjb2xvcjogIzExMTkyMTsgfVxuICAudGhlbWUtZ3JheSBidXR0b24udHVycXVvaXNlLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNlYzVkNztcbiAgICBjb2xvcjogIzFhMWExYTsgfVxuICAudGhlbWUtd2hpdGUgYnV0dG9uLnR1cnF1b2lzZS1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNmI2Yzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRoZW1lLWRhcmsgYnV0dG9uLnR1cnF1b2lzZS1idXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MmQ5ZWE7IH1cbiAgLnRoZW1lLWdyYXkgYnV0dG9uLnR1cnF1b2lzZS1idXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0M2NlZTA7IH1cbiAgLnRoZW1lLXdoaXRlIGJ1dHRvbi50dXJxdW9pc2UtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmJiZGNmOyB9XG4gIGJ1dHRvbi50cmFuc3BhcmVudC1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC50aGVtZS1kYXJrIGJ1dHRvbi50cmFuc3BhcmVudC1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjMmIzNjQ0O1xuICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAudGhlbWUtZ3JheSBidXR0b24udHJhbnNwYXJlbnQtYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwLjJyZW0gc29saWQgIzJmMzQzODtcbiAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLnRoZW1lLXdoaXRlIGJ1dHRvbi50cmFuc3BhcmVudC1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjZWJlYmViO1xuICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgICBidXR0b24udHJhbnNwYXJlbnQtYnV0dG9uIC5pY29uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9jb21wbGV0ZS10ZXN0d2FsbGV0LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxLjdyZW07XG4gICAgICBoZWlnaHQ6IDEuN3JlbTsgfVxuICAgICAgLnRoZW1lLWRhcmsgYnV0dG9uLnRyYW5zcGFyZW50LWJ1dHRvbiAuaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7IH1cbiAgICAgIC50aGVtZS1ncmF5IGJ1dHRvbi50cmFuc3BhcmVudC1idXR0b24gLmljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtd2hpdGUgYnV0dG9uLnRyYW5zcGFyZW50LWJ1dHRvbiAuaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MzQ1NGI7IH1cblxuLmlucHV0LWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206IDAuNHJlbTsgfVxuICAuaW5wdXQtYmxvY2sgLndyYXAtbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWluLWhlaWdodDogMi40cmVtOyB9XG4gIC5pbnB1dC1ibG9jayBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTsgfVxuICAgIC50aGVtZS1kYXJrIC5pbnB1dC1ibG9jayBsYWJlbCB7XG4gICAgICBjb2xvcjogIzU1NjU3NjsgfVxuICAgIC50aGVtZS1ncmF5IC5pbnB1dC1ibG9jayBsYWJlbCB7XG4gICAgICBjb2xvcjogIzU2NWM2MjsgfVxuICAgIC50aGVtZS13aGl0ZSAuaW5wdXQtYmxvY2sgbGFiZWwge1xuICAgICAgY29sb3I6ICNhMGE1YWI7IH1cbiAgLmlucHV0LWJsb2NrIGlucHV0W3R5cGU9J3RleHQnXSwgLmlucHV0LWJsb2NrIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sIC5pbnB1dC1ibG9jayBzZWxlY3Qge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQuMnJlbTsgfVxuICAgIC50aGVtZS1kYXJrIC5pbnB1dC1ibG9jayBpbnB1dFt0eXBlPSd0ZXh0J10sIC50aGVtZS1kYXJrIC5pbnB1dC1ibG9jayBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCAudGhlbWUtZGFyayAuaW5wdXQtYmxvY2sgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzFlMjc7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS1ncmF5IC5pbnB1dC1ibG9jayBpbnB1dFt0eXBlPSd0ZXh0J10sIC50aGVtZS1ncmF5IC5pbnB1dC1ibG9jayBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCAudGhlbWUtZ3JheSAuaW5wdXQtYmxvY2sgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTJkMzE7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS13aGl0ZSAuaW5wdXQtYmxvY2sgaW5wdXRbdHlwZT0ndGV4dCddLCAudGhlbWUtd2hpdGUgLmlucHV0LWJsb2NrIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sIC50aGVtZS13aGl0ZSAuaW5wdXQtYmxvY2sgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgICBjb2xvcjogIzQzNDU0YjsgfVxuICAuaW5wdXQtYmxvY2sudGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5pbnB1dC1ibG9jay50ZXh0YXJlYSB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiA3LjVyZW07XG4gICAgICBtYXgtaGVpZ2h0OiA3LjVyZW07XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIHJlc2l6ZTogbm9uZTsgfVxuICAgICAgLnRoZW1lLWRhcmsgLmlucHV0LWJsb2NrLnRleHRhcmVhIHRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MWUyNztcbiAgICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAgIC50aGVtZS1ncmF5IC5pbnB1dC1ibG9jay50ZXh0YXJlYSB0ZXh0YXJlYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTJkMzE7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtd2hpdGUgLmlucHV0LWJsb2NrLnRleHRhcmVhIHRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgLmlucHV0LWJsb2NrIC5lcnJvci1ibG9jayB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRyZW07XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAudGhlbWUtZGFyayAuaW5wdXQtYmxvY2sgLmVycm9yLWJsb2NrIHtcbiAgICAgIGNvbG9yOiAjZmU1MjUyOyB9XG4gICAgLnRoZW1lLWdyYXkgLmlucHV0LWJsb2NrIC5lcnJvci1ibG9jayB7XG4gICAgICBjb2xvcjogI2ZlNTI1MjsgfVxuICAgIC50aGVtZS13aGl0ZSAuaW5wdXQtYmxvY2sgLmVycm9yLWJsb2NrIHtcbiAgICAgIGNvbG9yOiAjZmY1MjUyOyB9XG5cbi50aGVtZS1kYXJrIC5lcnJvci10ZXh0IHtcbiAgY29sb3I6ICNmZTUyNTI7IH1cblxuLnRoZW1lLWdyYXkgLmVycm9yLXRleHQge1xuICBjb2xvcjogI2ZlNTI1MjsgfVxuXG4udGhlbWUtd2hpdGUgLmVycm9yLXRleHQge1xuICBjb2xvcjogI2ZmNTI1MjsgfVxuXG5pbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvICsgbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmctbGVmdDogMi40cmVtO1xuICAtd2Via2l0LXRvdWNoLWNvbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAudGhlbWUtZGFyayBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvICsgbGFiZWwge1xuICAgIGNvbG9yOiAjNTU2NTc2OyB9XG4gIC50aGVtZS1ncmF5IGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW8gKyBsYWJlbCB7XG4gICAgY29sb3I6ICM1NjVjNjI7IH1cbiAgLnRoZW1lLXdoaXRlIGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW8gKyBsYWJlbCB7XG4gICAgY29sb3I6ICNhMGE1YWI7IH1cblxuaW5wdXRbdHlwZT0ncmFkaW8nXS5zdHlsZS1yYWRpbzpub3QoY2hlY2tlZCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7IH1cbiAgaW5wdXRbdHlwZT0ncmFkaW8nXS5zdHlsZS1yYWRpbzpub3QoY2hlY2tlZCkgKyBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86bm90KGNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjdyZW07XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTsgfVxuICAgIC50aGVtZS1kYXJrIGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86bm90KGNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICM0ZGIxZmY7IH1cbiAgICAudGhlbWUtZ3JheSBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvOm5vdChjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjNDJhNWY1OyB9XG4gICAgLnRoZW1lLXdoaXRlIGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86bm90KGNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICMyYzk1ZjE7IH1cbiAgaW5wdXRbdHlwZT0ncmFkaW8nXS5zdHlsZS1yYWRpbzpub3QoY2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXJlbTtcbiAgICBsZWZ0OiAwLjNyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDAuOHJlbTtcbiAgICBoZWlnaHQ6IDAuOHJlbTsgfVxuICAgIC50aGVtZS1kYXJrIGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86bm90KGNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuICAgIC50aGVtZS1ncmF5IGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86bm90KGNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuICAgIC50aGVtZS13aGl0ZSBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvOm5vdChjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuaW5wdXRbdHlwZT0ncmFkaW8nXS5zdHlsZS1yYWRpbzpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICBvcGFjaXR5OiAxOyB9XG5cbmlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3ggKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcGFkZGluZy1sZWZ0OiAzLjZyZW07XG4gIC13ZWJraXQtdG91Y2gtY29sbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC50aGVtZS1kYXJrIGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3ggKyBsYWJlbCB7XG4gICAgY29sb3I6ICM1NTY1NzY7IH1cbiAgLnRoZW1lLWdyYXkgaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveCArIGxhYmVsIHtcbiAgICBjb2xvcjogIzU2NWM2MjsgfVxuICAudGhlbWUtd2hpdGUgaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveCArIGxhYmVsIHtcbiAgICBjb2xvcjogI2EwYTVhYjsgfVxuXG5pbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94Om5vdChjaGVja2VkKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDEuNnJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveDpub3QoY2hlY2tlZCkgKyBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3g6bm90KGNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMS42cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtOyB9XG4gICAgLnRoZW1lLWRhcmsgaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveDpub3QoY2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgIzRkYjFmZjsgfVxuICAgIC50aGVtZS1ncmF5IGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3g6bm90KGNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICM0MmE1ZjU7IH1cbiAgICAudGhlbWUtd2hpdGUgaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveDpub3QoY2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgIzJjOTVmMTsgfVxuXG5pbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94OmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvY29tcGxldGUtdGVzdHdhbGxldC5zdmcpOyB9XG4gIC50aGVtZS1kYXJrIGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3g6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuICAudGhlbWUtZ3JheSBpbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94OmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cbiAgLnRoZW1lLXdoaXRlIGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3g6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayAuc3dpdGNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuXG4udGhlbWUtZ3JheSAuc3dpdGNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuXG4udGhlbWUtd2hpdGUgLnN3aXRjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWRhcmsgLnN3aXRjaCAuY2lyY2xlLm9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSAuc3dpdGNoIC5jaXJjbGUub24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSAuc3dpdGNoIC5jaXJjbGUub24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIC5zd2l0Y2ggLmNpcmNsZS5vZmYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IC5zd2l0Y2ggLmNpcmNsZS5vZmYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTY1YzYyOyB9XG5cbi50aGVtZS13aGl0ZSAuc3dpdGNoIC5jaXJjbGUub2ZmIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EwYTVhYjsgfVxuXG4udGFibGUtdG9vbHRpcCB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgfVxuICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcCB7XG4gICAgYmFja2dyb3VuZDogIzQyNTA1ZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMXJlbSByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgLnRoZW1lLWdyYXkgLnRhYmxlLXRvb2x0aXAge1xuICAgIGJhY2tncm91bmQ6ICMzZTQ2NGM7XG4gICAgYm94LXNoYWRvdzogMCAwIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS13aGl0ZSAudGFibGUtdG9vbHRpcCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMXJlbSByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNSk7XG4gICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3Age1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG4gICAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3A6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0ycmVtO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAxcmVtKTtcbiAgICAgIGJvcmRlci13aWR0aDogMXJlbTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgICAgIC50aGVtZS1kYXJrIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQyNTA1ZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLWdyYXkgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3A6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NjRjIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtd2hpdGUgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3A6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wLWxlZnQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG4gICAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3AtbGVmdDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTFyZW07XG4gICAgICBsZWZ0OiAwLjdyZW07XG4gICAgICBib3JkZXItd2lkdGg6IDFyZW0gMXJlbSAwIDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1sZWZ0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQyNTA1ZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLWdyYXkgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3AtbGVmdDpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzZTQ2NGMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1sZWZ0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1yaWdodCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cbiAgICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1yaWdodDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTFyZW07XG4gICAgICByaWdodDogMC43cmVtO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW07XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1yaWdodDpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0MjUwNWYgIzQyNTA1ZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLWdyYXkgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3AtcmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NjRjICMzZTQ2NGMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1yaWdodDpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZmZmZmYgI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMnJlbTtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMXJlbSk7XG4gICAgICBib3JkZXItd2lkdGg6IDFyZW07XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbTpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM0MjUwNWYgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzNlNDY0YyB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZiB0cmFuc3BhcmVudDsgfVxuICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbS1sZWZ0IHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b20tbGVmdDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTFyZW07XG4gICAgICBsZWZ0OiAwLjdyZW07XG4gICAgICBib3JkZXItd2lkdGg6IDAuNXJlbTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgICAgIC50aGVtZS1kYXJrIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tLWxlZnQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNDI1MDVmICM0MjUwNWY7IH1cbiAgICAgIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tLWxlZnQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjM2U0NjRjICMzZTQ2NGM7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbS1sZWZ0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZiAjZmZmZmZmOyB9XG4gIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tLXJpZ2h0IHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b20tcmlnaHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xcmVtO1xuICAgICAgcmlnaHQ6IDAuN3JlbTtcbiAgICAgIGJvcmRlci13aWR0aDogMC41cmVtO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAgICAgLnRoZW1lLWRhcmsgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b20tcmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNDI1MDVmICM0MjUwNWYgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tLXJpZ2h0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzNlNDY0YyAjM2U0NjRjIHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtd2hpdGUgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b20tcmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmZmZmICNmZmZmZmYgdHJhbnNwYXJlbnQ7IH1cbiAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07IH1cbiAgICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWxlZnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogLTFyZW07XG4gICAgICBib3JkZXItd2lkdGg6IDFyZW0gMXJlbSAwIDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWxlZnQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDI1MDVmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtZ3JheSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWxlZnQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NjRjIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtd2hpdGUgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1sZWZ0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtcmlnaHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAtMXJlbTtcbiAgICAgIGJvcmRlci13aWR0aDogMXJlbSAwIDAgMXJlbTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgICAgIC50aGVtZS1kYXJrIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtcmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDI1MDVmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtZ3JheSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXJpZ2h0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNlNDY0YyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtcmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5iYWxhbmNlLXRvb2x0aXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgcGFkZGluZzogMS4zcmVtOyB9XG4gIC50aGVtZS1kYXJrIC5iYWxhbmNlLXRvb2x0aXAge1xuICAgIGJhY2tncm91bmQ6ICM0MjUwNWY7XG4gICAgYm94LXNoYWRvdzogMCAwIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS1ncmF5IC5iYWxhbmNlLXRvb2x0aXAge1xuICAgIGJhY2tncm91bmQ6ICMzZTQ2NGM7XG4gICAgYm94LXNoYWRvdzogMCAwIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS13aGl0ZSAuYmFsYW5jZS10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMTIwLCAxMjAsIDEyMCwgMC41KTtcbiAgICBjb2xvcjogIzQzNDU0YjsgfVxuICAuYmFsYW5jZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuICAuYmFsYW5jZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5iYWxhbmNlLXRvb2x0aXAubmctdG9vbHRpcC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07IH1cbiAgLmJhbGFuY2UtdG9vbHRpcC5uZy10b29sdGlwLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAuYmFsYW5jZS10b29sdGlwIC5hdmFpbGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuN3JlbTsgfVxuICAgIC5iYWxhbmNlLXRvb2x0aXAgLmF2YWlsYWJsZSBiIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmJhbGFuY2UtdG9vbHRpcCAubG9ja2VkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07IH1cbiAgICAuYmFsYW5jZS10b29sdGlwIC5sb2NrZWQgYiB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5iYWxhbmNlLXRvb2x0aXAgLmxpbmsge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC50aGVtZS1kYXJrIC5iYWxhbmNlLXRvb2x0aXAgLmxpbmsge1xuICAgICAgY29sb3I6ICM0ZGIxZmY7IH1cbiAgICAudGhlbWUtZ3JheSAuYmFsYW5jZS10b29sdGlwIC5saW5rIHtcbiAgICAgIGNvbG9yOiAjNDJhNWY1OyB9XG4gICAgLnRoZW1lLXdoaXRlIC5iYWxhbmNlLXRvb2x0aXAgLmxpbmsge1xuICAgICAgY29sb3I6ICMyYzk1ZjE7IH1cblxuLmFjY291bnQtdG9vbHRpcCB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIG1heC13aWR0aDogMThyZW07IH1cblxuLm5neC1jb250ZXh0bWVudSAuZHJvcGRvd24tbWVudSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuICAudGhlbWUtZGFyayAubmd4LWNvbnRleHRtZW51IC5kcm9wZG93bi1tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIzNjQ0O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAudGhlbWUtZ3JheSAubmd4LWNvbnRleHRtZW51IC5kcm9wZG93bi1tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAudGhlbWUtd2hpdGUgLm5neC1jb250ZXh0bWVudSAuZHJvcGRvd24tbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMXJlbSByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNSk7IH1cblxuLm5neC1jb250ZXh0bWVudSBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLm5neC1jb250ZXh0bWVudSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNWVtIDFlbTsgfVxuICAudGhlbWUtZGFyayAubmd4LWNvbnRleHRtZW51IGEge1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS1ncmF5IC5uZ3gtY29udGV4dG1lbnUgYSB7XG4gICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgLnRoZW1lLXdoaXRlIC5uZ3gtY29udGV4dG1lbnUgYSB7XG4gICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgLnRoZW1lLWRhcmsgLm5neC1jb250ZXh0bWVudSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2O1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS1ncmF5IC5uZ3gtY29udGV4dG1lbnUgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUxNTk2MDtcbiAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAudGhlbWUtd2hpdGUgLm5neC1jb250ZXh0bWVudSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLXNlbGVjdC1jb250YWluZXIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICBoZWlnaHQ6IDQuMnJlbTsgfVxuICAgIC50aGVtZS1kYXJrIC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzFlMjc7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS1ncmF5IC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTJkMzE7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS13aGl0ZSAubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgICAubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIHtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAudGhlbWUtZGFyayAubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCAubmctZHJvcGRvd24tcGFuZWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MWUyNzsgfVxuICAgIC50aGVtZS1ncmF5IC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxOyB9XG4gICAgLnRoZW1lLXdoaXRlIC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gICAgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgcGFkZGluZzogMXJlbTsgfVxuICAgICAgLnRoZW1lLWRhcmsgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MWUyNztcbiAgICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAgIC50aGVtZS1ncmF5IC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTJkMzE7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtd2hpdGUgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgICAgIC50aGVtZS1kYXJrIC5uZy1zZWxlY3QubG9jay1zZWxlY3Rpb24tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tbWFya2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNzIsIDkwLCAwLjUpO1xuICAgICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgICAgLnRoZW1lLWdyYXkgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1tYXJrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcwLCA3NiwgODEsIDAuNSk7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtd2hpdGUgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1tYXJrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuNSk7XG4gICAgICAgIGNvbG9yOiAjNDM0NTRiOyB9XG4gICAgICAudGhlbWUtZGFyayAubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCAubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLXNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MywgNTQsIDY4LCAwLjUpO1xuICAgICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgICAgLnRoZW1lLWdyYXkgLm5nLXNlbGVjdC5sb2NrLXNlbGVjdGlvbi1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzcsIDQwLCA0MywgMC41KTtcbiAgICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAubmctc2VsZWN0LmxvY2stc2VsZWN0aW9uLXNlbGVjdCAubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLXNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjQsIDIyNCwgMjI0LCAwLjUpO1xuICAgICAgICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCB7XG4gIGJhY2tncm91bmQ6IHVybCh+c3JjL2Fzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC1kYXJrLnBuZyk7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIHtcbiAgYmFja2dyb3VuZDogdXJsKH5zcmMvYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLWdyYXkucG5nKTtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIHtcbiAgYmFja2dyb3VuZDogdXJsKH5zcmMvYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLXdoaXRlLnBuZyk7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5jb250ZW50IC5pY29uLmVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlNTI1MjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuY29udGVudCAuaWNvbi5lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZTUyNTI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5jb250ZW50IC5pY29uLmVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTI1MjsgfVxuXG4udGhlbWUtZGFyayBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuY29udGVudCAuaWNvbi5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGE5ZDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuY29udGVudCAuaWNvbi5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3Y2Y4ZDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNvbnRlbnQgLmljb24uc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNvbnRlbnQgLmljb24uaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNvbnRlbnQgLmljb24uaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5jb250ZW50IC5pY29uLmluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5hY3Rpb24tYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjtcbiAgY29sb3I6ICMxMTE5MjE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmFjdGlvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1O1xuICBjb2xvcjogIzFhMWExYTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmFjdGlvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4udGhlbWUtZGFyayBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuY2xvc2UtYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuY2xvc2UtYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUxNTk2MDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNsb3NlLWJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4ycmVtIHNvbGlkICMyYjM2NDQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4ycmVtIHNvbGlkICMyZjM0Mzg7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMnJlbSBzb2xpZCAjZWJlYmViOyB9XG5cbi50aGVtZS1kYXJrIGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSAucm93IC5jZWxsLmxhYmVsIHtcbiAgY29sb3I6ICM1NTY1NzY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIC5yb3cgLmNlbGwubGFiZWwge1xuICBjb2xvcjogIzU2NWM2MjsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIC5yb3cgLmNlbGwubGFiZWwge1xuICBjb2xvcjogI2EwYTVhYjsgfVxuXG4udGhlbWUtZGFyayBhcHAtdHJhbnNhY3Rpb24tZGV0YWlscyAudGFibGUgLnJvdyAuY2VsbC52YWx1ZSB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSAucm93IC5jZWxsLnZhbHVlIHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSAucm93IC5jZWxsLnZhbHVlIHtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIC5yb3cgLmNlbGwua2V5LXZhbHVlIHtcbiAgY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIC5yb3cgLmNlbGwua2V5LXZhbHVlIHtcbiAgY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSAucm93IC5jZWxsLmtleS12YWx1ZSB7XG4gIGNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1wcm9ncmVzcy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtcHJvZ3Jlc3MtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wcm9ncmVzcy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIge1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtcHJvZ3Jlc3MtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzZjRhOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1wcm9ncmVzcy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNjNhM2U7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wcm9ncmVzcy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGM7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXByb2dyZXNzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5wcm9ncmVzcy1iYXItZnVsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Y2RhOWQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXByb2dyZXNzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5wcm9ncmVzcy1iYXItZnVsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wcm9ncmVzcy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciAucHJvZ3Jlc3MtYmFyLWZ1bGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZjMTcyOyB9XG5cbmFwcC1tYWluLCBhcHAtY3JlYXRlLXdhbGxldCwgYXBwLW9wZW4td2FsbGV0LCBhcHAtcmVzdG9yZS13YWxsZXQsIGFwcC1zZWVkLXBocmFzZSwgYXBwLXdhbGxldC1kZXRhaWxzLCBhcHAtYXNzaWduLWFsaWFzLCBhcHAtZWRpdC1hbGlhcywgYXBwLXRyYW5zZmVyLWFsaWFzLCBhcHAtc2V0dGluZ3MsIGFwcC1sb2dpbiB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAzcmVtO1xuICBtaW4td2lkdGg6IDg1cmVtOyB9XG4gIGFwcC1tYWluIC5jb250ZW50LCBhcHAtY3JlYXRlLXdhbGxldCAuY29udGVudCwgYXBwLW9wZW4td2FsbGV0IC5jb250ZW50LCBhcHAtcmVzdG9yZS13YWxsZXQgLmNvbnRlbnQsIGFwcC1zZWVkLXBocmFzZSAuY29udGVudCwgYXBwLXdhbGxldC1kZXRhaWxzIC5jb250ZW50LCBhcHAtYXNzaWduLWFsaWFzIC5jb250ZW50LCBhcHAtZWRpdC1hbGlhcyAuY29udGVudCwgYXBwLXRyYW5zZmVyLWFsaWFzIC5jb250ZW50LCBhcHAtc2V0dGluZ3MgLmNvbnRlbnQsIGFwcC1sb2dpbiAuY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDNyZW07XG4gICAgbWluLWhlaWdodDogMTAwJTsgfVxuICAgIC50aGVtZS1kYXJrIGFwcC1tYWluIC5jb250ZW50LCAudGhlbWUtZGFyayBhcHAtY3JlYXRlLXdhbGxldCAuY29udGVudCwgLnRoZW1lLWRhcmsgYXBwLW9wZW4td2FsbGV0IC5jb250ZW50LCAudGhlbWUtZGFyayBhcHAtcmVzdG9yZS13YWxsZXQgLmNvbnRlbnQsIC50aGVtZS1kYXJrIGFwcC1zZWVkLXBocmFzZSAuY29udGVudCwgLnRoZW1lLWRhcmsgYXBwLXdhbGxldC1kZXRhaWxzIC5jb250ZW50LCAudGhlbWUtZGFyayBhcHAtYXNzaWduLWFsaWFzIC5jb250ZW50LCAudGhlbWUtZGFyayBhcHAtZWRpdC1hbGlhcyAuY29udGVudCwgLnRoZW1lLWRhcmsgYXBwLXRyYW5zZmVyLWFsaWFzIC5jb250ZW50LCAudGhlbWUtZGFyayBhcHAtc2V0dGluZ3MgLmNvbnRlbnQsIC50aGVtZS1kYXJrIGFwcC1sb2dpbiAuY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQzLCA1NCwgNjgsIDAuNSk7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS1ncmF5IGFwcC1tYWluIC5jb250ZW50LCAudGhlbWUtZ3JheSBhcHAtY3JlYXRlLXdhbGxldCAuY29udGVudCwgLnRoZW1lLWdyYXkgYXBwLW9wZW4td2FsbGV0IC5jb250ZW50LCAudGhlbWUtZ3JheSBhcHAtcmVzdG9yZS13YWxsZXQgLmNvbnRlbnQsIC50aGVtZS1ncmF5IGFwcC1zZWVkLXBocmFzZSAuY29udGVudCwgLnRoZW1lLWdyYXkgYXBwLXdhbGxldC1kZXRhaWxzIC5jb250ZW50LCAudGhlbWUtZ3JheSBhcHAtYXNzaWduLWFsaWFzIC5jb250ZW50LCAudGhlbWUtZ3JheSBhcHAtZWRpdC1hbGlhcyAuY29udGVudCwgLnRoZW1lLWdyYXkgYXBwLXRyYW5zZmVyLWFsaWFzIC5jb250ZW50LCAudGhlbWUtZ3JheSBhcHAtc2V0dGluZ3MgLmNvbnRlbnQsIC50aGVtZS1ncmF5IGFwcC1sb2dpbiAuY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM3LCA0MCwgNDMsIDAuNSk7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS13aGl0ZSBhcHAtbWFpbiAuY29udGVudCwgLnRoZW1lLXdoaXRlIGFwcC1jcmVhdGUtd2FsbGV0IC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLW9wZW4td2FsbGV0IC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLXJlc3RvcmUtd2FsbGV0IC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLXNlZWQtcGhyYXNlIC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLXdhbGxldC1kZXRhaWxzIC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLWFzc2lnbi1hbGlhcyAuY29udGVudCwgLnRoZW1lLXdoaXRlIGFwcC1lZGl0LWFsaWFzIC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLXRyYW5zZmVyLWFsaWFzIC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLXNldHRpbmdzIC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLWxvZ2luIC5jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgIGNvbG9yOiAjNDM0NTRiOyB9XG4gICAgYXBwLW1haW4gLmNvbnRlbnQgLmhlYWQsIGFwcC1jcmVhdGUtd2FsbGV0IC5jb250ZW50IC5oZWFkLCBhcHAtb3Blbi13YWxsZXQgLmNvbnRlbnQgLmhlYWQsIGFwcC1yZXN0b3JlLXdhbGxldCAuY29udGVudCAuaGVhZCwgYXBwLXNlZWQtcGhyYXNlIC5jb250ZW50IC5oZWFkLCBhcHAtd2FsbGV0LWRldGFpbHMgLmNvbnRlbnQgLmhlYWQsIGFwcC1hc3NpZ24tYWxpYXMgLmNvbnRlbnQgLmhlYWQsIGFwcC1lZGl0LWFsaWFzIC5jb250ZW50IC5oZWFkLCBhcHAtdHJhbnNmZXItYWxpYXMgLmNvbnRlbnQgLmhlYWQsIGFwcC1zZXR0aW5ncyAuY29udGVudCAuaGVhZCwgYXBwLWxvZ2luIC5jb250ZW50IC5oZWFkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cblxuLnRoZW1lLWRhcmsgYXBwLW1haW4gLmNvbnRlbnQgLmFkZC13YWxsZXQgLmFkZC13YWxsZXQtaGVscCB7XG4gIGNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1tYWluIC5jb250ZW50IC5hZGQtd2FsbGV0IC5hZGQtd2FsbGV0LWhlbHAge1xuICBjb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLW1haW4gLmNvbnRlbnQgLmFkZC13YWxsZXQgLmFkZC13YWxsZXQtaGVscCB7XG4gIGNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1tYWluIC5jb250ZW50IC5hZGQtd2FsbGV0IC5hZGQtd2FsbGV0LWhlbHAgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1tYWluIC5jb250ZW50IC5hZGQtd2FsbGV0IC5hZGQtd2FsbGV0LWhlbHAgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtbWFpbiAuY29udGVudCAuYWRkLXdhbGxldCAuYWRkLXdhbGxldC1oZWxwIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2VlZC1waHJhc2UgLnNlZWQtcGhyYXNlLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcxZTI3O1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2VlZC1waHJhc2UgLnNlZWQtcGhyYXNlLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxO1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNlZWQtcGhyYXNlIC5zZWVkLXBocmFzZS1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldC1kZXRhaWxzIC5zZWVkLXBocmFzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzFlMjc7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldC1kZXRhaWxzIC5zZWVkLXBocmFzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOTJkMzE7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQtZGV0YWlscyAuc2VlZC1waHJhc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG5cbmFwcC1zZXR0aW5ncyAuY29udGVudCB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC50aGVtZS1kYXJrIGFwcC1zZXR0aW5ncyAuY29udGVudCAudGhlbWUtc2VsZWN0aW9uIHtcbiAgICBjb2xvcjogIzU1NjU3NjsgfVxuICAudGhlbWUtZ3JheSBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnRoZW1lLXNlbGVjdGlvbiB7XG4gICAgY29sb3I6ICM1NjVjNjI7IH1cbiAgLnRoZW1lLXdoaXRlIGFwcC1zZXR0aW5ncyAuY29udGVudCAudGhlbWUtc2VsZWN0aW9uIHtcbiAgICBjb2xvcjogI2EwYTVhYjsgfVxuICAudGhlbWUtZGFyayBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnNjYWxlLXNlbGVjdGlvbiAuYnV0dG9uLWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzLCAzMSwgMzksIDAuNSk7IH1cbiAgLnRoZW1lLWdyYXkgYXBwLXNldHRpbmdzIC5jb250ZW50IC5zY2FsZS1zZWxlY3Rpb24gLmJ1dHRvbi1ibG9jayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMywgMjUsIDI3LCAwLjUpOyB9XG4gIC50aGVtZS13aGl0ZSBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnNjYWxlLXNlbGVjdGlvbiAuYnV0dG9uLWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyNCwgMjI0LCAyMjQsIDAuNSk7IH1cbiAgLnRoZW1lLWRhcmsgYXBwLXNldHRpbmdzIC5jb250ZW50IC5zY2FsZS1zZWxlY3Rpb24gLmJ1dHRvbi1ibG9jayAubGFiZWwge1xuICAgIGNvbG9yOiAjNTU2NTc2OyB9XG4gIC50aGVtZS1ncmF5IGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2sgLmxhYmVsIHtcbiAgICBjb2xvcjogIzU2NWM2MjsgfVxuICAudGhlbWUtd2hpdGUgYXBwLXNldHRpbmdzIC5jb250ZW50IC5zY2FsZS1zZWxlY3Rpb24gLmJ1dHRvbi1ibG9jayAubGFiZWwge1xuICAgIGNvbG9yOiAjYTBhNWFiOyB9XG4gIC50aGVtZS1kYXJrIGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2suYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG4gIC50aGVtZS1ncmF5IGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2suYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG4gIC50aGVtZS13aGl0ZSBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnNjYWxlLXNlbGVjdGlvbiAuYnV0dG9uLWJsb2NrLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuICAudGhlbWUtZGFyayBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnNjYWxlLXNlbGVjdGlvbiAuYnV0dG9uLWJsb2NrLmFjdGl2ZSAubGFiZWwge1xuICAgIGNvbG9yOiAjNGRiMWZmOyB9XG4gIC50aGVtZS1ncmF5IGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2suYWN0aXZlIC5sYWJlbCB7XG4gICAgY29sb3I6ICM0MmE1ZjU7IH1cbiAgLnRoZW1lLXdoaXRlIGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2suYWN0aXZlIC5sYWJlbCB7XG4gICAgY29sb3I6ICMyYzk1ZjE7IH1cblxuYXBwLWxvZ2luIHtcbiAgbWluLXdpZHRoOiBpbmhlcml0OyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMywgMzEsIDM5LCAwLjUpOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMywgMjUsIDI3LCAwLjUpOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1oZWFkZXIgaDMge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1oZWFkZXIgaDMge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtaGVhZGVyIGgzIHtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtaGVhZGVyIGJ1dHRvbiB7XG4gIGNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWhlYWRlciBidXR0b24ge1xuICBjb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtaGVhZGVyIGJ1dHRvbiB7XG4gIGNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cgLnRleHQge1xuICBjb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cgLnRleHQge1xuICBjb2xvcjogIzU2NWM2MjsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC50ZXh0IHtcbiAgY29sb3I6ICNhMGE1YWI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjtcbiAgY29sb3I6ICMxMTE5MjE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1O1xuICBjb2xvcjogIzFhMWExYTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNmNGE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzYTNlOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGM7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIgLmZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3Y2Y4ZDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIgLmZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZjMTcyOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdy5hY2NvdW50LXN5bmNocm9uaXphdGlvbiB7XG4gIGNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdy5hY2NvdW50LXN5bmNocm9uaXphdGlvbiB7XG4gIGNvbG9yOiAjNTY1YzYyOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cuYWNjb3VudC1zeW5jaHJvbml6YXRpb24ge1xuICBjb2xvcjogI2EwYTVhYjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MywgNTQsIDY4LCAwLjUpO1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNywgNDAsIDQzLCAwLjUpO1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTg4ZTU7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUgLnNpZGViYXItYWNjb3VudC1yb3cgLnRleHQge1xuICBjb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93IC50ZXh0IHtcbiAgY29sb3I6ICM1NjVjNjI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUgLnNpZGViYXItYWNjb3VudC1yb3cgLnRleHQge1xuICBjb2xvcjogIzkxYmFmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93IC5pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmO1xuICBjb2xvcjogIzExMTkyMTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93IC5pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1O1xuICBjb2xvcjogIzFhMWExYTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSAuc2lkZWJhci1hY2NvdW50LXJvdyAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSAuc2lkZWJhci1hY2NvdW50LXJvdyAuc3dpdGNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSAuc2lkZWJhci1hY2NvdW50LXJvdyAuc3dpdGNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUgLnNpZGViYXItYWNjb3VudC1yb3cgLnN3aXRjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUgLnNpZGViYXItYWNjb3VudC1yb3cuYWNjb3VudC1zeW5jaHJvbml6YXRpb24ge1xuICBjb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93LmFjY291bnQtc3luY2hyb25pemF0aW9uIHtcbiAgY29sb3I6ICM1NjVjNjI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUgLnNpZGViYXItYWNjb3VudC1yb3cuYWNjb3VudC1zeW5jaHJvbml6YXRpb24ge1xuICBjb2xvcjogIzkxYmFmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQ6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNzIsIDkwLCAwLjUpOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudDpob3Zlcjpub3QoLmFjdGl2ZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcwLCA3NiwgODEsIDAuNSk7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudDpob3Zlcjpub3QoLmFjdGl2ZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuNSk7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3Mge1xuICBib3JkZXItYm90dG9tOiAwLjJyZW0gc29saWQgIzFmMjgzMzsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyB7XG4gIGJvcmRlci1ib3R0b206IDAuMnJlbSBzb2xpZCAjMmUzMzM3OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyB7XG4gIGJvcmRlci1ib3R0b206IDAuMnJlbSBzb2xpZCAjZWJlYmViOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXNldHRpbmdzIC53cmFwLWJ1dHRvbiBidXR0b24ge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24gYnV0dG9uIHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXNldHRpbmdzIC53cmFwLWJ1dHRvbiBidXR0b24ge1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24gYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24gYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3MgLndyYXAtYnV0dG9uIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3MgLndyYXAtYnV0dG9uLmFjdGl2ZSBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQzLCA1NCwgNjgsIDAuNSkgIWltcG9ydGFudDtcbiAgY29sb3I6ICNlMGUwZTAgIWltcG9ydGFudDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24uYWN0aXZlIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzcsIDQwLCA0MywgMC41KSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2UwZTBlMCAhaW1wb3J0YW50OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24uYWN0aXZlIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTg4ZTUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24uYWN0aXZlIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmYgIWltcG9ydGFudDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24uYWN0aXZlIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjUgIWltcG9ydGFudDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3MgLndyYXAtYnV0dG9uLmFjdGl2ZSBidXR0b24gLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyB7XG4gIGNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMge1xuICBjb2xvcjogIzU2NWM2MjsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyB7XG4gIGNvbG9yOiAjYTBhNWFiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLm9mZmxpbmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlNTI1MjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5vZmZsaW5lOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjUyNTI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLm9mZmxpbmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTI1MjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5vbmxpbmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGE5ZDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5vbmxpbmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3Y2Y4ZDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAub25saW5lOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAudGVzdG5ldCB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLnRlc3RuZXQge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAudGVzdG5ldCB7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnN5bmNpbmcgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNmNGE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAuc3luY2luZyAucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM2M2EzZTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAuc3luY2luZyAucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYzsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5zeW5jaW5nIC5wcm9ncmVzcy1iYXIgLmZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnN5bmNpbmcgLnByb2dyZXNzLWJhciAuZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnN5bmNpbmcgLnByb2dyZXNzLWJhciAuZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAubG9hZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Y2RhOWQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAubG9hZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnByb2dyZXNzLWJhci1jb250YWluZXIgLmxvYWRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZjMTcyOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtd2FsbGV0IHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQge1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IC5oZWFkZXIgYnV0dG9uIHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAuaGVhZGVyIGJ1dHRvbiB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC5oZWFkZXIgYnV0dG9uIHtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldCAuaGVhZGVyIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAuaGVhZGVyIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQgLmhlYWRlciBidXR0b24gLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQgLmhlYWRlciAuYWxpYXMgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQgLmhlYWRlciAuYWxpYXMgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC5oZWFkZXIgLmFsaWFzIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IC5hZGRyZXNzIHtcbiAgY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAuYWRkcmVzcyB7XG4gIGNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC5hZGRyZXNzIHtcbiAgY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldCAuYWRkcmVzcyAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAuYWRkcmVzcyAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQgLmFkZHJlc3MgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzLCAzMSwgMzksIDAuNSk7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMsIDI1LCAyNywgMC41KTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI0LCAyMjQsIDIyNCwgMC41KTsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWhlYWRlciAudGFiIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWhlYWRlciAudGFiIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYiAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjtcbiAgY29sb3I6ICMxMTE5MjE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYiAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTtcbiAgY29sb3I6ICMxYTFhMWE7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWIgLmluZGljYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWIuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MywgNTQsIDY4LCAwLjUpOyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWIuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNywgNDAsIDQzLCAwLjUpOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWhlYWRlciAudGFiLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQzLCA1NCwgNjgsIDAuNSk7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAudGFicyAudGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNywgNDAsIDQzLCAwLjUpOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNlbmQgLmZvcm0tc2VuZCAuaW5wdXQtYmxvY2stYWRkcmVzcyAuYWRkcmVzcy1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzFlMjc7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zZW5kIC5mb3JtLXNlbmQgLmlucHV0LWJsb2NrLWFkZHJlc3MgLmFkZHJlc3MtZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxO1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNlbmQgLmZvcm0tc2VuZCAuaW5wdXQtYmxvY2stYWRkcmVzcyAuYWRkcmVzcy1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zZW5kIC5mb3JtLXNlbmQgLmlucHV0LWJsb2NrLWFkZHJlc3MgLmFkZHJlc3MtZHJvcGRvd24gZGl2OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNzIsIDkwLCAwLjUpOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zZW5kIC5mb3JtLXNlbmQgLmlucHV0LWJsb2NrLWFkZHJlc3MgLmFkZHJlc3MtZHJvcGRvd24gZGl2OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3MCwgNzYsIDgxLCAwLjUpOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2VuZCAuZm9ybS1zZW5kIC5pbnB1dC1ibG9jay1hZGRyZXNzIC5hZGRyZXNzLWRyb3Bkb3duIGRpdjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQwLCAyNDAsIDI0MCwgMC41KTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2VuZCAuZm9ybS1zZW5kIC5zZW5kLXNlbGVjdCB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zZW5kIC5mb3JtLXNlbmQgLnNlbmQtc2VsZWN0IHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zZW5kIC5mb3JtLXNlbmQgLnNlbmQtc2VsZWN0IHtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNlbmQgLmZvcm0tc2VuZCAuc2VuZC1zZWxlY3QgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zZW5kIC5mb3JtLXNlbmQgLnNlbmQtc2VsZWN0IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNlbmQgLmZvcm0tc2VuZCAuc2VuZC1zZWxlY3QgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zZW5kIC5mb3JtLXNlbmQgLmFkZGl0aW9uYWwtZGV0YWlscyB7XG4gIGJvcmRlcjogMC4ycmVtIHNvbGlkICMyYjM2NDQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNlbmQgLmZvcm0tc2VuZCAuYWRkaXRpb25hbC1kZXRhaWxzIHtcbiAgYm9yZGVyOiAwLjJyZW0gc29saWQgIzJmMzQzODsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNlbmQgLmZvcm0tc2VuZCAuYWRkaXRpb25hbC1kZXRhaWxzIHtcbiAgYm9yZGVyOiAwLjJyZW0gc29saWQgI2ViZWJlYjsgfVxuXG4udGhlbWUtZGFyayBhcHAtcmVjZWl2ZSAuYnRuLWNvcHktYWRkcmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXJlY2VpdmUgLmJ0bi1jb3B5LWFkZHJlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtcmVjZWl2ZSAuYnRuLWNvcHktYWRkcmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzEpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE4MjAyYTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rMSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjUyOTJkOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rMSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCg0bisyKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxODIwMmE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzIpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjkyZDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzIpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4udGhlbWUtZGFyayBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rMykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rMykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnRoZW1lLWRhcmsgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCg0bis0KSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi50aGVtZS1kYXJrIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyIC5zdGF0dXMgLmNvbmZpcm1hdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNmNGE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHIgLnN0YXR1cyAuY29uZmlybWF0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM2M2EzZTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHIgLnN0YXR1cyAuY29uZmlybWF0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYzsgfVxuXG4udGhlbWUtZGFyayBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0ciAuc3RhdHVzIC5jb25maXJtYXRpb24gLmZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyIC5zdGF0dXMgLmNvbmZpcm1hdGlvbiAuZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyIC5zdGF0dXMgLmNvbmZpcm1hdGlvbiAuZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHIgLnN0YXR1cy5zZW5kIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTI1MjsgfVxuXG5hcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0ciAuc3RhdHVzLnJlY2VpdmVkIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYzg1MzsgfVxuXG4udGhlbWUtZGFyayBhcHAtY29udHJhY3RzIC53cmFwLXRhYmxlIC5jb250cmFjdCAuaWNvbi5uZXcsIC50aGVtZS1kYXJrIGFwcC1jb250cmFjdHMgLndyYXAtdGFibGUgLmNvbnRyYWN0IC5pY29uLmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlNTI1MjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtY29udHJhY3RzIC53cmFwLXRhYmxlIC5jb250cmFjdCAuaWNvbi5uZXcsIC50aGVtZS1ncmF5IGFwcC1jb250cmFjdHMgLndyYXAtdGFibGUgLmNvbnRyYWN0IC5pY29uLmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlNTI1MjsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLWNvbnRyYWN0cyAud3JhcC10YWJsZSAuY29udHJhY3QgLmljb24ubmV3LCAudGhlbWUtd2hpdGUgYXBwLWNvbnRyYWN0cyAud3JhcC10YWJsZSAuY29udHJhY3QgLmljb24uYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1MjUyOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1jb250cmFjdHMgLndyYXAtdGFibGUgLmNvbnRyYWN0IC5pY29uLnB1cmNoYXNlLCAudGhlbWUtZGFyayBhcHAtY29udHJhY3RzIC53cmFwLXRhYmxlIC5jb250cmFjdCAuaWNvbi5zZWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtY29udHJhY3RzIC53cmFwLXRhYmxlIC5jb250cmFjdCAuaWNvbi5wdXJjaGFzZSwgLnRoZW1lLWdyYXkgYXBwLWNvbnRyYWN0cyAud3JhcC10YWJsZSAuY29udHJhY3QgLmljb24uc2VsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1jb250cmFjdHMgLndyYXAtdGFibGUgLmNvbnRyYWN0IC5pY29uLnB1cmNoYXNlLCAudGhlbWUtd2hpdGUgYXBwLWNvbnRyYWN0cyAud3JhcC10YWJsZSAuY29udHJhY3QgLmljb24uc2VsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXB1cmNoYXNlIC5mb3JtLXB1cmNoYXNlIC5wdXJjaGFzZS1zZWxlY3Qge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLnB1cmNoYXNlLXNlbGVjdCB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLnB1cmNoYXNlLXNlbGVjdCB7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAucHVyY2hhc2Utc2VsZWN0IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLnB1cmNoYXNlLXNlbGVjdCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAucHVyY2hhc2Utc2VsZWN0IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLnB1cmNoYXNlLXN0YXRlcyB7XG4gIGNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAucHVyY2hhc2Utc3RhdGVzIHtcbiAgY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAucHVyY2hhc2Utc3RhdGVzIHtcbiAgY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXB1cmNoYXNlIC5mb3JtLXB1cmNoYXNlIC5hZGRpdGlvbmFsLWRldGFpbHMge1xuICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjMmIzNjQ0OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAuYWRkaXRpb25hbC1kZXRhaWxzIHtcbiAgYm9yZGVyOiAwLjJyZW0gc29saWQgIzJmMzQzODsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXB1cmNoYXNlIC5mb3JtLXB1cmNoYXNlIC5hZGRpdGlvbmFsLWRldGFpbHMge1xuICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjZWJlYmViOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1wdXJjaGFzZSAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2Y0YTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtcHVyY2hhc2UgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNjNhM2U7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wdXJjaGFzZSAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYzsgfVxuXG4udGhlbWUtZGFyayBhcHAtcHVyY2hhc2UgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciAucHJvZ3Jlc3MtYmFyLWZ1bGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1wdXJjaGFzZSAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5wcm9ncmVzcy1iYXItZnVsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wdXJjaGFzZSAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5wcm9ncmVzcy1iYXItZnVsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuYXBwLW1lc3NhZ2VzIHRhYmxlIHRib2R5IHRyIHRkOmZpcnN0LWNoaWxkIHNwYW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4udGhlbWUtZGFyayBhcHAtbWVzc2FnZXMgdGFibGUgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmU1MjUyOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1tZXNzYWdlcyB0YWJsZSB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZTUyNTI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1tZXNzYWdlcyB0YWJsZSB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjUyNTI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXR5cGluZy1tZXNzYWdlIC5oZWFkIC5pbnRlcmxvY3V0b3Ige1xuICBjb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtdHlwaW5nLW1lc3NhZ2UgLmhlYWQgLmludGVybG9jdXRvciB7XG4gIGNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtdHlwaW5nLW1lc3NhZ2UgLmhlYWQgLmludGVybG9jdXRvciB7XG4gIGNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYuZGF0ZSB7XG4gIGNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYuZGF0ZSB7XG4gIGNvbG9yOiAjNTY1YzYyOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2LmRhdGUge1xuICBjb2xvcjogI2EwYTVhYjsgfVxuXG4udGhlbWUtZGFyayBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2Lm15IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJhMzU0NDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2Lm15IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwMzYzYzsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5teSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5teTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0xLjFyZW07XG4gIGJvcmRlcjogMS4ycmVtIHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC50aGVtZS1kYXJrIGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYubXk6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMmEzNTQ0OyB9XG4gIC50aGVtZS1ncmF5IGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYubXk6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMzAzNjNjOyB9XG4gIC50aGVtZS13aGl0ZSBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2Lm15OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjsgfVxuXG4udGhlbWUtZGFyayBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2LmJ1ZGR5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE4MjAyYTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2LmJ1ZGR5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjkyZDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5idWRkeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxuYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5idWRkeTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtMS4xcmVtO1xuICB0b3A6IDA7XG4gIGJvcmRlcjogMS4ycmVtIHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC50aGVtZS1kYXJrIGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYuYnVkZHk6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxODIwMmE7IH1cbiAgLnRoZW1lLWdyYXkgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5idWRkeTphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzI1MjkyZDsgfVxuICAudGhlbWUtd2hpdGUgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5idWRkeTphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2VkZWRlZDsgfVxuXG4udGhlbWUtZGFyayBhcHAtc3Rha2luZyAuY2hhcnQtaGVhZGVyIC5nZW5lcmFsIC5sYWJlbCB7XG4gIGNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zdGFraW5nIC5jaGFydC1oZWFkZXIgLmdlbmVyYWwgLmxhYmVsIHtcbiAgY29sb3I6ICM1NjVjNjI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zdGFraW5nIC5jaGFydC1oZWFkZXIgLmdlbmVyYWwgLmxhYmVsIHtcbiAgY29sb3I6ICNhMGE1YWI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXN0YWtpbmcgLmNoYXJ0LWhlYWRlciAuZ2VuZXJhbCAub3B0aW9ucyB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zdGFraW5nIC5jaGFydC1oZWFkZXIgLmdlbmVyYWwgLm9wdGlvbnMge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXN0YWtpbmcgLmNoYXJ0LWhlYWRlciAuZ2VuZXJhbCAub3B0aW9ucyB7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbmFwcC1zdGFraW5nIC5jaGFydC1oZWFkZXIgLnNlbGVjdGVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZmxleC1ncm93OiAxO1xuICBmb250LXNpemU6IDEuNnJlbTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc3Rha2luZyAuY2hhcnQtb3B0aW9ucyAudGl0bGUge1xuICBjb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc3Rha2luZyAuY2hhcnQtb3B0aW9ucyAudGl0bGUge1xuICBjb2xvcjogIzU2NWM2MjsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXN0YWtpbmcgLmNoYXJ0LW9wdGlvbnMgLnRpdGxlIHtcbiAgY29sb3I6ICNhMGE1YWI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXN0YWtpbmcgLmNoYXJ0LW9wdGlvbnMgLm9wdGlvbnMgYnV0dG9uIHtcbiAgY29sb3I6ICNlMGUwZTA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYjM2NDQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXN0YWtpbmcgLmNoYXJ0LW9wdGlvbnMgLm9wdGlvbnMgYnV0dG9uIHtcbiAgY29sb3I6ICNlMGUwZTA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOTJkMzE7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zdGFraW5nIC5jaGFydC1vcHRpb25zIC5vcHRpb25zIGJ1dHRvbiB7XG4gIGNvbG9yOiAjNDM0NTRiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zdGFraW5nIC5jaGFydC1vcHRpb25zIC5vcHRpb25zIGJ1dHRvbi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zdGFraW5nIC5jaGFydC1vcHRpb25zIC5vcHRpb25zIGJ1dHRvbi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTE1OTYwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc3Rha2luZyAuY2hhcnQtb3B0aW9ucyAub3B0aW9ucyBidXR0b24uYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4uaGVhZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgcGFkZGluZzogMCAzcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzcmVtOyB9XG4gIC50aGVtZS1kYXJrIC5oZWFkIHtcbiAgICBjb2xvcjogIzRkYjFmZjsgfVxuICAudGhlbWUtZ3JheSAuaGVhZCB7XG4gICAgY29sb3I6ICM0MmE1ZjU7IH1cbiAgLnRoZW1lLXdoaXRlIC5oZWFkIHtcbiAgICBjb2xvcjogIzJjOTVmMTsgfVxuICAuaGVhZCAuYnJlYWRjcnVtYnMgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCksIC5oZWFkIC5icmVhZGNydW1icyBhOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG91dGxpbmUtc3R5bGU6IG5vbmU7IH1cbiAgICAuaGVhZCAuYnJlYWRjcnVtYnMgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC5oZWFkIC5icmVhZGNydW1icyBhOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjVyZW07XG4gICAgICByaWdodDogLTEuNXJlbTtcbiAgICAgIHdpZHRoOiAwLjlyZW07XG4gICAgICBoZWlnaHQ6IDAuOXJlbTtcbiAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1yaWdodC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBtYXNrLXNpemU6IGNvdmVyOyB9XG4gICAgICAudGhlbWUtZGFyayAuaGVhZCAuYnJlYWRjcnVtYnMgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC50aGVtZS1kYXJrIC5oZWFkIC5icmVhZGNydW1icyBhOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG4gICAgICAudGhlbWUtZ3JheSAuaGVhZCAuYnJlYWRjcnVtYnMgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC50aGVtZS1ncmF5IC5oZWFkIC5icmVhZGNydW1icyBhOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG4gICAgICAudGhlbWUtd2hpdGUgLmhlYWQgLmJyZWFkY3J1bWJzID4gc3Bhbjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyLCAudGhlbWUtd2hpdGUgLmhlYWQgLmJyZWFkY3J1bWJzIGE6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cbiAgLmhlYWQgLmJhY2stYnRuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM0ZGIxZmY7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuM3JlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5oZWFkIC5iYWNrLWJ0biAuaWNvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuN3JlbTtcbiAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9iYWNrLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAwLjlyZW07XG4gICAgICBoZWlnaHQ6IDAuOXJlbTsgfVxuICAgICAgLnRoZW1lLWRhcmsgLmhlYWQgLmJhY2stYnRuIC5pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuICAgICAgLnRoZW1lLWdyYXkgLmhlYWQgLmJhY2stYnRuIC5pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC5oZWFkIC5iYWNrLWJ0biAuaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnNjcm9sbGVkLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTsgfVxuXG4uc2Nyb2xsZWQtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uc2Nyb2xsZWQtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDAuMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTsgfVxuXG4uc2Nyb2xsZWQtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2OyB9XG5cbnRhYmxlIHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIHRhYmxlIHRoZWFkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLnRoZW1lLWRhcmsgdGFibGUgdGhlYWQge1xuICAgICAgY29sb3I6ICM1NTY1NzY7IH1cbiAgICAudGhlbWUtZ3JheSB0YWJsZSB0aGVhZCB7XG4gICAgICBjb2xvcjogIzU2NWM2MjsgfVxuICAgIC50aGVtZS13aGl0ZSB0YWJsZSB0aGVhZCB7XG4gICAgICBjb2xvcjogI2EwYTVhYjsgfVxuICAgIHRhYmxlIHRoZWFkIHRyIHtcbiAgICAgIGhlaWdodDogNHJlbTsgfVxuICAgICAgdGFibGUgdGhlYWQgdHIgdGgge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG4gICAgICAgIHRhYmxlIHRoZWFkIHRyIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cbiAgICAgICAgdGFibGUgdGhlYWQgdHIgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfVxuICB0YWJsZSB0Ym9keSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC50aGVtZS1kYXJrIHRhYmxlIHRib2R5IHtcbiAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLnRoZW1lLWdyYXkgdGFibGUgdGJvZHkge1xuICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAudGhlbWUtd2hpdGUgdGFibGUgdGJvZHkge1xuICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgICB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICBoZWlnaHQ6IDMuNXJlbTsgfVxuICAgICAgLnRoZW1lLWRhcmsgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgyMDJhOyB9XG4gICAgICAudGhlbWUtZ3JheSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTI5MmQ7IH1cbiAgICAgIC50aGVtZS13aGl0ZSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIHRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuN3JlbTtcbiAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXgtd2lkdGg6IDIwcmVtOyB9XG4gICAgICAgIHRhYmxlIHRib2R5IHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cbiAgICAgICAgdGFibGUgdGJvZHkgdHIgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1MaWdodC50dGYpO1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogT3BlblNhbnM7XG4gIHNyYzogdXJsKH5zcmMvYXNzZXRzL2ZvbnRzL09wZW5TYW5zLVJlZ3VsYXIudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1TZW1pQm9sZC50dGYpO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogT3BlblNhbnM7XG4gIHNyYzogdXJsKH5zcmMvYXNzZXRzL2ZvbnRzL09wZW5TYW5zLUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1FeHRyYUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEwcHg7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBPcGVuU2Fucywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuICBib2R5LnRoZW1lLWRhcmsge1xuICAgIGJhY2tncm91bmQ6ICMxMzE5MjEgdXJsKFwiYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLWRhcmsucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBib2R5LnRoZW1lLWdyYXkge1xuICAgIGJhY2tncm91bmQ6ICMxMDE0MTcgdXJsKFwiYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLWdyYXkucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBib2R5LnRoZW1lLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlZWVlIHVybChcImFzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC13aGl0ZS5wbmdcIikgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIGJvZHkgYXBwLXJvb3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4iLCIubmctc2VsZWN0Lm5nLXNlbGVjdC1vcGVuZWQ+Lm5nLXNlbGVjdC1jb250YWluZXJ7YmFja2dyb3VuZDojZmZmO2JvcmRlci1jb2xvcjojYjNiM2IzICNjY2MgI2Q5ZDlkOX0ubmctc2VsZWN0Lm5nLXNlbGVjdC1vcGVuZWQ+Lm5nLXNlbGVjdC1jb250YWluZXI6aG92ZXJ7Ym94LXNoYWRvdzpub25lfS5uZy1zZWxlY3Qubmctc2VsZWN0LW9wZW5lZD4ubmctc2VsZWN0LWNvbnRhaW5lciAubmctYXJyb3d7dG9wOi0ycHg7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM5OTk7Ym9yZGVyLXdpZHRoOjAgNXB4IDVweH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1vcGVuZWQ+Lm5nLXNlbGVjdC1jb250YWluZXIgLm5nLWFycm93OmhvdmVye2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzMzfS5uZy1zZWxlY3Qubmctc2VsZWN0LW9wZW5lZC5uZy1zZWxlY3QtYm90dG9tPi5uZy1zZWxlY3QtY29udGFpbmVye2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5uZy1zZWxlY3Qubmctc2VsZWN0LW9wZW5lZC5uZy1zZWxlY3QtdG9wPi5uZy1zZWxlY3QtY29udGFpbmVye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowfS5uZy1zZWxlY3Qubmctc2VsZWN0LWZvY3VzZWQ6bm90KC5uZy1zZWxlY3Qtb3BlbmVkKT4ubmctc2VsZWN0LWNvbnRhaW5lcntib3JkZXItY29sb3I6IzAwN2VmZjtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLDAuMDc1KSwwIDAgMCAzcHggcmdiYSgwLDEyNiwyNTUsMC4xKX0ubmctc2VsZWN0Lm5nLXNlbGVjdC1kaXNhYmxlZD4ubmctc2VsZWN0LWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiNmOWY5Zjl9Lm5nLXNlbGVjdCAubmctaGFzLXZhbHVlIC5uZy1wbGFjZWhvbGRlcntkaXNwbGF5Om5vbmV9Lm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO21pbi1oZWlnaHQ6MzZweDthbGlnbi1pdGVtczpjZW50ZXJ9Lm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lcjpob3Zlcntib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwwLjA2KX0ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXJ7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctbGVmdDoxMHB4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVye3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWxlZnQ6MH0ubmctc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXBsYWNlaG9sZGVye2NvbG9yOiM5OTl9Lm5nLXNlbGVjdC5uZy1zZWxlY3Qtc2luZ2xlIC5uZy1zZWxlY3QtY29udGFpbmVye2hlaWdodDozNnB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LXNpbmdsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy1pbnB1dHt0b3A6NXB4O2xlZnQ6MDtwYWRkaW5nLWxlZnQ6MTBweDtwYWRkaW5nLXJpZ2h0OjUwcHh9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0Lm5nLXNlbGVjdC1zaW5nbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctaW5wdXR7cGFkZGluZy1yaWdodDoxMHB4O3BhZGRpbmctbGVmdDo1MHB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlLm5nLXNlbGVjdC1kaXNhYmxlZD4ubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiNmOWY5Zjk7Ym9yZGVyOjFweCBzb2xpZCAjZTZlNmU2fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlLm5nLXNlbGVjdC1kaXNhYmxlZD4ubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZSAubmctdmFsdWUtbGFiZWx7cGFkZGluZzowIDVweH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVye3BhZGRpbmctdG9wOjVweDtwYWRkaW5nLWxlZnQ6N3B4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lcntwYWRkaW5nLXJpZ2h0OjdweDtwYWRkaW5nLWxlZnQ6MH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZXtmb250LXNpemU6MC45ZW07bWFyZ2luLWJvdHRvbTo1cHg7YmFja2dyb3VuZC1jb2xvcjojZWJmNWZmO2JvcmRlci1yYWRpdXM6MnB4O21hcmdpbi1yaWdodDo1cHh9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZXttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDo1cHh9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUubmctdmFsdWUtZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojZjlmOWY5fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlLm5nLXZhbHVlLWRpc2FibGVkIC5uZy12YWx1ZS1sYWJlbHtwYWRkaW5nLWxlZnQ6NXB4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUubmctdmFsdWUtZGlzYWJsZWQgLm5nLXZhbHVlLWxhYmVse3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6NXB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1sYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjFweCA1cHh9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUgLm5nLXZhbHVlLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzoxcHggNXB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1pY29uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2QxZThmZn0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZSAubmctdmFsdWUtaWNvbi5sZWZ0e2JvcmRlci1yaWdodDoxcHggc29saWQgI2I4ZGJmZn1bZGlyPVwicnRsXCJdIC5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1pY29uLmxlZnR7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNiOGRiZmY7Ym9yZGVyLXJpZ2h0Om5vbmV9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUgLm5nLXZhbHVlLWljb24ucmlnaHR7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNiOGRiZmZ9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZSAubmctdmFsdWUtaWNvbi5yaWdodHtib3JkZXItbGVmdDowO2JvcmRlci1yaWdodDoxcHggc29saWQgI2I4ZGJmZn0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy1pbnB1dHtwYWRkaW5nOjAgMCAzcHggM3B4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctaW5wdXR7cGFkZGluZzowIDNweCAzcHggMH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy1wbGFjZWhvbGRlcnt0b3A6NXB4O3BhZGRpbmctYm90dG9tOjVweDtwYWRkaW5nLWxlZnQ6M3B4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctcGxhY2Vob2xkZXJ7cGFkZGluZy1yaWdodDozcHg7cGFkZGluZy1sZWZ0OjB9Lm5nLXNlbGVjdCAubmctY2xlYXItd3JhcHBlcntjb2xvcjojOTk5fS5uZy1zZWxlY3QgLm5nLWNsZWFyLXdyYXBwZXI6aG92ZXIgLm5nLWNsZWFye2NvbG9yOiNEMDAyMUJ9Lm5nLXNlbGVjdCAubmctc3Bpbm5lci16b25le3BhZGRpbmc6NXB4IDVweCAwIDB9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0IC5uZy1zcGlubmVyLXpvbmV7cGFkZGluZzo1cHggMCAwIDVweH0ubmctc2VsZWN0IC5uZy1hcnJvdy13cmFwcGVye3dpZHRoOjI1cHg7cGFkZGluZy1yaWdodDo1cHh9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0IC5uZy1hcnJvdy13cmFwcGVye3BhZGRpbmctbGVmdDo1cHg7cGFkZGluZy1yaWdodDowfS5uZy1zZWxlY3QgLm5nLWFycm93LXdyYXBwZXI6aG92ZXIgLm5nLWFycm93e2JvcmRlci10b3AtY29sb3I6IzY2Nn0ubmctc2VsZWN0IC5uZy1hcnJvdy13cmFwcGVyIC5uZy1hcnJvd3tib3JkZXItY29sb3I6Izk5OSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjVweCA1cHggMi41cHh9Lm5nLWRyb3Bkb3duLXBhbmVse2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsMC4wNik7bGVmdDowfS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtYm90dG9te3RvcDoxMDAlO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRweDtib3JkZXItdG9wLWNvbG9yOiNlNmU2ZTY7bWFyZ2luLXRvcDotMXB4fS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtYm90dG9tIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4fS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtdG9we2JvdHRvbToxMDAlO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWNvbG9yOiNlNmU2ZTY7bWFyZ2luLWJvdHRvbTotMXB4fS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtdG9wIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uOmZpcnN0LWNoaWxke2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLWhlYWRlcntib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjO3BhZGRpbmc6NXB4IDdweH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLWZvb3Rlcntib3JkZXItdG9wOjFweCBzb2xpZCAjY2NjO3BhZGRpbmc6NXB4IDdweH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1ze21hcmdpbi1ib3R0b206MXB4fS5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGdyb3Vwe3VzZXItc2VsZWN0Om5vbmU7cGFkZGluZzo4cHggMTBweDtmb250LXdlaWdodDo1MDA7Y29sb3I6cmdiYSgwLDAsMCwwLjU0KTtjdXJzb3I6cG9pbnRlcn0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRncm91cC5uZy1vcHRpb24tZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0Z3JvdXAubmctb3B0aW9uLW1hcmtlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNWZhZmZ9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0Z3JvdXAubmctb3B0aW9uLXNlbGVjdGVkLC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGdyb3VwLm5nLW9wdGlvbi1zZWxlY3RlZC5uZy1vcHRpb24tbWFya2Vke2JhY2tncm91bmQtY29sb3I6I2ViZjVmZjtmb250LXdlaWdodDo2MDB9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9ue2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjpyZ2JhKDAsMCwwLDAuODcpO3BhZGRpbmc6OHB4IDEwcHh9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1zZWxlY3RlZCwubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLXNlbGVjdGVkLm5nLW9wdGlvbi1tYXJrZWR7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNlYmY1ZmZ9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1zZWxlY3RlZCAubmctb3B0aW9uLWxhYmVsLC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tc2VsZWN0ZWQubmctb3B0aW9uLW1hcmtlZCAubmctb3B0aW9uLWxhYmVse2ZvbnQtd2VpZ2h0OjYwMH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLW1hcmtlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNWZhZmY7Y29sb3I6IzMzM30ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLWRpc2FibGVke2NvbG9yOiNjY2N9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1jaGlsZHtwYWRkaW5nLWxlZnQ6MjJweH1bZGlyPVwicnRsXCJdIC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tY2hpbGR7cGFkZGluZy1yaWdodDoyMnB4O3BhZGRpbmctbGVmdDowfS5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbiAubmctdGFnLWxhYmVse2ZvbnQtc2l6ZTo4MCU7Zm9udC13ZWlnaHQ6NDAwO3BhZGRpbmctcmlnaHQ6NXB4fVtkaXI9XCJydGxcIl0gLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uIC5uZy10YWctbGFiZWx7cGFkZGluZy1sZWZ0OjVweDtwYWRkaW5nLXJpZ2h0OjB9W2Rpcj1cInJ0bFwiXSAubmctZHJvcGRvd24tcGFuZWx7ZGlyZWN0aW9uOnJ0bDt0ZXh0LWFsaWduOnJpZ2h0fVxuIiwiLy8qICoqKioqKiogcmVzZXQgJiBub3JtYWxpemUgKioqKioqKiAgKi8vXHJcblxyXG4vLyBib3gtc2l6aW5nIHRoZSBzYW1lIGZvciBhbGwgZWxlbWVudHNcclxuaHRtbCB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcclxuICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcclxuICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgQGluY2x1ZGUgdW5TZWxlY3Q7XHJcbn1cclxuXHJcbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxyXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXHJcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcclxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcclxuYiwgdSwgaSwgY2VudGVyLFxyXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxyXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcclxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXHJcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxyXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXHJcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxyXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgZm9udC1zaXplOiAxMDAlO1xyXG4gICAgZm9udDogaW5oZXJpdDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxyXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICBsaW5lLWhlaWdodDogMTtcclxuICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcbm9sLCB1bCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcbmJsb2NrcXVvdGUsIHEge1xyXG4gICAgcXVvdGVzOiBub25lO1xyXG59XHJcbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLFxyXG5xOmJlZm9yZSwgcTphZnRlciB7XHJcbiAgICBjb250ZW50OiBub25lO1xyXG59XHJcblxyXG4vL3RhYmxlXHJcbnRhYmxlIHtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBib3JkZXItc3BhY2luZzogMDtcclxufVxyXG50ZCxcclxudGgge1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8vZm9ybXMgZWxlbWVudFxyXG5pbnB1dCB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgJjotd2Via2l0LWF1dG9maWxsIHtcclxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxMDAwcHggd2hpdGUgaW5zZXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxyXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXHJcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBvdXRsaW5lOiBub25lO1xyXG59XHJcbmJ1dHRvbltkaXNhYmxlZF0sXHJcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuaW5wdXQge1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbn1cclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbn1cclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG5cclxuLy9saW5rXHJcbmEge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHQmOmFjdGl2ZSxcclxuXHQmOmhvdmVyLFxyXG5cdCY6Zm9jdXMge1xyXG5cdFx0b3V0bGluZTogMDtcclxuXHR9XHJcbn1cclxuXHJcbmkgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cclxuYiwgc3Ryb25nIHsgZm9udC13ZWlnaHQ6IDcwMDsgICB9XHJcblxyXG4vLyBpbWFnZXNcclxuaW1nIHtcclxuXHR3aWR0aDogYXV0bztcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0Ym9yZGVyOiAwO1xyXG59XHJcblxyXG4uaGlkZGVuIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLmFwcC1jb250ZW50IHtcclxuXHJcbiAgLnByZWxvYWRlciB7XHJcblxyXG4gICAgLmxvYWRpbmctYmFyIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckZ1bGxCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5idXR0b24ge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIHBhZGRpbmc6IDAgMXJlbTtcclxuICBoZWlnaHQ6IDQuMnJlbTtcclxuXHJcbiAgJjpkaXNhYmxlZDpub3QoLnRyYW5zcGFyZW50LWJ1dHRvbikge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoZGlzYWJsZWRCdXR0b25CYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICBjb2xvcjogdGhlbWVkKGFsdGVybmF0aXZlVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChkaXNhYmxlZEJ1dHRvbkhvdmVyQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmJsdWUtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcclxuXHJcbiAgICAmLmVycm9yLXRleHQge1xyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKHJlZFRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVCdXR0b25CYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICBjb2xvcjogdGhlbWVkKGFsdGVybmF0aXZlVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlQnV0dG9uSG92ZXJDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuZ3JlZW4tYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGdyZWVuQnV0dG9uQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgY29sb3I6IHRoZW1lZChhbHRlcm5hdGl2ZVRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoZ3JlZW5CdXR0b25Ib3ZlckNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi50dXJxdW9pc2UtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHR1cnF1b2lzZUJ1dHRvbkJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQoYWx0ZXJuYXRpdmVUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHR1cnF1b2lzZUJ1dHRvbkhvdmVyQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnRyYW5zcGFyZW50LWJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyOiAwLjJyZW0gc29saWQgdGhlbWVkKHRyYW5zcGFyZW50QnV0dG9uQm9yZGVyQ29sb3IpO1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5pY29uIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gICAgICBtYXNrOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvY29tcGxldGUtdGVzdHdhbGxldC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgIHdpZHRoOiAxLjdyZW07XHJcbiAgICAgIGhlaWdodDogMS43cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5pbnB1dC1ibG9jayB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIG1hcmdpbi1ib3R0b206IDAuNHJlbTtcclxuXHJcbiAgLndyYXAtbGFiZWwge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBtaW4taGVpZ2h0OiAyLjRyZW07XHJcbiAgfVxyXG5cclxuICBsYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5wdXRbdHlwZT0ndGV4dCddLCBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCBzZWxlY3Qge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgcGFkZGluZzogMCAxcmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDQuMnJlbTtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGlucHV0QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYudGV4dGFyZWEge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG5cclxuICAgIHRleHRhcmVhIHtcclxuICAgICAgZm9udC1mYW1pbHk6IE9wZW5TYW5zLCBzYW5zLXNlcmlmO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDcuNXJlbTtcclxuICAgICAgbWF4LWhlaWdodDogNy41cmVtO1xyXG4gICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgcmVzaXplOiBub25lO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGlucHV0QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZXJyb3ItYmxvY2sge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNHJlbTtcclxuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQocmVkVGV4dENvbG9yKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5lcnJvci10ZXh0IHtcclxuICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgIGNvbG9yOiB0aGVtZWQocmVkVGV4dENvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW8ge1xyXG5cclxuICAmICsgbGFiZWwge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyLjRyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHVuU2VsZWN0O1xyXG4gIH1cclxuXHJcbiAgJjpub3QoY2hlY2tlZCkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgb3BhY2l0eTogMDtcclxuXHJcbiAgICAmICsgbGFiZWwge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgJiArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMC43cmVtO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB3aWR0aDogMS40cmVtO1xyXG4gICAgICBoZWlnaHQ6IDEuNHJlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkIHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYgKyBsYWJlbDphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMXJlbTtcclxuICAgICAgbGVmdDogMC4zcmVtO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHdpZHRoOiAwLjhyZW07XHJcbiAgICAgIGhlaWdodDogMC44cmVtO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOmNoZWNrZWQge1xyXG5cclxuICAgICYgKyBsYWJlbDphZnRlciB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94IHtcclxuXHJcbiAgJiArIGxhYmVsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIHBhZGRpbmctbGVmdDogMy42cmVtO1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB1blNlbGVjdDtcclxuICB9XHJcblxyXG4gICY6bm90KGNoZWNrZWQpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogMS42cmVtO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cclxuICAgICYgKyBsYWJlbCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAmICsgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDEuNnJlbTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgd2lkdGg6IDEuNHJlbTtcclxuICAgICAgaGVpZ2h0OiAxLjRyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6Y2hlY2tlZCB7XHJcblxyXG4gICAgJiArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9jb21wbGV0ZS10ZXN0d2FsbGV0LnN2Zyk7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zd2l0Y2gge1xyXG5cclxuICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChzd2l0Y2hCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gIH1cclxuXHJcbiAgLmNpcmNsZSB7XHJcblxyXG4gICAgJi5vbiB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm9mZiB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udGFibGUtdG9vbHRpcCB7XHJcbiAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgcGFkZGluZzogMXJlbSAycmVtO1xyXG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuXHJcbiAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcik7XHJcbiAgICBib3gtc2hhZG93OiB0aGVtZWQodG9vbHRpcFNoYWRvdyk7XHJcbiAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gIH1cclxuXHJcbiAgJi5uZy10b29sdGlwLXRvcCB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAtMnJlbTtcclxuICAgICAgbGVmdDogY2FsYyg1MCUgLSAxcmVtKTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAxcmVtO1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcikgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC10b3AtbGVmdCB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAtMXJlbTtcclxuICAgICAgbGVmdDogMC43cmVtO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDFyZW0gMXJlbSAwIDA7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5uZy10b29sdGlwLXRvcC1yaWdodCB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAtMXJlbTtcclxuICAgICAgcmlnaHQ6IDAuN3JlbTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW07XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKSB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcikgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1ib3R0b20ge1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAtMnJlbTtcclxuICAgICAgbGVmdDogY2FsYyg1MCUgLSAxcmVtKTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAxcmVtO1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcikgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1ib3R0b20tbGVmdCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IC0xcmVtO1xyXG4gICAgICBsZWZ0OiAwLjdyZW07XHJcbiAgICAgIGJvcmRlci13aWR0aDogMC41cmVtO1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcikgdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLm5nLXRvb2x0aXAtYm90dG9tLXJpZ2h0IHtcclxuICAgIG1hcmdpbi10b3A6IDFyZW07XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogLTFyZW07XHJcbiAgICAgIHJpZ2h0OiAwLjdyZW07XHJcbiAgICAgIGJvcmRlci13aWR0aDogMC41cmVtO1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcikgdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpIHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLm5nLXRvb2x0aXAtbGVmdCB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcmlnaHQ6IC0xcmVtO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDFyZW0gMXJlbSAwIDA7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5uZy10b29sdGlwLXJpZ2h0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IC0xcmVtO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDFyZW0gMCAwIDFyZW07XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJhbGFuY2UtdG9vbHRpcCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gIHBhZGRpbmc6IDEuM3JlbTtcclxuXHJcbiAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcik7XHJcbiAgICBib3gtc2hhZG93OiB0aGVtZWQodG9vbHRpcFNoYWRvdyk7XHJcbiAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gIH1cclxuXHJcbiAgJi5uZy10b29sdGlwLXRvcCB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1ib3R0b20ge1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1sZWZ0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1yaWdodCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICB9XHJcblxyXG4gIC5hdmFpbGFibGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS43cmVtO1xyXG5cclxuICAgIGIge1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxvY2tlZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07XHJcblxyXG4gICAgYiB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubGluayB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYWNjb3VudC10b29sdGlwIHtcclxuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gIG1heC13aWR0aDogMThyZW07XHJcbn1cclxuXHJcbi5uZ3gtY29udGV4dG1lbnUge1xyXG5cclxuICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY2hhcnRPcHRpb25zQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgYm94LXNoYWRvdzogdGhlbWVkKHRvb2x0aXBTaGFkb3cpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbGkge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogMC41ZW0gMWVtO1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGNoYXJ0T3B0aW9uc0hvdmVyQ29sb3IpO1xyXG4gICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5uZy1zZWxlY3Qge1xyXG5cclxuICAmLmxvY2stc2VsZWN0aW9uLXNlbGVjdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgcGFkZGluZzogMCAxcmVtO1xyXG4gICAgICBoZWlnaHQ6IDQuMnJlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChpbnB1dEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm5nLXZhbHVlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uZy1kcm9wZG93bi1wYW5lbCB7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChpbnB1dEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyB7XHJcblxyXG4gICAgICAgIC5uZy1vcHRpb24ge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoaW5wdXRCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYubmctb3B0aW9uLW1hcmtlZCB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoc2VsZWN0SG92ZXJDb2xvcik7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYubmctb3B0aW9uLXNlbGVjdGVkIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChzZWxlY3RTZWxlY3RlZENvbG9yKTtcclxuICAgICAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtbW9kYWwtY29udGFpbmVyIHtcclxuXHJcbiAgLm1vZGFsIHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZDogdGhlbWVkKG1vZGFsQmFja2dyb3VuZCk7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnQge1xyXG5cclxuICAgICAgLmljb24uZXJyb3Ige1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChyZWRUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmljb24uc3VjY2VzcyB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGdyZWVuVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pY29uLmluZm8ge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYWN0aW9uLWJ1dHRvbiB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChhbHRlcm5hdGl2ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuXHJcbiAgICAgIC5pY29uIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY2xvc2VCdXR0b25Db2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtdHJhbnNhY3Rpb24tZGV0YWlscyB7XHJcblxyXG4gIC50YWJsZSB7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJvcmRlci10b3A6IDAuMnJlbSBzb2xpZCB0aGVtZWQodHJhbnNwYXJlbnRCdXR0b25Cb3JkZXJDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLnJvdyB7XHJcblxyXG4gICAgICAuY2VsbCB7XHJcblxyXG4gICAgICAgICYubGFiZWwge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYudmFsdWUge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5rZXktdmFsdWUge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLXByb2dyZXNzLWNvbnRhaW5lciB7XHJcblxyXG4gIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAucHJvZ3Jlc3MtYmFyIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5wcm9ncmVzcy1iYXItZnVsbCB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHByb2dyZXNzQmFyRnVsbEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiR0aGVtZXM6IChcclxuICBkYXJrOiAoXHJcbiAgICBib2R5QmFja2dyb3VuZENvbG9yOiAjMTMxOTIxLFxyXG4gICAgc2lkZWJhckJhY2tncm91bmRDb2xvcjogcmdiYSgyMywgMzEsIDM5LCAwLjUpLFxyXG4gICAgc2lkZWJhckJvcmRlckNvbG9yOiAjMWYyODMzLFxyXG4gICAgb25saW5lQ29sb3I6ICM1Y2RhOWQsXHJcbiAgICBvZmZsaW5lQ29sb3I6ICNmZTUyNTIsXHJcbiAgICBjb250ZW50QmFja2dyb3VuZENvbG9yOiByZ2JhKDQzLCA1NCwgNjgsIDAuNSksXHJcbiAgICBtYWluVGV4dENvbG9yOiAjZTBlMGUwLFxyXG4gICAgYWx0ZXJuYXRpdmVUZXh0Q29sb3I6ICMxMTE5MjEsXHJcbiAgICBvcHRpb25hbFRleHRDb2xvcjogIzU1NjU3NixcclxuICAgIGJsdWVUZXh0Q29sb3I6ICM0ZGIxZmYsXHJcbiAgICBncmVlblRleHRDb2xvcjogIzVjZGE5ZCxcclxuICAgIHJlZFRleHRDb2xvcjogI2ZlNTI1MixcclxuICAgIGJsdWVCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM0ZGIxZmYsXHJcbiAgICBibHVlQnV0dG9uSG92ZXJDb2xvcjogIzYwYjlmZixcclxuICAgIGRpc2FibGVkQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjOTBhNGFlLFxyXG4gICAgZGlzYWJsZWRCdXR0b25Ib3ZlckNvbG9yOiAjOWJiMGJhLFxyXG4gICAgZ3JlZW5CdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM1Y2RhOWQsXHJcbiAgICBncmVlbkJ1dHRvbkhvdmVyQ29sb3I6ICM1Y2UyYTEsXHJcbiAgICB0dXJxdW9pc2VCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM0ZGQwZTEsXHJcbiAgICB0dXJxdW9pc2VCdXR0b25Ib3ZlckNvbG9yOiAjNTJkOWVhLFxyXG4gICAgdHJhbnNwYXJlbnRCdXR0b25Cb3JkZXJDb2xvcjogIzJiMzY0NCxcclxuICAgIGlucHV0QmFja2dyb3VuZENvbG9yOiAjMTcxZTI3LFxyXG4gICAgc2VsZWN0SG92ZXJDb2xvcjogcmdiYSg1OCwgNzIsIDkwLCAwLjUpLFxyXG4gICAgc2VsZWN0U2VsZWN0ZWRDb2xvcjogcmdiYSg0MywgNTQsIDY4LCAwLjUpLFxyXG4gICAgc3dpdGNoQmFja2dyb3VuZENvbG9yOiAjMDAwMDAwLFxyXG4gICAgYWNjb3VudEJhY2tncm91bmRDb2xvcjogcmdiYSg0MywgNTQsIDY4LCAwLjUpLFxyXG4gICAgYWNjb3VudEhvdmVyQmFja2dyb3VuZENvbG9yOiByZ2JhKDU4LCA3MiwgOTAsIDAuNSksXHJcbiAgICBhY2NvdW50TWFpblRleHRDb2xvcjogI2UwZTBlMCxcclxuICAgIGFjY291bnRPcHRpb25hbFRleHRDb2xvcjogIzU1NjU3NixcclxuICAgIGFjY291bnRJbmRpY2F0b3JUZXh0Q29sb3I6ICMxMTE5MjEsXHJcbiAgICBhY2NvdW50U3dpdGNoQmFja2dyb3VuZENvbG9yOiAjMDAwMDAwLFxyXG4gICAgYWNjb3VudEluZGljYXRvckJhY2tncm91bmRDb2xvcjogIzRkYjFmZixcclxuICAgIHRhYkluYWN0aXZlQmFja2dyb3VuZENvbG9yOiByZ2JhKDIzLCAzMSwgMzksIDAuNSksXHJcbiAgICB0YWJsZUJhY2tncm91bmRDb2xvcjogIzE4MjAyYSxcclxuICAgIG1lc3NhZ2VNeUJhY2tncm91bmRDb2xvcjogIzJhMzU0NCxcclxuICAgIG1lc3NhZ2VCdWRkeUJhY2tncm91bmRDb2xvcjogIzE4MjAyYSxcclxuICAgIHByb2dyZXNzQmFyQmFja2dyb3VuZENvbG9yOiAjMzQzZjRhLFxyXG4gICAgcHJvZ3Jlc3NCYXJGdWxsQmFja2dyb3VuZENvbG9yOiAjNWNkYTlkLFxyXG4gICAgY2hhcnRPcHRpb25zQmFja2dyb3VuZENvbG9yOiAjMmIzNjQ0LFxyXG4gICAgY2hhcnRPcHRpb25zSG92ZXJDb2xvcjogIzU1NjU3NixcclxuICAgIHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3I6ICM0MjUwNWYsXHJcbiAgICB0b29sdGlwU2hhZG93OiAwIDAgMXJlbSByZ2JhKDAsIDAsIDAsIDAuNSksXHJcbiAgICBtb2RhbEJhY2tncm91bmQ6IHVybCh+c3JjL2Fzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC1kYXJrLnBuZyksXHJcbiAgICBjbG9zZUJ1dHRvbkNvbG9yOiAjNTU2NTc2XHJcbiAgKSxcclxuICBncmF5OiAoXHJcbiAgICBib2R5QmFja2dyb3VuZENvbG9yOiAjMTAxNDE3LFxyXG4gICAgc2lkZWJhckJhY2tncm91bmRDb2xvcjogcmdiYSgyMywgMjUsIDI3LCAwLjUpLFxyXG4gICAgc2lkZWJhckJvcmRlckNvbG9yOiAjMmUzMzM3LFxyXG4gICAgb25saW5lQ29sb3I6ICM0N2NmOGQsXHJcbiAgICBvZmZsaW5lQ29sb3I6ICNmZjUyNTIsXHJcbiAgICBjb250ZW50QmFja2dyb3VuZENvbG9yOiByZ2JhKDM3LCA0MCwgNDMsIDAuNSksXHJcbiAgICBtYWluVGV4dENvbG9yOiAjZTBlMGUwLFxyXG4gICAgYWx0ZXJuYXRpdmVUZXh0Q29sb3I6ICMxYTFhMWEsXHJcbiAgICBvcHRpb25hbFRleHRDb2xvcjogIzU2NWM2MixcclxuICAgIGJsdWVUZXh0Q29sb3I6ICM0MmE1ZjUsXHJcbiAgICBncmVlblRleHRDb2xvcjogIzQ3Y2Y4ZCxcclxuICAgIHJlZFRleHRDb2xvcjogI2ZlNTI1MixcclxuICAgIGJsdWVCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM0MmE1ZjUsXHJcbiAgICBibHVlQnV0dG9uSG92ZXJDb2xvcjogIzRkYWZmZixcclxuICAgIGRpc2FibGVkQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjNzk4NDhmLFxyXG4gICAgZGlzYWJsZWRCdXR0b25Ib3ZlckNvbG9yOiAjODU5MDliLFxyXG4gICAgZ3JlZW5CdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM0N2NmOGQsXHJcbiAgICBncmVlbkJ1dHRvbkhvdmVyQ29sb3I6ICM0OWQ5OTMsXHJcbiAgICB0dXJxdW9pc2VCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICMzZWM1ZDcsXHJcbiAgICB0dXJxdW9pc2VCdXR0b25Ib3ZlckNvbG9yOiAjNDNjZWUwLFxyXG4gICAgdHJhbnNwYXJlbnRCdXR0b25Cb3JkZXJDb2xvcjogIzJmMzQzOCxcclxuICAgIGlucHV0QmFja2dyb3VuZENvbG9yOiAjMjkyZDMxLFxyXG4gICAgc2VsZWN0SG92ZXJDb2xvcjogcmdiYSg3MCwgNzYsIDgxLCAwLjUpLFxyXG4gICAgc2VsZWN0U2VsZWN0ZWRDb2xvcjogcmdiYSgzNywgNDAsIDQzLCAwLjUpLFxyXG4gICAgc3dpdGNoQmFja2dyb3VuZENvbG9yOiAjMDAwMDAwLFxyXG4gICAgYWNjb3VudEJhY2tncm91bmRDb2xvcjogcmdiYSgzNywgNDAsIDQzLCAwLjUpLFxyXG4gICAgYWNjb3VudEhvdmVyQmFja2dyb3VuZENvbG9yOiByZ2JhKDcwLCA3NiwgODEsIDAuNSksXHJcbiAgICBhY2NvdW50TWFpblRleHRDb2xvcjogI2UwZTBlMCxcclxuICAgIGFjY291bnRPcHRpb25hbFRleHRDb2xvcjogIzU2NWM2MixcclxuICAgIGFjY291bnRJbmRpY2F0b3JUZXh0Q29sb3I6ICMxYTFhMWEsXHJcbiAgICBhY2NvdW50U3dpdGNoQmFja2dyb3VuZENvbG9yOiAjMDAwMDAwLFxyXG4gICAgYWNjb3VudEluZGljYXRvckJhY2tncm91bmRDb2xvcjogIzQyYTVmNSxcclxuICAgIHRhYkluYWN0aXZlQmFja2dyb3VuZENvbG9yOiByZ2JhKDIzLCAyNSwgMjcsIDAuNSksXHJcbiAgICB0YWJsZUJhY2tncm91bmRDb2xvcjogIzI1MjkyZCxcclxuICAgIG1lc3NhZ2VNeUJhY2tncm91bmRDb2xvcjogIzMwMzYzYyxcclxuICAgIG1lc3NhZ2VCdWRkeUJhY2tncm91bmRDb2xvcjogIzI1MjkyZCxcclxuICAgIHByb2dyZXNzQmFyQmFja2dyb3VuZENvbG9yOiAjMzYzYTNlLFxyXG4gICAgcHJvZ3Jlc3NCYXJGdWxsQmFja2dyb3VuZENvbG9yOiAjNDdjZjhkLFxyXG4gICAgY2hhcnRPcHRpb25zQmFja2dyb3VuZENvbG9yOiAjMjkyZDMxLFxyXG4gICAgY2hhcnRPcHRpb25zSG92ZXJDb2xvcjogIzUxNTk2MCxcclxuICAgIHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3I6ICMzZTQ2NGMsXHJcbiAgICB0b29sdGlwU2hhZG93OiAwIDAgMXJlbSByZ2JhKDAsIDAsIDAsIDAuNSksXHJcbiAgICBtb2RhbEJhY2tncm91bmQ6IHVybCh+c3JjL2Fzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC1ncmF5LnBuZyksXHJcbiAgICBjbG9zZUJ1dHRvbkNvbG9yOiAjNTE1OTYwXHJcbiAgKSxcclxuICB3aGl0ZTogKFxyXG4gICAgYm9keUJhY2tncm91bmRDb2xvcjogI2VlZWVlZSxcclxuICAgIHNpZGViYXJCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSxcclxuICAgIHNpZGViYXJCb3JkZXJDb2xvcjogI2ViZWJlYixcclxuICAgIG9ubGluZUNvbG9yOiAjNDZjMTcyLFxyXG4gICAgb2ZmbGluZUNvbG9yOiAjZmY1MjUyLFxyXG4gICAgY29udGVudEJhY2tncm91bmRDb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpLFxyXG4gICAgbWFpblRleHRDb2xvcjogIzQzNDU0YixcclxuICAgIGFsdGVybmF0aXZlVGV4dENvbG9yOiAjZmVmZWZlLFxyXG4gICAgb3B0aW9uYWxUZXh0Q29sb3I6ICNhMGE1YWIsXHJcbiAgICBibHVlVGV4dENvbG9yOiAjMmM5NWYxLFxyXG4gICAgZ3JlZW5UZXh0Q29sb3I6ICM0NmMxNzIsXHJcbiAgICByZWRUZXh0Q29sb3I6ICNmZjUyNTIsXHJcbiAgICBibHVlQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjMmM5NWYxLFxyXG4gICAgYmx1ZUJ1dHRvbkhvdmVyQ29sb3I6ICMzNzlmZmEsXHJcbiAgICBkaXNhYmxlZEJ1dHRvbkJhY2tncm91bmRDb2xvcjogIzkwYTRhZSxcclxuICAgIGRpc2FibGVkQnV0dG9uSG92ZXJDb2xvcjogIzliYWViNyxcclxuICAgIGdyZWVuQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjNDZjMTcyLFxyXG4gICAgZ3JlZW5CdXR0b25Ib3ZlckNvbG9yOiAjNDZjYTc1LFxyXG4gICAgdHVycXVvaXNlQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjMjZiNmM3LFxyXG4gICAgdHVycXVvaXNlQnV0dG9uSG92ZXJDb2xvcjogIzJiYmRjZixcclxuICAgIHRyYW5zcGFyZW50QnV0dG9uQm9yZGVyQ29sb3I6ICNlYmViZWIsXHJcbiAgICBpbnB1dEJhY2tncm91bmRDb2xvcjogI2U2ZTZlNixcclxuICAgIHNlbGVjdEhvdmVyQ29sb3I6IHJnYmEoMjQwLCAyNDAsIDI0MCwgMC41KSxcclxuICAgIHNlbGVjdFNlbGVjdGVkQ29sb3I6IHJnYmEoMjI0LCAyMjQsIDIyNCwgMC41KSxcclxuICAgIHN3aXRjaEJhY2tncm91bmRDb2xvcjogI2UwZTBlMCxcclxuICAgIGFjY291bnRCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMzAsIDEzNiwgMjI5LCAxKSxcclxuICAgIGFjY291bnRIb3ZlckJhY2tncm91bmRDb2xvcjogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjUpLFxyXG4gICAgYWNjb3VudE1haW5UZXh0Q29sb3I6ICNmZmZmZmYsXHJcbiAgICBhY2NvdW50T3B0aW9uYWxUZXh0Q29sb3I6ICM5MWJhZjEsXHJcbiAgICBhY2NvdW50SW5kaWNhdG9yVGV4dENvbG9yOiAjNDM0NTRiLFxyXG4gICAgYWNjb3VudFN3aXRjaEJhY2tncm91bmRDb2xvcjogI2ZmZmZmZixcclxuICAgIGFjY291bnRJbmRpY2F0b3JCYWNrZ3JvdW5kQ29sb3I6ICNmZmZmZmYsXHJcbiAgICB0YWJJbmFjdGl2ZUJhY2tncm91bmRDb2xvcjogcmdiYSgyMjQsIDIyNCwgMjI0LCAwLjUpLFxyXG4gICAgdGFibGVCYWNrZ3JvdW5kQ29sb3I6ICNmZmZmZmYsXHJcbiAgICBtZXNzYWdlTXlCYWNrZ3JvdW5kQ29sb3I6ICNmZmYsXHJcbiAgICBtZXNzYWdlQnVkZHlCYWNrZ3JvdW5kQ29sb3I6ICNlZGVkZWQsXHJcbiAgICBwcm9ncmVzc0JhckJhY2tncm91bmRDb2xvcjogI2RjZGNkYyxcclxuICAgIHByb2dyZXNzQmFyRnVsbEJhY2tncm91bmRDb2xvcjogIzQ2YzE3MixcclxuICAgIGNoYXJ0T3B0aW9uc0JhY2tncm91bmRDb2xvcjogI2UwZTBlMCxcclxuICAgIGNoYXJ0T3B0aW9uc0hvdmVyQ29sb3I6ICNmZmZmZmYsXHJcbiAgICB0b29sdGlwQmFja2dyb3VuZENvbG9yOiAjZmZmZmZmLFxyXG4gICAgdG9vbHRpcFNoYWRvdzogMCAwIDFyZW0gcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjUpLFxyXG4gICAgbW9kYWxCYWNrZ3JvdW5kOiB1cmwofnNyYy9hc3NldHMvaW1hZ2VzL2JhY2tncm91bmQtd2hpdGUucG5nKSxcclxuICAgIGNsb3NlQnV0dG9uQ29sb3I6ICM0MzQ1NGJcclxuICApXHJcbik7XHJcblxyXG5cclxuXHJcblxyXG5cclxuIiwiYXBwLW1haW4sIGFwcC1jcmVhdGUtd2FsbGV0LCBhcHAtb3Blbi13YWxsZXQsIGFwcC1yZXN0b3JlLXdhbGxldCwgYXBwLXNlZWQtcGhyYXNlLCBhcHAtd2FsbGV0LWRldGFpbHMsIGFwcC1hc3NpZ24tYWxpYXMsIGFwcC1lZGl0LWFsaWFzLCBhcHAtdHJhbnNmZXItYWxpYXMsIGFwcC1zZXR0aW5ncywgYXBwLWxvZ2luIHtcclxuICBmbGV4OiAxIDEgYXV0bztcclxuICBwYWRkaW5nOiAzcmVtO1xyXG4gIG1pbi13aWR0aDogODVyZW07XHJcblxyXG4gIC5jb250ZW50IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDNyZW07XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY29udGVudEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWQge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1tYWluIHtcclxuXHJcbiAgLmNvbnRlbnQge1xyXG5cclxuICAgIC5hZGQtd2FsbGV0IHtcclxuXHJcbiAgICAgIC5hZGQtd2FsbGV0LWhlbHAge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1zZWVkLXBocmFzZSB7XHJcblxyXG4gIC5zZWVkLXBocmFzZS1jb250ZW50IHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGlucHV0QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLXdhbGxldC1kZXRhaWxzIHtcclxuXHJcbiAgLnNlZWQtcGhyYXNlIHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGlucHV0QmFja2dyb3VuZENvbG9yKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1zZXR0aW5ncyB7XHJcblxyXG4gIC5jb250ZW50IHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAudGhlbWUtc2VsZWN0aW9uIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNjYWxlLXNlbGVjdGlvbiB7XHJcblxyXG4gICAgICAuYnV0dG9uLWJsb2NrIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQodGFiSW5hY3RpdmVCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxhYmVsIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAubGFiZWwge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLWxvZ2luIHtcclxuICBtaW4td2lkdGg6IGluaGVyaXQ7XHJcbn1cclxuIiwiYXBwLXNpZGViYXIge1xyXG5cclxuICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChzaWRlYmFyQmFja2dyb3VuZENvbG9yKTtcclxuICB9XHJcblxyXG4gIC5zaWRlYmFyLWFjY291bnRzIHtcclxuXHJcbiAgICAuc2lkZWJhci1hY2NvdW50cy1oZWFkZXIge1xyXG5cclxuICAgICAgaDMge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBidXR0b24ge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGViYXItYWNjb3VudHMtbGlzdCB7XHJcblxyXG4gICAgICAuc2lkZWJhci1hY2NvdW50IHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2lkZWJhci1hY2NvdW50LXJvdyB7XHJcblxyXG4gICAgICAgICAgLnRleHQge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuaW5kaWNhdG9yIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlQnV0dG9uQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgICAgICBjb2xvcjogdGhlbWVkKGFsdGVybmF0aXZlVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcclxuXHJcbiAgICAgICAgICAgIC5wcm9ncmVzcy1iYXIge1xyXG5cclxuICAgICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAuZmlsbCB7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckZ1bGxCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYuYWNjb3VudC1zeW5jaHJvbml6YXRpb24ge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGFjY291bnRCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKGFjY291bnRNYWluVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuc2lkZWJhci1hY2NvdW50LXJvdyB7XHJcblxyXG4gICAgICAgICAgICAudGV4dCB7XHJcblxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChhY2NvdW50T3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmluZGljYXRvciB7XHJcblxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGFjY291bnRJbmRpY2F0b3JCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChhY2NvdW50SW5kaWNhdG9yVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zd2l0Y2gge1xyXG5cclxuICAgICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChhY2NvdW50U3dpdGNoQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmFjY291bnQtc3luY2hyb25pemF0aW9uIHtcclxuXHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWVkKGFjY291bnRPcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyOm5vdCguYWN0aXZlKSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChhY2NvdW50SG92ZXJCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpZGViYXItc2V0dGluZ3Mge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAwLjJyZW0gc29saWQgdGhlbWVkKHNpZGViYXJCb3JkZXJDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLndyYXAtYnV0dG9uIHtcclxuXHJcbiAgICAgIGJ1dHRvbiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pY29uIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5hY3RpdmUge1xyXG5cclxuICAgICAgICBidXR0b24ge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYWNjb3VudEJhY2tncm91bmRDb2xvcikhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKGFjY291bnRNYWluVGV4dENvbG9yKSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmljb24ge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGFjY291bnRJbmRpY2F0b3JCYWNrZ3JvdW5kQ29sb3IpIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpZGViYXItc3luY2hyb25pemF0aW9uLXN0YXR1cyB7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGF0dXMtY29udGFpbmVyIHtcclxuXHJcbiAgICAgIC5vZmZsaW5lOmJlZm9yZSB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKG9mZmxpbmVDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAub25saW5lOmJlZm9yZSB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKG9ubGluZUNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC50ZXN0bmV0IHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcclxuXHJcbiAgICAgIC5zeW5jaW5nIHtcclxuXHJcbiAgICAgICAgLnByb2dyZXNzLWJhciB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmZpbGwge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHByb2dyZXNzQmFyRnVsbEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5sb2FkaW5nIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQocHJvZ3Jlc3NCYXJGdWxsQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiYXBwLXdhbGxldCB7XHJcblxyXG4gIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICB9XHJcblxyXG4gIC5oZWFkZXIge1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hbGlhcyB7XHJcblxyXG4gICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFkZHJlc3Mge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5pY29uIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRhYnMge1xyXG5cclxuICAgIC50YWJzLWhlYWRlciB7XHJcblxyXG4gICAgICAudGFiIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQodGFiSW5hY3RpdmVCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmljb24ge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW5kaWNhdG9yIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGFjY291bnRJbmRpY2F0b3JCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKGFjY291bnRJbmRpY2F0b3JUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY29udGVudEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYnMtY29udGVudCB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY29udGVudEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1zZW5kIHtcclxuXHJcbiAgLmZvcm0tc2VuZCB7XHJcblxyXG4gICAgLmlucHV0LWJsb2NrLWFkZHJlc3Mge1xyXG5cclxuICAgICAgLmFkZHJlc3MtZHJvcGRvd24ge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChpbnB1dEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGRpdjpob3ZlciB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHNlbGVjdEhvdmVyQ29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zZW5kLXNlbGVjdCB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hZGRpdGlvbmFsLWRldGFpbHMge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyOiAwLjJyZW0gc29saWQgdGhlbWVkKHRyYW5zcGFyZW50QnV0dG9uQm9yZGVyQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtcmVjZWl2ZSB7XHJcblxyXG4gIC5idG4tY29weS1hZGRyZXNzIHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLWhpc3Rvcnkge1xyXG5cclxuICB0YWJsZSB7XHJcblxyXG4gICAgdGJvZHkge1xyXG5cclxuICAgICAgdHIge1xyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCg0bisxKSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZCh0YWJsZUJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCg0bisyKSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZCh0YWJsZUJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCg0biszKSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoNG4rNCkge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zdGF0dXMge1xyXG5cclxuICAgICAgICAgIC5jb25maXJtYXRpb24ge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHByb2dyZXNzQmFyQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmZpbGwge1xyXG5cclxuICAgICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckZ1bGxCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN0YXR1cy5zZW5kIHtcclxuXHJcbiAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjUyNTI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc3RhdHVzLnJlY2VpdmVkIHtcclxuXHJcbiAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGM4NTM7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtY29udHJhY3RzIHtcclxuXHJcbiAgLndyYXAtdGFibGUge1xyXG5cclxuICAgIC5jb250cmFjdCB7XHJcblxyXG4gICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgICYubmV3LCAmLmFsZXJ0IHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHJlZFRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnB1cmNoYXNlLCAmLnNlbGwge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtcHVyY2hhc2Uge1xyXG5cclxuICAuZm9ybS1wdXJjaGFzZSB7XHJcblxyXG4gICAgLnB1cmNoYXNlLXNlbGVjdCB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wdXJjaGFzZS1zdGF0ZXMge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hZGRpdGlvbmFsLWRldGFpbHMge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyOiAwLjJyZW0gc29saWQgdGhlbWVkKHRyYW5zcGFyZW50QnV0dG9uQm9yZGVyQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciB7XHJcblxyXG4gICAgLnByb2dyZXNzLWJhciB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQocHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAucHJvZ3Jlc3MtYmFyLWZ1bGwge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckZ1bGxCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLW1lc3NhZ2VzIHtcclxuXHJcbiAgdGFibGUge1xyXG5cclxuICAgIHRib2R5IHtcclxuXHJcbiAgICAgIHRyIHtcclxuXHJcbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQge1xyXG5cclxuICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5pY29uIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChyZWRUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtdHlwaW5nLW1lc3NhZ2Uge1xyXG5cclxuICAuaGVhZCB7XHJcblxyXG4gICAgLmludGVybG9jdXRvciB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubWVzc2FnZXMtY29udGVudCB7XHJcblxyXG4gICAgLm1lc3NhZ2VzLWxpc3Qge1xyXG5cclxuICAgICAgZGl2IHtcclxuXHJcbiAgICAgICAgJi5kYXRlIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm15IHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKG1lc3NhZ2VNeUJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0xLjFyZW07XHJcbiAgICAgICAgICAgIGJvcmRlcjogMS4ycmVtIHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdGhlbWVkKG1lc3NhZ2VNeUJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYnVkZHkge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQobWVzc2FnZUJ1ZGR5QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkbztcclxuICAgICAgICAgICAgcmlnaHQ6IC0xLjFyZW07XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxLjJyZW0gc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0aGVtZWQobWVzc2FnZUJ1ZGR5QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLXN0YWtpbmcge1xyXG5cclxuICAuY2hhcnQtaGVhZGVyIHtcclxuXHJcbiAgICAuZ2VuZXJhbCB7XHJcblxyXG4gICAgICAubGFiZWwge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLm9wdGlvbnMge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNlbGVjdGVkIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jaGFydC1vcHRpb25zIHtcclxuXHJcbiAgICAudGl0bGUge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAub3B0aW9ucyB7XHJcblxyXG4gICAgICBidXR0b24ge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY2hhcnRPcHRpb25zQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGNoYXJ0T3B0aW9uc0hvdmVyQ29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuaGVhZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gIHBhZGRpbmc6IDAgM3JlbTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDNyZW07XHJcblxyXG4gIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICB9XHJcblxyXG4gIC5icmVhZGNydW1icyB7XHJcblxyXG4gICAgPiBzcGFuLCBhIHtcclxuXHJcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgb3V0bGluZS1zdHlsZTogbm9uZTtcclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xyXG4gICAgICAgICAgdG9wOiAwLjVyZW07XHJcbiAgICAgICAgICByaWdodDogLTEuNXJlbTtcclxuICAgICAgICAgIHdpZHRoOiAwLjlyZW07XHJcbiAgICAgICAgICBoZWlnaHQ6IDAuOXJlbTtcclxuICAgICAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1yaWdodC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgICBtYXNrLXNpemU6IGNvdmVyO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYmFjay1idG4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGNvbG9yOiAjNGRiMWZmO1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjNyZW07XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjdyZW07XHJcbiAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9iYWNrLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDAuOXJlbTtcclxuICAgICAgaGVpZ2h0OiAwLjlyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnNjcm9sbGVkLWNvbnRlbnQge1xyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIHdpZHRoOiAxcmVtO1xyXG4gICAgaGVpZ2h0OiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2O1xyXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgIGJvcmRlcjogMC4yNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcclxuICB9XHJcblxyXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTY1NzY7XHJcbiAgfVxyXG59XHJcbiIsInRhYmxlIHtcclxuICBmb250LXNpemU6IDEuM3JlbTtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgdGhlYWQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgdHIge1xyXG4gICAgICBoZWlnaHQ6IDRyZW07XHJcblxyXG4gICAgICB0aCB7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdGJvZHkge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICB0ciB7XHJcbiAgICAgIGhlaWdodDogMy41cmVtO1xyXG5cclxuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHRhYmxlQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRkIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS43cmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gQkFTRVxyXG5AaW1wb3J0ICdhc3NldHMvc2Nzcy9iYXNlL21peGlucyc7XHJcbkBpbXBvcnQgJ2Fzc2V0cy9zY3NzL2Jhc2UvbnVsbCc7XHJcbkBpbXBvcnQgJ2Fzc2V0cy9zY3NzL2Jhc2UvdGhlbWUnO1xyXG5AaW1wb3J0ICdhc3NldHMvc2Nzcy9iYXNlL2Jhc2UnO1xyXG5cclxuLy8gTEFZT1VUXHJcbkBpbXBvcnQgJ2Fzc2V0cy9zY3NzL2xheW91dC9tYWluJztcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvbGF5b3V0L3NldHRpbmdzJztcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvbGF5b3V0L3NpZGViYXInO1xyXG5AaW1wb3J0ICdhc3NldHMvc2Nzcy9sYXlvdXQvd2FsbGV0JztcclxuXHJcbi8vIE1PRFVMRVNcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvbW9kdWxlcy9oZWFkJztcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvbW9kdWxlcy9zY3JvbGwnO1xyXG5AaW1wb3J0ICdhc3NldHMvc2Nzcy9tb2R1bGVzL3RhYmxlJztcclxuXHJcbkBpbXBvcnQgXCJ+QG5nLXNlbGVjdC9uZy1zZWxlY3QvdGhlbWVzL2RlZmF1bHQudGhlbWUuY3NzXCI7XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogT3BlblNhbnM7XHJcbiAgc3JjOiB1cmwofnNyYy9hc3NldHMvZm9udHMvT3BlblNhbnMtTGlnaHQudHRmKTtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogT3BlblNhbnM7XHJcbiAgc3JjOiB1cmwofnNyYy9hc3NldHMvZm9udHMvT3BlblNhbnMtUmVndWxhci50dGYpO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBPcGVuU2FucztcclxuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1TZW1pQm9sZC50dGYpO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBPcGVuU2FucztcclxuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1Cb2xkLnR0Zik7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xyXG4gIHNyYzogdXJsKH5zcmMvYXNzZXRzL2ZvbnRzL09wZW5TYW5zLUV4dHJhQm9sZC50dGYpO1xyXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbn1cclxuXHJcblxyXG5odG1sIHtcclxuICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG59XHJcblxyXG5ib2R5IHtcclxuICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgd2lkdGg6IDEwMHZ3O1xyXG4gIGhlaWdodDogMTAwdmg7XHJcblxyXG4gICYudGhlbWUtZGFyayB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMTMxOTIxIHVybChcImFzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC1kYXJrLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICB9XHJcblxyXG4gICYudGhlbWUtZ3JheSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMTAxNDE3IHVybChcImFzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC1ncmF5LnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICB9XHJcblxyXG4gICYudGhlbWUtd2hpdGUge1xyXG4gICAgYmFja2dyb3VuZDogI2VlZWVlZSB1cmwoXCJhc3NldHMvaW1hZ2VzL2JhY2tncm91bmQtd2hpdGUucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIH1cclxuXHJcbiAgYXBwLXJvb3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxufVxyXG4iXX0= */\", '', '']]","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target, parent) {\n if (parent){\n return parent.querySelector(target);\n }\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target, parent) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target, parent);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of \n \n\n could become:\n\n \n
\n \n
\n\n Note the use of @polyfill in the comment above a ShadowDOM specific style\n declaration. This is a directive to the styling shim to use the selector\n in comments in lieu of the next selector when running under polyfill.\n*/\nvar ShadowCss = /** @class */ (function () {\n function ShadowCss() {\n this.strictStyling = true;\n }\n /*\n * Shim some cssText with the given selector. Returns cssText that can\n * be included in the document via WebComponents.ShadowCSS.addCssToDocument(css).\n *\n * When strictStyling is true:\n * - selector is the attribute added to all elements inside the host,\n * - hostSelector is the attribute added to the host itself.\n */\n ShadowCss.prototype.shimCssText = function (cssText, selector, hostSelector) {\n if (hostSelector === void 0) { hostSelector = ''; }\n var commentsWithHash = extractCommentsWithHash(cssText);\n cssText = stripComments(cssText);\n cssText = this._insertDirectives(cssText);\n var scopedCssText = this._scopeCssText(cssText, selector, hostSelector);\n return __spread([scopedCssText], commentsWithHash).join('\\n');\n };\n ShadowCss.prototype._insertDirectives = function (cssText) {\n cssText = this._insertPolyfillDirectivesInCssText(cssText);\n return this._insertPolyfillRulesInCssText(cssText);\n };\n /*\n * Process styles to convert native ShadowDOM rules that will trip\n * up the css parser; we rely on decorating the stylesheet with inert rules.\n *\n * For example, we convert this rule:\n *\n * polyfill-next-selector { content: ':host menu-item'; }\n * ::content menu-item {\n *\n * to this:\n *\n * scopeName menu-item {\n *\n **/\n ShadowCss.prototype._insertPolyfillDirectivesInCssText = function (cssText) {\n // Difference with webcomponents.js: does not handle comments\n return cssText.replace(_cssContentNextSelectorRe, function () {\n var m = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n m[_i] = arguments[_i];\n }\n return m[2] + '{';\n });\n };\n /*\n * Process styles to add rules which will only apply under the polyfill\n *\n * For example, we convert this rule:\n *\n * polyfill-rule {\n * content: ':host menu-item';\n * ...\n * }\n *\n * to this:\n *\n * scopeName menu-item {...}\n *\n **/\n ShadowCss.prototype._insertPolyfillRulesInCssText = function (cssText) {\n // Difference with webcomponents.js: does not handle comments\n return cssText.replace(_cssContentRuleRe, function () {\n var m = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n m[_i] = arguments[_i];\n }\n var rule = m[0].replace(m[1], '').replace(m[2], '');\n return m[4] + rule;\n });\n };\n /* Ensure styles are scoped. Pseudo-scoping takes a rule like:\n *\n * .foo {... }\n *\n * and converts this to\n *\n * scopeName .foo { ... }\n */\n ShadowCss.prototype._scopeCssText = function (cssText, scopeSelector, hostSelector) {\n var unscopedRules = this._extractUnscopedRulesFromCssText(cssText);\n // replace :host and :host-context -shadowcsshost and -shadowcsshost respectively\n cssText = this._insertPolyfillHostInCssText(cssText);\n cssText = this._convertColonHost(cssText);\n cssText = this._convertColonHostContext(cssText);\n cssText = this._convertShadowDOMSelectors(cssText);\n if (scopeSelector) {\n cssText = this._scopeSelectors(cssText, scopeSelector, hostSelector);\n }\n cssText = cssText + '\\n' + unscopedRules;\n return cssText.trim();\n };\n /*\n * Process styles to add rules which will only apply under the polyfill\n * and do not process via CSSOM. (CSSOM is destructive to rules on rare\n * occasions, e.g. -webkit-calc on Safari.)\n * For example, we convert this rule:\n *\n * @polyfill-unscoped-rule {\n * content: 'menu-item';\n * ... }\n *\n * to this:\n *\n * menu-item {...}\n *\n **/\n ShadowCss.prototype._extractUnscopedRulesFromCssText = function (cssText) {\n // Difference with webcomponents.js: does not handle comments\n var r = '';\n var m;\n _cssContentUnscopedRuleRe.lastIndex = 0;\n while ((m = _cssContentUnscopedRuleRe.exec(cssText)) !== null) {\n var rule = m[0].replace(m[2], '').replace(m[1], m[4]);\n r += rule + '\\n\\n';\n }\n return r;\n };\n /*\n * convert a rule like :host(.foo) > .bar { }\n *\n * to\n *\n * .foo > .bar\n */\n ShadowCss.prototype._convertColonHost = function (cssText) {\n return this._convertColonRule(cssText, _cssColonHostRe, this._colonHostPartReplacer);\n };\n /*\n * convert a rule like :host-context(.foo) > .bar { }\n *\n * to\n *\n * .foo > .bar, .foo scopeName > .bar { }\n *\n * and\n *\n * :host-context(.foo:host) .bar { ... }\n *\n * to\n *\n * .foo .bar { ... }\n */\n ShadowCss.prototype._convertColonHostContext = function (cssText) {\n return this._convertColonRule(cssText, _cssColonHostContextRe, this._colonHostContextPartReplacer);\n };\n ShadowCss.prototype._convertColonRule = function (cssText, regExp, partReplacer) {\n // m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule\n return cssText.replace(regExp, function () {\n var m = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n m[_i] = arguments[_i];\n }\n if (m[2]) {\n var parts = m[2].split(',');\n var r = [];\n for (var i = 0; i < parts.length; i++) {\n var p = parts[i].trim();\n if (!p)\n break;\n r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));\n }\n return r.join(',');\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n };\n ShadowCss.prototype._colonHostContextPartReplacer = function (host, part, suffix) {\n if (part.indexOf(_polyfillHost) > -1) {\n return this._colonHostPartReplacer(host, part, suffix);\n }\n else {\n return host + part + suffix + ', ' + part + ' ' + host + suffix;\n }\n };\n ShadowCss.prototype._colonHostPartReplacer = function (host, part, suffix) {\n return host + part.replace(_polyfillHost, '') + suffix;\n };\n /*\n * Convert combinators like ::shadow and pseudo-elements like ::content\n * by replacing with space.\n */\n ShadowCss.prototype._convertShadowDOMSelectors = function (cssText) {\n return _shadowDOMSelectorsRe.reduce(function (result, pattern) { return result.replace(pattern, ' '); }, cssText);\n };\n // change a selector like 'div' to 'name div'\n ShadowCss.prototype._scopeSelectors = function (cssText, scopeSelector, hostSelector) {\n var _this = this;\n return processRules(cssText, function (rule) {\n var selector = rule.selector;\n var content = rule.content;\n if (rule.selector[0] != '@') {\n selector =\n _this._scopeSelector(rule.selector, scopeSelector, hostSelector, _this.strictStyling);\n }\n else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') ||\n rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {\n content = _this._scopeSelectors(rule.content, scopeSelector, hostSelector);\n }\n return new CssRule(selector, content);\n });\n };\n ShadowCss.prototype._scopeSelector = function (selector, scopeSelector, hostSelector, strict) {\n var _this = this;\n return selector.split(',')\n .map(function (part) { return part.trim().split(_shadowDeepSelectors); })\n .map(function (deepParts) {\n var _a = __read(deepParts), shallowPart = _a[0], otherParts = _a.slice(1);\n var applyScope = function (shallowPart) {\n if (_this._selectorNeedsScoping(shallowPart, scopeSelector)) {\n return strict ?\n _this._applyStrictSelectorScope(shallowPart, scopeSelector, hostSelector) :\n _this._applySelectorScope(shallowPart, scopeSelector, hostSelector);\n }\n else {\n return shallowPart;\n }\n };\n return __spread([applyScope(shallowPart)], otherParts).join(' ');\n })\n .join(', ');\n };\n ShadowCss.prototype._selectorNeedsScoping = function (selector, scopeSelector) {\n var re = this._makeScopeMatcher(scopeSelector);\n return !re.test(selector);\n };\n ShadowCss.prototype._makeScopeMatcher = function (scopeSelector) {\n var lre = /\\[/g;\n var rre = /\\]/g;\n scopeSelector = scopeSelector.replace(lre, '\\\\[').replace(rre, '\\\\]');\n return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');\n };\n ShadowCss.prototype._applySelectorScope = function (selector, scopeSelector, hostSelector) {\n // Difference from webcomponents.js: scopeSelector could not be an array\n return this._applySimpleSelectorScope(selector, scopeSelector, hostSelector);\n };\n // scope via name and [is=name]\n ShadowCss.prototype._applySimpleSelectorScope = function (selector, scopeSelector, hostSelector) {\n // In Android browser, the lastIndex is not reset when the regex is used in String.replace()\n _polyfillHostRe.lastIndex = 0;\n if (_polyfillHostRe.test(selector)) {\n var replaceBy_1 = this.strictStyling ? \"[\" + hostSelector + \"]\" : scopeSelector;\n return selector\n .replace(_polyfillHostNoCombinatorRe, function (hnc, selector) {\n return selector.replace(/([^:]*)(:*)(.*)/, function (_, before, colon, after) {\n return before + replaceBy_1 + colon + after;\n });\n })\n .replace(_polyfillHostRe, replaceBy_1 + ' ');\n }\n return scopeSelector + ' ' + selector;\n };\n // return a selector with [name] suffix on each simple selector\n // e.g. .foo.bar > .zot becomes .foo[name].bar[name] > .zot[name] /** @internal */\n ShadowCss.prototype._applyStrictSelectorScope = function (selector, scopeSelector, hostSelector) {\n var _this = this;\n var isRe = /\\[is=([^\\]]*)\\]/g;\n scopeSelector = scopeSelector.replace(isRe, function (_) {\n var parts = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n parts[_i - 1] = arguments[_i];\n }\n return parts[0];\n });\n var attrName = '[' + scopeSelector + ']';\n var _scopeSelectorPart = function (p) {\n var scopedP = p.trim();\n if (!scopedP) {\n return '';\n }\n if (p.indexOf(_polyfillHostNoCombinator) > -1) {\n scopedP = _this._applySimpleSelectorScope(p, scopeSelector, hostSelector);\n }\n else {\n // remove :host since it should be unnecessary\n var t = p.replace(_polyfillHostRe, '');\n if (t.length > 0) {\n var matches = t.match(/([^:]*)(:*)(.*)/);\n if (matches) {\n scopedP = matches[1] + attrName + matches[2] + matches[3];\n }\n }\n }\n return scopedP;\n };\n var safeContent = new SafeSelector(selector);\n selector = safeContent.content();\n var scopedSelector = '';\n var startIndex = 0;\n var res;\n var sep = /( |>|\\+|~(?!=))\\s*/g;\n // If a selector appears before :host it should not be shimmed as it\n // matches on ancestor elements and not on elements in the host's shadow\n // `:host-context(div)` is transformed to\n // `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`\n // the `div` is not part of the component in the 2nd selectors and should not be scoped.\n // Historically `component-tag:host` was matching the component so we also want to preserve\n // this behavior to avoid breaking legacy apps (it should not match).\n // The behavior should be:\n // - `tag:host` -> `tag[h]` (this is to avoid breaking legacy apps, should not match anything)\n // - `tag :host` -> `tag [h]` (`tag` is not scoped because it's considered part of a\n // `:host-context(tag)`)\n var hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;\n // Only scope parts after the first `-shadowcsshost-no-combinator` when it is present\n var shouldScope = !hasHost;\n while ((res = sep.exec(selector)) !== null) {\n var separator = res[1];\n var part_1 = selector.slice(startIndex, res.index).trim();\n shouldScope = shouldScope || part_1.indexOf(_polyfillHostNoCombinator) > -1;\n var scopedPart = shouldScope ? _scopeSelectorPart(part_1) : part_1;\n scopedSelector += scopedPart + \" \" + separator + \" \";\n startIndex = sep.lastIndex;\n }\n var part = selector.substring(startIndex);\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;\n // replace the placeholders with their original values\n return safeContent.restore(scopedSelector);\n };\n ShadowCss.prototype._insertPolyfillHostInCssText = function (selector) {\n return selector.replace(_colonHostContextRe, _polyfillHostContext)\n .replace(_colonHostRe, _polyfillHost);\n };\n return ShadowCss;\n}());\nvar SafeSelector = /** @class */ (function () {\n function SafeSelector(selector) {\n var _this = this;\n this.placeholders = [];\n this.index = 0;\n // Replaces attribute selectors with placeholders.\n // The WS in [attr=\"va lue\"] would otherwise be interpreted as a selector separator.\n selector = selector.replace(/(\\[[^\\]]*\\])/g, function (_, keep) {\n var replaceBy = \"__ph-\" + _this.index + \"__\";\n _this.placeholders.push(keep);\n _this.index++;\n return replaceBy;\n });\n // Replaces the expression in `:nth-child(2n + 1)` with a placeholder.\n // WS and \"+\" would otherwise be interpreted as selector separators.\n this._content = selector.replace(/(:nth-[-\\w]+)(\\([^)]+\\))/g, function (_, pseudo, exp) {\n var replaceBy = \"__ph-\" + _this.index + \"__\";\n _this.placeholders.push(exp);\n _this.index++;\n return pseudo + replaceBy;\n });\n }\n SafeSelector.prototype.restore = function (content) {\n var _this = this;\n return content.replace(/__ph-(\\d+)__/g, function (ph, index) { return _this.placeholders[+index]; });\n };\n SafeSelector.prototype.content = function () { return this._content; };\n return SafeSelector;\n}());\nvar _cssContentNextSelectorRe = /polyfill-next-selector[^}]*content:[\\s]*?(['\"])(.*?)\\1[;\\s]*}([^{]*?){/gim;\nvar _cssContentRuleRe = /(polyfill-rule)[^}]*(content:[\\s]*(['\"])(.*?)\\3)[;\\s]*[^}]*}/gim;\nvar _cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content:[\\s]*(['\"])(.*?)\\3)[;\\s]*[^}]*}/gim;\nvar _polyfillHost = '-shadowcsshost';\n// note: :host-context pre-processed to -shadowcsshostcontext.\nvar _polyfillHostContext = '-shadowcsscontext';\nvar _parenSuffix = ')(?:\\\\((' +\n '(?:\\\\([^)(]*\\\\)|[^)(]*)+?' +\n ')\\\\))?([^,{]*)';\nvar _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');\nvar _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');\nvar _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';\nvar _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\\s]*)/;\nvar _shadowDOMSelectorsRe = [\n /::shadow/g,\n /::content/g,\n // Deprecated selectors\n /\\/shadow-deep\\//g,\n /\\/shadow\\//g,\n];\n// The deep combinator is deprecated in the CSS spec\n// Support for `>>>`, `deep`, `::ng-deep` is then also deprecated and will be removed in the future.\n// see https://github.com/angular/angular/pull/17677\nvar _shadowDeepSelectors = /(?:>>>)|(?:\\/deep\\/)|(?:::ng-deep)/g;\nvar _selectorReSuffix = '([>\\\\s~+\\[.,{:][\\\\s\\\\S]*)?$';\nvar _polyfillHostRe = /-shadowcsshost/gim;\nvar _colonHostRe = /:host/gim;\nvar _colonHostContextRe = /:host-context/gim;\nvar _commentRe = /\\/\\*\\s*[\\s\\S]*?\\*\\//g;\nfunction stripComments(input) {\n return input.replace(_commentRe, '');\n}\nvar _commentWithHashRe = /\\/\\*\\s*#\\s*source(Mapping)?URL=[\\s\\S]+?\\*\\//g;\nfunction extractCommentsWithHash(input) {\n return input.match(_commentWithHashRe) || [];\n}\nvar _ruleRe = /(\\s*)([^;\\{\\}]+?)(\\s*)((?:{%BLOCK%}?\\s*;?)|(?:\\s*;))/g;\nvar _curlyRe = /([{}])/g;\nvar OPEN_CURLY = '{';\nvar CLOSE_CURLY = '}';\nvar BLOCK_PLACEHOLDER = '%BLOCK%';\nvar CssRule = /** @class */ (function () {\n function CssRule(selector, content) {\n this.selector = selector;\n this.content = content;\n }\n return CssRule;\n}());\nfunction processRules(input, ruleCallback) {\n var inputWithEscapedBlocks = escapeBlocks(input);\n var nextBlockIndex = 0;\n return inputWithEscapedBlocks.escapedString.replace(_ruleRe, function () {\n var m = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n m[_i] = arguments[_i];\n }\n var selector = m[2];\n var content = '';\n var suffix = m[4];\n var contentPrefix = '';\n if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {\n content = inputWithEscapedBlocks.blocks[nextBlockIndex++];\n suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);\n contentPrefix = '{';\n }\n var rule = ruleCallback(new CssRule(selector, content));\n return \"\" + m[1] + rule.selector + m[3] + contentPrefix + rule.content + suffix;\n });\n}\nvar StringWithEscapedBlocks = /** @class */ (function () {\n function StringWithEscapedBlocks(escapedString, blocks) {\n this.escapedString = escapedString;\n this.blocks = blocks;\n }\n return StringWithEscapedBlocks;\n}());\nfunction escapeBlocks(input) {\n var inputParts = input.split(_curlyRe);\n var resultParts = [];\n var escapedBlocks = [];\n var bracketCount = 0;\n var currentBlockParts = [];\n for (var partIndex = 0; partIndex < inputParts.length; partIndex++) {\n var part = inputParts[partIndex];\n if (part == CLOSE_CURLY) {\n bracketCount--;\n }\n if (bracketCount > 0) {\n currentBlockParts.push(part);\n }\n else {\n if (currentBlockParts.length > 0) {\n escapedBlocks.push(currentBlockParts.join(''));\n resultParts.push(BLOCK_PLACEHOLDER);\n currentBlockParts = [];\n }\n resultParts.push(part);\n }\n if (part == OPEN_CURLY) {\n bracketCount++;\n }\n }\n if (currentBlockParts.length > 0) {\n escapedBlocks.push(currentBlockParts.join(''));\n resultParts.push(BLOCK_PLACEHOLDER);\n }\n return new StringWithEscapedBlocks(resultParts.join(''), escapedBlocks);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar COMPONENT_VARIABLE = '%COMP%';\nvar HOST_ATTR = \"_nghost-\" + COMPONENT_VARIABLE;\nvar CONTENT_ATTR = \"_ngcontent-\" + COMPONENT_VARIABLE;\nvar StylesCompileDependency = /** @class */ (function () {\n function StylesCompileDependency(name, moduleUrl, setValue) {\n this.name = name;\n this.moduleUrl = moduleUrl;\n this.setValue = setValue;\n }\n return StylesCompileDependency;\n}());\nvar CompiledStylesheet = /** @class */ (function () {\n function CompiledStylesheet(outputCtx, stylesVar, dependencies, isShimmed, meta) {\n this.outputCtx = outputCtx;\n this.stylesVar = stylesVar;\n this.dependencies = dependencies;\n this.isShimmed = isShimmed;\n this.meta = meta;\n }\n return CompiledStylesheet;\n}());\nvar StyleCompiler = /** @class */ (function () {\n function StyleCompiler(_urlResolver) {\n this._urlResolver = _urlResolver;\n this._shadowCss = new ShadowCss();\n }\n StyleCompiler.prototype.compileComponent = function (outputCtx, comp) {\n var template = comp.template;\n return this._compileStyles(outputCtx, comp, new CompileStylesheetMetadata({\n styles: template.styles,\n styleUrls: template.styleUrls,\n moduleUrl: identifierModuleUrl(comp.type)\n }), this.needsStyleShim(comp), true);\n };\n StyleCompiler.prototype.compileStyles = function (outputCtx, comp, stylesheet, shim) {\n if (shim === void 0) { shim = this.needsStyleShim(comp); }\n return this._compileStyles(outputCtx, comp, stylesheet, shim, false);\n };\n StyleCompiler.prototype.needsStyleShim = function (comp) {\n return comp.template.encapsulation === ViewEncapsulation.Emulated;\n };\n StyleCompiler.prototype._compileStyles = function (outputCtx, comp, stylesheet, shim, isComponentStylesheet) {\n var _this = this;\n var styleExpressions = stylesheet.styles.map(function (plainStyle) { return literal(_this._shimIfNeeded(plainStyle, shim)); });\n var dependencies = [];\n stylesheet.styleUrls.forEach(function (styleUrl) {\n var exprIndex = styleExpressions.length;\n // Note: This placeholder will be filled later.\n styleExpressions.push(null);\n dependencies.push(new StylesCompileDependency(getStylesVarName(null), styleUrl, function (value) { return styleExpressions[exprIndex] = outputCtx.importExpr(value); }));\n });\n // styles variable contains plain strings and arrays of other styles arrays (recursive),\n // so we set its type to dynamic.\n var stylesVar = getStylesVarName(isComponentStylesheet ? comp : null);\n var stmt = variable(stylesVar)\n .set(literalArr(styleExpressions, new ArrayType(DYNAMIC_TYPE, [TypeModifier.Const])))\n .toDeclStmt(null, isComponentStylesheet ? [StmtModifier.Final] : [\n StmtModifier.Final, StmtModifier.Exported\n ]);\n outputCtx.statements.push(stmt);\n return new CompiledStylesheet(outputCtx, stylesVar, dependencies, shim, stylesheet);\n };\n StyleCompiler.prototype._shimIfNeeded = function (style, shim) {\n return shim ? this._shadowCss.shimCssText(style, CONTENT_ATTR, HOST_ATTR) : style;\n };\n return StyleCompiler;\n}());\nfunction getStylesVarName(component) {\n var result = \"styles\";\n if (component) {\n result += \"_\" + identifierName(component.type);\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar TokenType;\n(function (TokenType) {\n TokenType[TokenType[\"Character\"] = 0] = \"Character\";\n TokenType[TokenType[\"Identifier\"] = 1] = \"Identifier\";\n TokenType[TokenType[\"Keyword\"] = 2] = \"Keyword\";\n TokenType[TokenType[\"String\"] = 3] = \"String\";\n TokenType[TokenType[\"Operator\"] = 4] = \"Operator\";\n TokenType[TokenType[\"Number\"] = 5] = \"Number\";\n TokenType[TokenType[\"Error\"] = 6] = \"Error\";\n})(TokenType || (TokenType = {}));\nvar KEYWORDS = ['var', 'let', 'as', 'null', 'undefined', 'true', 'false', 'if', 'else', 'this'];\nvar Lexer = /** @class */ (function () {\n function Lexer() {\n }\n Lexer.prototype.tokenize = function (text) {\n var scanner = new _Scanner(text);\n var tokens = [];\n var token = scanner.scanToken();\n while (token != null) {\n tokens.push(token);\n token = scanner.scanToken();\n }\n return tokens;\n };\n return Lexer;\n}());\nvar Token = /** @class */ (function () {\n function Token(index, type, numValue, strValue) {\n this.index = index;\n this.type = type;\n this.numValue = numValue;\n this.strValue = strValue;\n }\n Token.prototype.isCharacter = function (code) {\n return this.type == TokenType.Character && this.numValue == code;\n };\n Token.prototype.isNumber = function () { return this.type == TokenType.Number; };\n Token.prototype.isString = function () { return this.type == TokenType.String; };\n Token.prototype.isOperator = function (operator) {\n return this.type == TokenType.Operator && this.strValue == operator;\n };\n Token.prototype.isIdentifier = function () { return this.type == TokenType.Identifier; };\n Token.prototype.isKeyword = function () { return this.type == TokenType.Keyword; };\n Token.prototype.isKeywordLet = function () { return this.type == TokenType.Keyword && this.strValue == 'let'; };\n Token.prototype.isKeywordAs = function () { return this.type == TokenType.Keyword && this.strValue == 'as'; };\n Token.prototype.isKeywordNull = function () { return this.type == TokenType.Keyword && this.strValue == 'null'; };\n Token.prototype.isKeywordUndefined = function () {\n return this.type == TokenType.Keyword && this.strValue == 'undefined';\n };\n Token.prototype.isKeywordTrue = function () { return this.type == TokenType.Keyword && this.strValue == 'true'; };\n Token.prototype.isKeywordFalse = function () { return this.type == TokenType.Keyword && this.strValue == 'false'; };\n Token.prototype.isKeywordThis = function () { return this.type == TokenType.Keyword && this.strValue == 'this'; };\n Token.prototype.isError = function () { return this.type == TokenType.Error; };\n Token.prototype.toNumber = function () { return this.type == TokenType.Number ? this.numValue : -1; };\n Token.prototype.toString = function () {\n switch (this.type) {\n case TokenType.Character:\n case TokenType.Identifier:\n case TokenType.Keyword:\n case TokenType.Operator:\n case TokenType.String:\n case TokenType.Error:\n return this.strValue;\n case TokenType.Number:\n return this.numValue.toString();\n default:\n return null;\n }\n };\n return Token;\n}());\nfunction newCharacterToken(index, code) {\n return new Token(index, TokenType.Character, code, String.fromCharCode(code));\n}\nfunction newIdentifierToken(index, text) {\n return new Token(index, TokenType.Identifier, 0, text);\n}\nfunction newKeywordToken(index, text) {\n return new Token(index, TokenType.Keyword, 0, text);\n}\nfunction newOperatorToken(index, text) {\n return new Token(index, TokenType.Operator, 0, text);\n}\nfunction newStringToken(index, text) {\n return new Token(index, TokenType.String, 0, text);\n}\nfunction newNumberToken(index, n) {\n return new Token(index, TokenType.Number, n, '');\n}\nfunction newErrorToken(index, message) {\n return new Token(index, TokenType.Error, 0, message);\n}\nvar EOF = new Token(-1, TokenType.Character, 0, '');\nvar _Scanner = /** @class */ (function () {\n function _Scanner(input) {\n this.input = input;\n this.peek = 0;\n this.index = -1;\n this.length = input.length;\n this.advance();\n }\n _Scanner.prototype.advance = function () {\n this.peek = ++this.index >= this.length ? $EOF : this.input.charCodeAt(this.index);\n };\n _Scanner.prototype.scanToken = function () {\n var input = this.input, length = this.length;\n var peek = this.peek, index = this.index;\n // Skip whitespace.\n while (peek <= $SPACE) {\n if (++index >= length) {\n peek = $EOF;\n break;\n }\n else {\n peek = input.charCodeAt(index);\n }\n }\n this.peek = peek;\n this.index = index;\n if (index >= length) {\n return null;\n }\n // Handle identifiers and numbers.\n if (isIdentifierStart(peek))\n return this.scanIdentifier();\n if (isDigit(peek))\n return this.scanNumber(index);\n var start = index;\n switch (peek) {\n case $PERIOD:\n this.advance();\n return isDigit(this.peek) ? this.scanNumber(start) :\n newCharacterToken(start, $PERIOD);\n case $LPAREN:\n case $RPAREN:\n case $LBRACE:\n case $RBRACE:\n case $LBRACKET:\n case $RBRACKET:\n case $COMMA:\n case $COLON:\n case $SEMICOLON:\n return this.scanCharacter(start, peek);\n case $SQ:\n case $DQ:\n return this.scanString();\n case $HASH:\n case $PLUS:\n case $MINUS:\n case $STAR:\n case $SLASH:\n case $PERCENT:\n case $CARET:\n return this.scanOperator(start, String.fromCharCode(peek));\n case $QUESTION:\n return this.scanComplexOperator(start, '?', $PERIOD, '.');\n case $LT:\n case $GT:\n return this.scanComplexOperator(start, String.fromCharCode(peek), $EQ, '=');\n case $BANG:\n case $EQ:\n return this.scanComplexOperator(start, String.fromCharCode(peek), $EQ, '=', $EQ, '=');\n case $AMPERSAND:\n return this.scanComplexOperator(start, '&', $AMPERSAND, '&');\n case $BAR:\n return this.scanComplexOperator(start, '|', $BAR, '|');\n case $NBSP:\n while (isWhitespace(this.peek))\n this.advance();\n return this.scanToken();\n }\n this.advance();\n return this.error(\"Unexpected character [\" + String.fromCharCode(peek) + \"]\", 0);\n };\n _Scanner.prototype.scanCharacter = function (start, code) {\n this.advance();\n return newCharacterToken(start, code);\n };\n _Scanner.prototype.scanOperator = function (start, str) {\n this.advance();\n return newOperatorToken(start, str);\n };\n /**\n * Tokenize a 2/3 char long operator\n *\n * @param start start index in the expression\n * @param one first symbol (always part of the operator)\n * @param twoCode code point for the second symbol\n * @param two second symbol (part of the operator when the second code point matches)\n * @param threeCode code point for the third symbol\n * @param three third symbol (part of the operator when provided and matches source expression)\n */\n _Scanner.prototype.scanComplexOperator = function (start, one, twoCode, two, threeCode, three) {\n this.advance();\n var str = one;\n if (this.peek == twoCode) {\n this.advance();\n str += two;\n }\n if (threeCode != null && this.peek == threeCode) {\n this.advance();\n str += three;\n }\n return newOperatorToken(start, str);\n };\n _Scanner.prototype.scanIdentifier = function () {\n var start = this.index;\n this.advance();\n while (isIdentifierPart(this.peek))\n this.advance();\n var str = this.input.substring(start, this.index);\n return KEYWORDS.indexOf(str) > -1 ? newKeywordToken(start, str) :\n newIdentifierToken(start, str);\n };\n _Scanner.prototype.scanNumber = function (start) {\n var simple = (this.index === start);\n this.advance(); // Skip initial digit.\n while (true) {\n if (isDigit(this.peek)) ;\n else if (this.peek == $PERIOD) {\n simple = false;\n }\n else if (isExponentStart(this.peek)) {\n this.advance();\n if (isExponentSign(this.peek))\n this.advance();\n if (!isDigit(this.peek))\n return this.error('Invalid exponent', -1);\n simple = false;\n }\n else {\n break;\n }\n this.advance();\n }\n var str = this.input.substring(start, this.index);\n var value = simple ? parseIntAutoRadix(str) : parseFloat(str);\n return newNumberToken(start, value);\n };\n _Scanner.prototype.scanString = function () {\n var start = this.index;\n var quote = this.peek;\n this.advance(); // Skip initial quote.\n var buffer = '';\n var marker = this.index;\n var input = this.input;\n while (this.peek != quote) {\n if (this.peek == $BACKSLASH) {\n buffer += input.substring(marker, this.index);\n this.advance();\n var unescapedCode = void 0;\n // Workaround for TS2.1-introduced type strictness\n this.peek = this.peek;\n if (this.peek == $u) {\n // 4 character hex code for unicode character.\n var hex = input.substring(this.index + 1, this.index + 5);\n if (/^[0-9a-f]+$/i.test(hex)) {\n unescapedCode = parseInt(hex, 16);\n }\n else {\n return this.error(\"Invalid unicode escape [\\\\u\" + hex + \"]\", 0);\n }\n for (var i = 0; i < 5; i++) {\n this.advance();\n }\n }\n else {\n unescapedCode = unescape(this.peek);\n this.advance();\n }\n buffer += String.fromCharCode(unescapedCode);\n marker = this.index;\n }\n else if (this.peek == $EOF) {\n return this.error('Unterminated quote', 0);\n }\n else {\n this.advance();\n }\n }\n var last = input.substring(marker, this.index);\n this.advance(); // Skip terminating quote.\n return newStringToken(start, buffer + last);\n };\n _Scanner.prototype.error = function (message, offset) {\n var position = this.index + offset;\n return newErrorToken(position, \"Lexer Error: \" + message + \" at column \" + position + \" in expression [\" + this.input + \"]\");\n };\n return _Scanner;\n}());\nfunction isIdentifierStart(code) {\n return ($a <= code && code <= $z) || ($A <= code && code <= $Z) ||\n (code == $_) || (code == $$);\n}\nfunction isIdentifier(input) {\n if (input.length == 0)\n return false;\n var scanner = new _Scanner(input);\n if (!isIdentifierStart(scanner.peek))\n return false;\n scanner.advance();\n while (scanner.peek !== $EOF) {\n if (!isIdentifierPart(scanner.peek))\n return false;\n scanner.advance();\n }\n return true;\n}\nfunction isIdentifierPart(code) {\n return isAsciiLetter(code) || isDigit(code) || (code == $_) ||\n (code == $$);\n}\nfunction isExponentStart(code) {\n return code == $e || code == $E;\n}\nfunction isExponentSign(code) {\n return code == $MINUS || code == $PLUS;\n}\nfunction isQuote(code) {\n return code === $SQ || code === $DQ || code === $BT;\n}\nfunction unescape(code) {\n switch (code) {\n case $n:\n return $LF;\n case $f:\n return $FF;\n case $r:\n return $CR;\n case $t:\n return $TAB;\n case $v:\n return $VTAB;\n default:\n return code;\n }\n}\nfunction parseIntAutoRadix(text) {\n var result = parseInt(text);\n if (isNaN(result)) {\n throw new Error('Invalid integer literal when parsing ' + text);\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction assertArrayOfStrings(identifier, value) {\n if (value == null) {\n return;\n }\n if (!Array.isArray(value)) {\n throw new Error(\"Expected '\" + identifier + \"' to be an array of strings.\");\n }\n for (var i = 0; i < value.length; i += 1) {\n if (typeof value[i] !== 'string') {\n throw new Error(\"Expected '\" + identifier + \"' to be an array of strings.\");\n }\n }\n}\nvar INTERPOLATION_BLACKLIST_REGEXPS = [\n /^\\s*$/,\n /[<>]/,\n /^[{}]$/,\n /&(#|[a-z])/i,\n /^\\/\\//,\n];\nfunction assertInterpolationSymbols(identifier, value) {\n if (value != null && !(Array.isArray(value) && value.length == 2)) {\n throw new Error(\"Expected '\" + identifier + \"' to be an array, [start, end].\");\n }\n else if (value != null) {\n var start_1 = value[0];\n var end_1 = value[1];\n // black list checking\n INTERPOLATION_BLACKLIST_REGEXPS.forEach(function (regexp) {\n if (regexp.test(start_1) || regexp.test(end_1)) {\n throw new Error(\"['\" + start_1 + \"', '\" + end_1 + \"'] contains unusable interpolation symbol.\");\n }\n });\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar InterpolationConfig = /** @class */ (function () {\n function InterpolationConfig(start, end) {\n this.start = start;\n this.end = end;\n }\n InterpolationConfig.fromArray = function (markers) {\n if (!markers) {\n return DEFAULT_INTERPOLATION_CONFIG;\n }\n assertInterpolationSymbols('interpolation', markers);\n return new InterpolationConfig(markers[0], markers[1]);\n };\n return InterpolationConfig;\n}());\nvar DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig('{{', '}}');\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar SplitInterpolation = /** @class */ (function () {\n function SplitInterpolation(strings, expressions, offsets) {\n this.strings = strings;\n this.expressions = expressions;\n this.offsets = offsets;\n }\n return SplitInterpolation;\n}());\nvar TemplateBindingParseResult = /** @class */ (function () {\n function TemplateBindingParseResult(templateBindings, warnings, errors) {\n this.templateBindings = templateBindings;\n this.warnings = warnings;\n this.errors = errors;\n }\n return TemplateBindingParseResult;\n}());\nfunction _createInterpolateRegExp(config) {\n var pattern = escapeRegExp(config.start) + '([\\\\s\\\\S]*?)' + escapeRegExp(config.end);\n return new RegExp(pattern, 'g');\n}\nvar Parser = /** @class */ (function () {\n function Parser(_lexer) {\n this._lexer = _lexer;\n this.errors = [];\n }\n Parser.prototype.parseAction = function (input, location, interpolationConfig) {\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n this._checkNoInterpolation(input, location, interpolationConfig);\n var sourceToLex = this._stripComments(input);\n var tokens = this._lexer.tokenize(this._stripComments(input));\n var ast = new _ParseAST(input, location, tokens, sourceToLex.length, true, this.errors, input.length - sourceToLex.length)\n .parseChain();\n return new ASTWithSource(ast, input, location, this.errors);\n };\n Parser.prototype.parseBinding = function (input, location, interpolationConfig) {\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n var ast = this._parseBindingAst(input, location, interpolationConfig);\n return new ASTWithSource(ast, input, location, this.errors);\n };\n Parser.prototype.parseSimpleBinding = function (input, location, interpolationConfig) {\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n var ast = this._parseBindingAst(input, location, interpolationConfig);\n var errors = SimpleExpressionChecker.check(ast);\n if (errors.length > 0) {\n this._reportError(\"Host binding expression cannot contain \" + errors.join(' '), input, location);\n }\n return new ASTWithSource(ast, input, location, this.errors);\n };\n Parser.prototype._reportError = function (message, input, errLocation, ctxLocation) {\n this.errors.push(new ParserError(message, input, errLocation, ctxLocation));\n };\n Parser.prototype._parseBindingAst = function (input, location, interpolationConfig) {\n // Quotes expressions use 3rd-party expression language. We don't want to use\n // our lexer or parser for that, so we check for that ahead of time.\n var quote = this._parseQuote(input, location);\n if (quote != null) {\n return quote;\n }\n this._checkNoInterpolation(input, location, interpolationConfig);\n var sourceToLex = this._stripComments(input);\n var tokens = this._lexer.tokenize(sourceToLex);\n return new _ParseAST(input, location, tokens, sourceToLex.length, false, this.errors, input.length - sourceToLex.length)\n .parseChain();\n };\n Parser.prototype._parseQuote = function (input, location) {\n if (input == null)\n return null;\n var prefixSeparatorIndex = input.indexOf(':');\n if (prefixSeparatorIndex == -1)\n return null;\n var prefix = input.substring(0, prefixSeparatorIndex).trim();\n if (!isIdentifier(prefix))\n return null;\n var uninterpretedExpression = input.substring(prefixSeparatorIndex + 1);\n return new Quote(new ParseSpan(0, input.length), prefix, uninterpretedExpression, location);\n };\n Parser.prototype.parseTemplateBindings = function (tplKey, tplValue, location) {\n var tokens = this._lexer.tokenize(tplValue);\n return new _ParseAST(tplValue, location, tokens, tplValue.length, false, this.errors, 0)\n .parseTemplateBindings(tplKey);\n };\n Parser.prototype.parseInterpolation = function (input, location, interpolationConfig) {\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n var split = this.splitInterpolation(input, location, interpolationConfig);\n if (split == null)\n return null;\n var expressions = [];\n for (var i = 0; i < split.expressions.length; ++i) {\n var expressionText = split.expressions[i];\n var sourceToLex = this._stripComments(expressionText);\n var tokens = this._lexer.tokenize(sourceToLex);\n var ast = new _ParseAST(input, location, tokens, sourceToLex.length, false, this.errors, split.offsets[i] + (expressionText.length - sourceToLex.length))\n .parseChain();\n expressions.push(ast);\n }\n return new ASTWithSource(new Interpolation(new ParseSpan(0, input == null ? 0 : input.length), split.strings, expressions), input, location, this.errors);\n };\n Parser.prototype.splitInterpolation = function (input, location, interpolationConfig) {\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n var regexp = _createInterpolateRegExp(interpolationConfig);\n var parts = input.split(regexp);\n if (parts.length <= 1) {\n return null;\n }\n var strings = [];\n var expressions = [];\n var offsets = [];\n var offset = 0;\n for (var i = 0; i < parts.length; i++) {\n var part = parts[i];\n if (i % 2 === 0) {\n // fixed string\n strings.push(part);\n offset += part.length;\n }\n else if (part.trim().length > 0) {\n offset += interpolationConfig.start.length;\n expressions.push(part);\n offsets.push(offset);\n offset += part.length + interpolationConfig.end.length;\n }\n else {\n this._reportError('Blank expressions are not allowed in interpolated strings', input, \"at column \" + this._findInterpolationErrorColumn(parts, i, interpolationConfig) + \" in\", location);\n expressions.push('$implict');\n offsets.push(offset);\n }\n }\n return new SplitInterpolation(strings, expressions, offsets);\n };\n Parser.prototype.wrapLiteralPrimitive = function (input, location) {\n return new ASTWithSource(new LiteralPrimitive(new ParseSpan(0, input == null ? 0 : input.length), input), input, location, this.errors);\n };\n Parser.prototype._stripComments = function (input) {\n var i = this._commentStart(input);\n return i != null ? input.substring(0, i).trim() : input;\n };\n Parser.prototype._commentStart = function (input) {\n var outerQuote = null;\n for (var i = 0; i < input.length - 1; i++) {\n var char = input.charCodeAt(i);\n var nextChar = input.charCodeAt(i + 1);\n if (char === $SLASH && nextChar == $SLASH && outerQuote == null)\n return i;\n if (outerQuote === char) {\n outerQuote = null;\n }\n else if (outerQuote == null && isQuote(char)) {\n outerQuote = char;\n }\n }\n return null;\n };\n Parser.prototype._checkNoInterpolation = function (input, location, interpolationConfig) {\n var regexp = _createInterpolateRegExp(interpolationConfig);\n var parts = input.split(regexp);\n if (parts.length > 1) {\n this._reportError(\"Got interpolation (\" + interpolationConfig.start + interpolationConfig.end + \") where expression was expected\", input, \"at column \" + this._findInterpolationErrorColumn(parts, 1, interpolationConfig) + \" in\", location);\n }\n };\n Parser.prototype._findInterpolationErrorColumn = function (parts, partInErrIdx, interpolationConfig) {\n var errLocation = '';\n for (var j = 0; j < partInErrIdx; j++) {\n errLocation += j % 2 === 0 ?\n parts[j] :\n \"\" + interpolationConfig.start + parts[j] + interpolationConfig.end;\n }\n return errLocation.length;\n };\n return Parser;\n}());\nvar _ParseAST = /** @class */ (function () {\n function _ParseAST(input, location, tokens, inputLength, parseAction, errors, offset) {\n this.input = input;\n this.location = location;\n this.tokens = tokens;\n this.inputLength = inputLength;\n this.parseAction = parseAction;\n this.errors = errors;\n this.offset = offset;\n this.rparensExpected = 0;\n this.rbracketsExpected = 0;\n this.rbracesExpected = 0;\n this.index = 0;\n }\n _ParseAST.prototype.peek = function (offset) {\n var i = this.index + offset;\n return i < this.tokens.length ? this.tokens[i] : EOF;\n };\n Object.defineProperty(_ParseAST.prototype, \"next\", {\n get: function () { return this.peek(0); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(_ParseAST.prototype, \"inputIndex\", {\n get: function () {\n return (this.index < this.tokens.length) ? this.next.index + this.offset :\n this.inputLength + this.offset;\n },\n enumerable: true,\n configurable: true\n });\n _ParseAST.prototype.span = function (start) { return new ParseSpan(start, this.inputIndex); };\n _ParseAST.prototype.advance = function () { this.index++; };\n _ParseAST.prototype.optionalCharacter = function (code) {\n if (this.next.isCharacter(code)) {\n this.advance();\n return true;\n }\n else {\n return false;\n }\n };\n _ParseAST.prototype.peekKeywordLet = function () { return this.next.isKeywordLet(); };\n _ParseAST.prototype.peekKeywordAs = function () { return this.next.isKeywordAs(); };\n _ParseAST.prototype.expectCharacter = function (code) {\n if (this.optionalCharacter(code))\n return;\n this.error(\"Missing expected \" + String.fromCharCode(code));\n };\n _ParseAST.prototype.optionalOperator = function (op) {\n if (this.next.isOperator(op)) {\n this.advance();\n return true;\n }\n else {\n return false;\n }\n };\n _ParseAST.prototype.expectOperator = function (operator) {\n if (this.optionalOperator(operator))\n return;\n this.error(\"Missing expected operator \" + operator);\n };\n _ParseAST.prototype.expectIdentifierOrKeyword = function () {\n var n = this.next;\n if (!n.isIdentifier() && !n.isKeyword()) {\n this.error(\"Unexpected token \" + n + \", expected identifier or keyword\");\n return '';\n }\n this.advance();\n return n.toString();\n };\n _ParseAST.prototype.expectIdentifierOrKeywordOrString = function () {\n var n = this.next;\n if (!n.isIdentifier() && !n.isKeyword() && !n.isString()) {\n this.error(\"Unexpected token \" + n + \", expected identifier, keyword, or string\");\n return '';\n }\n this.advance();\n return n.toString();\n };\n _ParseAST.prototype.parseChain = function () {\n var exprs = [];\n var start = this.inputIndex;\n while (this.index < this.tokens.length) {\n var expr = this.parsePipe();\n exprs.push(expr);\n if (this.optionalCharacter($SEMICOLON)) {\n if (!this.parseAction) {\n this.error('Binding expression cannot contain chained expression');\n }\n while (this.optionalCharacter($SEMICOLON)) {\n } // read all semicolons\n }\n else if (this.index < this.tokens.length) {\n this.error(\"Unexpected token '\" + this.next + \"'\");\n }\n }\n if (exprs.length == 0)\n return new EmptyExpr(this.span(start));\n if (exprs.length == 1)\n return exprs[0];\n return new Chain(this.span(start), exprs);\n };\n _ParseAST.prototype.parsePipe = function () {\n var result = this.parseExpression();\n if (this.optionalOperator('|')) {\n if (this.parseAction) {\n this.error('Cannot have a pipe in an action expression');\n }\n do {\n var name_1 = this.expectIdentifierOrKeyword();\n var args = [];\n while (this.optionalCharacter($COLON)) {\n args.push(this.parseExpression());\n }\n result = new BindingPipe(this.span(result.span.start), result, name_1, args);\n } while (this.optionalOperator('|'));\n }\n return result;\n };\n _ParseAST.prototype.parseExpression = function () { return this.parseConditional(); };\n _ParseAST.prototype.parseConditional = function () {\n var start = this.inputIndex;\n var result = this.parseLogicalOr();\n if (this.optionalOperator('?')) {\n var yes = this.parsePipe();\n var no = void 0;\n if (!this.optionalCharacter($COLON)) {\n var end = this.inputIndex;\n var expression = this.input.substring(start, end);\n this.error(\"Conditional expression \" + expression + \" requires all 3 expressions\");\n no = new EmptyExpr(this.span(start));\n }\n else {\n no = this.parsePipe();\n }\n return new Conditional(this.span(start), result, yes, no);\n }\n else {\n return result;\n }\n };\n _ParseAST.prototype.parseLogicalOr = function () {\n // '||'\n var result = this.parseLogicalAnd();\n while (this.optionalOperator('||')) {\n var right = this.parseLogicalAnd();\n result = new Binary(this.span(result.span.start), '||', result, right);\n }\n return result;\n };\n _ParseAST.prototype.parseLogicalAnd = function () {\n // '&&'\n var result = this.parseEquality();\n while (this.optionalOperator('&&')) {\n var right = this.parseEquality();\n result = new Binary(this.span(result.span.start), '&&', result, right);\n }\n return result;\n };\n _ParseAST.prototype.parseEquality = function () {\n // '==','!=','===','!=='\n var result = this.parseRelational();\n while (this.next.type == TokenType.Operator) {\n var operator = this.next.strValue;\n switch (operator) {\n case '==':\n case '===':\n case '!=':\n case '!==':\n this.advance();\n var right = this.parseRelational();\n result = new Binary(this.span(result.span.start), operator, result, right);\n continue;\n }\n break;\n }\n return result;\n };\n _ParseAST.prototype.parseRelational = function () {\n // '<', '>', '<=', '>='\n var result = this.parseAdditive();\n while (this.next.type == TokenType.Operator) {\n var operator = this.next.strValue;\n switch (operator) {\n case '<':\n case '>':\n case '<=':\n case '>=':\n this.advance();\n var right = this.parseAdditive();\n result = new Binary(this.span(result.span.start), operator, result, right);\n continue;\n }\n break;\n }\n return result;\n };\n _ParseAST.prototype.parseAdditive = function () {\n // '+', '-'\n var result = this.parseMultiplicative();\n while (this.next.type == TokenType.Operator) {\n var operator = this.next.strValue;\n switch (operator) {\n case '+':\n case '-':\n this.advance();\n var right = this.parseMultiplicative();\n result = new Binary(this.span(result.span.start), operator, result, right);\n continue;\n }\n break;\n }\n return result;\n };\n _ParseAST.prototype.parseMultiplicative = function () {\n // '*', '%', '/'\n var result = this.parsePrefix();\n while (this.next.type == TokenType.Operator) {\n var operator = this.next.strValue;\n switch (operator) {\n case '*':\n case '%':\n case '/':\n this.advance();\n var right = this.parsePrefix();\n result = new Binary(this.span(result.span.start), operator, result, right);\n continue;\n }\n break;\n }\n return result;\n };\n _ParseAST.prototype.parsePrefix = function () {\n if (this.next.type == TokenType.Operator) {\n var start = this.inputIndex;\n var operator = this.next.strValue;\n var result = void 0;\n switch (operator) {\n case '+':\n this.advance();\n result = this.parsePrefix();\n return new Binary(this.span(start), '-', result, new LiteralPrimitive(new ParseSpan(start, start), 0));\n case '-':\n this.advance();\n result = this.parsePrefix();\n return new Binary(this.span(start), operator, new LiteralPrimitive(new ParseSpan(start, start), 0), result);\n case '!':\n this.advance();\n result = this.parsePrefix();\n return new PrefixNot(this.span(start), result);\n }\n }\n return this.parseCallChain();\n };\n _ParseAST.prototype.parseCallChain = function () {\n var result = this.parsePrimary();\n while (true) {\n if (this.optionalCharacter($PERIOD)) {\n result = this.parseAccessMemberOrMethodCall(result, false);\n }\n else if (this.optionalOperator('?.')) {\n result = this.parseAccessMemberOrMethodCall(result, true);\n }\n else if (this.optionalCharacter($LBRACKET)) {\n this.rbracketsExpected++;\n var key = this.parsePipe();\n this.rbracketsExpected--;\n this.expectCharacter($RBRACKET);\n if (this.optionalOperator('=')) {\n var value = this.parseConditional();\n result = new KeyedWrite(this.span(result.span.start), result, key, value);\n }\n else {\n result = new KeyedRead(this.span(result.span.start), result, key);\n }\n }\n else if (this.optionalCharacter($LPAREN)) {\n this.rparensExpected++;\n var args = this.parseCallArguments();\n this.rparensExpected--;\n this.expectCharacter($RPAREN);\n result = new FunctionCall(this.span(result.span.start), result, args);\n }\n else if (this.optionalOperator('!')) {\n result = new NonNullAssert(this.span(result.span.start), result);\n }\n else {\n return result;\n }\n }\n };\n _ParseAST.prototype.parsePrimary = function () {\n var start = this.inputIndex;\n if (this.optionalCharacter($LPAREN)) {\n this.rparensExpected++;\n var result = this.parsePipe();\n this.rparensExpected--;\n this.expectCharacter($RPAREN);\n return result;\n }\n else if (this.next.isKeywordNull()) {\n this.advance();\n return new LiteralPrimitive(this.span(start), null);\n }\n else if (this.next.isKeywordUndefined()) {\n this.advance();\n return new LiteralPrimitive(this.span(start), void 0);\n }\n else if (this.next.isKeywordTrue()) {\n this.advance();\n return new LiteralPrimitive(this.span(start), true);\n }\n else if (this.next.isKeywordFalse()) {\n this.advance();\n return new LiteralPrimitive(this.span(start), false);\n }\n else if (this.next.isKeywordThis()) {\n this.advance();\n return new ImplicitReceiver(this.span(start));\n }\n else if (this.optionalCharacter($LBRACKET)) {\n this.rbracketsExpected++;\n var elements = this.parseExpressionList($RBRACKET);\n this.rbracketsExpected--;\n this.expectCharacter($RBRACKET);\n return new LiteralArray(this.span(start), elements);\n }\n else if (this.next.isCharacter($LBRACE)) {\n return this.parseLiteralMap();\n }\n else if (this.next.isIdentifier()) {\n return this.parseAccessMemberOrMethodCall(new ImplicitReceiver(this.span(start)), false);\n }\n else if (this.next.isNumber()) {\n var value = this.next.toNumber();\n this.advance();\n return new LiteralPrimitive(this.span(start), value);\n }\n else if (this.next.isString()) {\n var literalValue = this.next.toString();\n this.advance();\n return new LiteralPrimitive(this.span(start), literalValue);\n }\n else if (this.index >= this.tokens.length) {\n this.error(\"Unexpected end of expression: \" + this.input);\n return new EmptyExpr(this.span(start));\n }\n else {\n this.error(\"Unexpected token \" + this.next);\n return new EmptyExpr(this.span(start));\n }\n };\n _ParseAST.prototype.parseExpressionList = function (terminator) {\n var result = [];\n if (!this.next.isCharacter(terminator)) {\n do {\n result.push(this.parsePipe());\n } while (this.optionalCharacter($COMMA));\n }\n return result;\n };\n _ParseAST.prototype.parseLiteralMap = function () {\n var keys = [];\n var values = [];\n var start = this.inputIndex;\n this.expectCharacter($LBRACE);\n if (!this.optionalCharacter($RBRACE)) {\n this.rbracesExpected++;\n do {\n var quoted = this.next.isString();\n var key = this.expectIdentifierOrKeywordOrString();\n keys.push({ key: key, quoted: quoted });\n this.expectCharacter($COLON);\n values.push(this.parsePipe());\n } while (this.optionalCharacter($COMMA));\n this.rbracesExpected--;\n this.expectCharacter($RBRACE);\n }\n return new LiteralMap(this.span(start), keys, values);\n };\n _ParseAST.prototype.parseAccessMemberOrMethodCall = function (receiver, isSafe) {\n if (isSafe === void 0) { isSafe = false; }\n var start = receiver.span.start;\n var id = this.expectIdentifierOrKeyword();\n if (this.optionalCharacter($LPAREN)) {\n this.rparensExpected++;\n var args = this.parseCallArguments();\n this.expectCharacter($RPAREN);\n this.rparensExpected--;\n var span = this.span(start);\n return isSafe ? new SafeMethodCall(span, receiver, id, args) :\n new MethodCall(span, receiver, id, args);\n }\n else {\n if (isSafe) {\n if (this.optionalOperator('=')) {\n this.error('The \\'?.\\' operator cannot be used in the assignment');\n return new EmptyExpr(this.span(start));\n }\n else {\n return new SafePropertyRead(this.span(start), receiver, id);\n }\n }\n else {\n if (this.optionalOperator('=')) {\n if (!this.parseAction) {\n this.error('Bindings cannot contain assignments');\n return new EmptyExpr(this.span(start));\n }\n var value = this.parseConditional();\n return new PropertyWrite(this.span(start), receiver, id, value);\n }\n else {\n return new PropertyRead(this.span(start), receiver, id);\n }\n }\n }\n };\n _ParseAST.prototype.parseCallArguments = function () {\n if (this.next.isCharacter($RPAREN))\n return [];\n var positionals = [];\n do {\n positionals.push(this.parsePipe());\n } while (this.optionalCharacter($COMMA));\n return positionals;\n };\n /**\n * An identifier, a keyword, a string with an optional `-` in between.\n */\n _ParseAST.prototype.expectTemplateBindingKey = function () {\n var result = '';\n var operatorFound = false;\n do {\n result += this.expectIdentifierOrKeywordOrString();\n operatorFound = this.optionalOperator('-');\n if (operatorFound) {\n result += '-';\n }\n } while (operatorFound);\n return result.toString();\n };\n // Parses the AST for ``\n _ParseAST.prototype.parseTemplateBindings = function (tplKey) {\n var firstBinding = true;\n var bindings = [];\n var warnings = [];\n do {\n var start = this.inputIndex;\n var rawKey = void 0;\n var key = void 0;\n var isVar = false;\n if (firstBinding) {\n rawKey = key = tplKey;\n firstBinding = false;\n }\n else {\n isVar = this.peekKeywordLet();\n if (isVar)\n this.advance();\n rawKey = this.expectTemplateBindingKey();\n key = isVar ? rawKey : tplKey + rawKey[0].toUpperCase() + rawKey.substring(1);\n this.optionalCharacter($COLON);\n }\n var name_2 = null;\n var expression = null;\n if (isVar) {\n if (this.optionalOperator('=')) {\n name_2 = this.expectTemplateBindingKey();\n }\n else {\n name_2 = '\\$implicit';\n }\n }\n else if (this.peekKeywordAs()) {\n this.advance(); // consume `as`\n name_2 = rawKey;\n key = this.expectTemplateBindingKey(); // read local var name\n isVar = true;\n }\n else if (this.next !== EOF && !this.peekKeywordLet()) {\n var start_1 = this.inputIndex;\n var ast = this.parsePipe();\n var source = this.input.substring(start_1 - this.offset, this.inputIndex - this.offset);\n expression = new ASTWithSource(ast, source, this.location, this.errors);\n }\n bindings.push(new TemplateBinding(this.span(start), key, isVar, name_2, expression));\n if (this.peekKeywordAs() && !isVar) {\n var letStart = this.inputIndex;\n this.advance(); // consume `as`\n var letName = this.expectTemplateBindingKey(); // read local var name\n bindings.push(new TemplateBinding(this.span(letStart), letName, true, key, null));\n }\n if (!this.optionalCharacter($SEMICOLON)) {\n this.optionalCharacter($COMMA);\n }\n } while (this.index < this.tokens.length);\n return new TemplateBindingParseResult(bindings, warnings, this.errors);\n };\n _ParseAST.prototype.error = function (message, index) {\n if (index === void 0) { index = null; }\n this.errors.push(new ParserError(message, this.input, this.locationText(index), this.location));\n this.skip();\n };\n _ParseAST.prototype.locationText = function (index) {\n if (index === void 0) { index = null; }\n if (index == null)\n index = this.index;\n return (index < this.tokens.length) ? \"at column \" + (this.tokens[index].index + 1) + \" in\" :\n \"at the end of the expression\";\n };\n // Error recovery should skip tokens until it encounters a recovery point. skip() treats\n // the end of input and a ';' as unconditionally a recovery point. It also treats ')',\n // '}' and ']' as conditional recovery points if one of calling productions is expecting\n // one of these symbols. This allows skip() to recover from errors such as '(a.) + 1' allowing\n // more of the AST to be retained (it doesn't skip any tokens as the ')' is retained because\n // of the '(' begins an '(' ')' production). The recovery points of grouping symbols\n // must be conditional as they must be skipped if none of the calling productions are not\n // expecting the closing token else we will never make progress in the case of an\n // extraneous group closing symbol (such as a stray ')'). This is not the case for ';' because\n // parseChain() is always the root production and it expects a ';'.\n // If a production expects one of these token it increments the corresponding nesting count,\n // and then decrements it just prior to checking if the token is in the input.\n _ParseAST.prototype.skip = function () {\n var n = this.next;\n while (this.index < this.tokens.length && !n.isCharacter($SEMICOLON) &&\n (this.rparensExpected <= 0 || !n.isCharacter($RPAREN)) &&\n (this.rbracesExpected <= 0 || !n.isCharacter($RBRACE)) &&\n (this.rbracketsExpected <= 0 || !n.isCharacter($RBRACKET))) {\n if (this.next.isError()) {\n this.errors.push(new ParserError(this.next.toString(), this.input, this.locationText(), this.location));\n }\n this.advance();\n n = this.next;\n }\n };\n return _ParseAST;\n}());\nvar SimpleExpressionChecker = /** @class */ (function () {\n function SimpleExpressionChecker() {\n this.errors = [];\n }\n SimpleExpressionChecker.check = function (ast) {\n var s = new SimpleExpressionChecker();\n ast.visit(s);\n return s.errors;\n };\n SimpleExpressionChecker.prototype.visitImplicitReceiver = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitInterpolation = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitLiteralPrimitive = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitPropertyRead = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitPropertyWrite = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitSafePropertyRead = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitMethodCall = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitSafeMethodCall = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitFunctionCall = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitLiteralArray = function (ast, context) { this.visitAll(ast.expressions); };\n SimpleExpressionChecker.prototype.visitLiteralMap = function (ast, context) { this.visitAll(ast.values); };\n SimpleExpressionChecker.prototype.visitBinary = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitPrefixNot = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitNonNullAssert = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitConditional = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitPipe = function (ast, context) { this.errors.push('pipes'); };\n SimpleExpressionChecker.prototype.visitKeyedRead = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitKeyedWrite = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitAll = function (asts) {\n var _this = this;\n return asts.map(function (node) { return node.visit(_this); });\n };\n SimpleExpressionChecker.prototype.visitChain = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitQuote = function (ast, context) { };\n return SimpleExpressionChecker;\n}());\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A path is an ordered set of elements. Typically a path is to a\n * particular offset in a source file. The head of the list is the top\n * most node. The tail is the node that contains the offset directly.\n *\n * For example, the expression `a + b + c` might have an ast that looks\n * like:\n * +\n * / \\\n * a +\n * / \\\n * b c\n *\n * The path to the node at offset 9 would be `['+' at 1-10, '+' at 7-10,\n * 'c' at 9-10]` and the path the node at offset 1 would be\n * `['+' at 1-10, 'a' at 1-2]`.\n */\nvar AstPath = /** @class */ (function () {\n function AstPath(path, position) {\n if (position === void 0) { position = -1; }\n this.path = path;\n this.position = position;\n }\n Object.defineProperty(AstPath.prototype, \"empty\", {\n get: function () { return !this.path || !this.path.length; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AstPath.prototype, \"head\", {\n get: function () { return this.path[0]; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AstPath.prototype, \"tail\", {\n get: function () { return this.path[this.path.length - 1]; },\n enumerable: true,\n configurable: true\n });\n AstPath.prototype.parentOf = function (node) {\n return node && this.path[this.path.indexOf(node) - 1];\n };\n AstPath.prototype.childOf = function (node) { return this.path[this.path.indexOf(node) + 1]; };\n AstPath.prototype.first = function (ctor) {\n for (var i = this.path.length - 1; i >= 0; i--) {\n var item = this.path[i];\n if (item instanceof ctor)\n return item;\n }\n };\n AstPath.prototype.push = function (node) { this.path.push(node); };\n AstPath.prototype.pop = function () { return this.path.pop(); };\n return AstPath;\n}());\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Text = /** @class */ (function () {\n function Text(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n Text.prototype.visit = function (visitor, context) { return visitor.visitText(this, context); };\n return Text;\n}());\nvar Expansion = /** @class */ (function () {\n function Expansion(switchValue, type, cases, sourceSpan, switchValueSourceSpan) {\n this.switchValue = switchValue;\n this.type = type;\n this.cases = cases;\n this.sourceSpan = sourceSpan;\n this.switchValueSourceSpan = switchValueSourceSpan;\n }\n Expansion.prototype.visit = function (visitor, context) { return visitor.visitExpansion(this, context); };\n return Expansion;\n}());\nvar ExpansionCase = /** @class */ (function () {\n function ExpansionCase(value, expression, sourceSpan, valueSourceSpan, expSourceSpan) {\n this.value = value;\n this.expression = expression;\n this.sourceSpan = sourceSpan;\n this.valueSourceSpan = valueSourceSpan;\n this.expSourceSpan = expSourceSpan;\n }\n ExpansionCase.prototype.visit = function (visitor, context) { return visitor.visitExpansionCase(this, context); };\n return ExpansionCase;\n}());\nvar Attribute = /** @class */ (function () {\n function Attribute(name, value, sourceSpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n Attribute.prototype.visit = function (visitor, context) { return visitor.visitAttribute(this, context); };\n return Attribute;\n}());\nvar Element = /** @class */ (function () {\n function Element(name, attrs, children, sourceSpan, startSourceSpan, endSourceSpan) {\n if (startSourceSpan === void 0) { startSourceSpan = null; }\n if (endSourceSpan === void 0) { endSourceSpan = null; }\n this.name = name;\n this.attrs = attrs;\n this.children = children;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n Element.prototype.visit = function (visitor, context) { return visitor.visitElement(this, context); };\n return Element;\n}());\nvar Comment = /** @class */ (function () {\n function Comment(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n Comment.prototype.visit = function (visitor, context) { return visitor.visitComment(this, context); };\n return Comment;\n}());\nfunction visitAll(visitor, nodes, context) {\n if (context === void 0) { context = null; }\n var result = [];\n var visit = visitor.visit ?\n function (ast) { return visitor.visit(ast, context) || ast.visit(visitor, context); } :\n function (ast) { return ast.visit(visitor, context); };\n nodes.forEach(function (ast) {\n var astResult = visit(ast);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\nvar RecursiveVisitor = /** @class */ (function () {\n function RecursiveVisitor() {\n }\n RecursiveVisitor.prototype.visitElement = function (ast, context) {\n this.visitChildren(context, function (visit) {\n visit(ast.attrs);\n visit(ast.children);\n });\n };\n RecursiveVisitor.prototype.visitAttribute = function (ast, context) { };\n RecursiveVisitor.prototype.visitText = function (ast, context) { };\n RecursiveVisitor.prototype.visitComment = function (ast, context) { };\n RecursiveVisitor.prototype.visitExpansion = function (ast, context) {\n return this.visitChildren(context, function (visit) { visit(ast.cases); });\n };\n RecursiveVisitor.prototype.visitExpansionCase = function (ast, context) { };\n RecursiveVisitor.prototype.visitChildren = function (context, cb) {\n var results = [];\n var t = this;\n function visit(children) {\n if (children)\n results.push(visitAll(t, children, context));\n }\n cb(visit);\n return [].concat.apply([], results);\n };\n return RecursiveVisitor;\n}());\nfunction spanOf(ast) {\n var start = ast.sourceSpan.start.offset;\n var end = ast.sourceSpan.end.offset;\n if (ast instanceof Element) {\n if (ast.endSourceSpan) {\n end = ast.endSourceSpan.end.offset;\n }\n else if (ast.children && ast.children.length) {\n end = spanOf(ast.children[ast.children.length - 1]).end;\n }\n }\n return { start: start, end: end };\n}\nfunction findNode(nodes, position) {\n var path = [];\n var visitor = new /** @class */ (function (_super) {\n __extends(class_1, _super);\n function class_1() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n class_1.prototype.visit = function (ast, context) {\n var span = spanOf(ast);\n if (span.start <= position && position < span.end) {\n path.push(ast);\n }\n else {\n // Returning a value here will result in the children being skipped.\n return true;\n }\n };\n return class_1;\n }(RecursiveVisitor));\n visitAll(visitor, nodes);\n return new AstPath(path, position);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar TokenType$1;\n(function (TokenType) {\n TokenType[TokenType[\"TAG_OPEN_START\"] = 0] = \"TAG_OPEN_START\";\n TokenType[TokenType[\"TAG_OPEN_END\"] = 1] = \"TAG_OPEN_END\";\n TokenType[TokenType[\"TAG_OPEN_END_VOID\"] = 2] = \"TAG_OPEN_END_VOID\";\n TokenType[TokenType[\"TAG_CLOSE\"] = 3] = \"TAG_CLOSE\";\n TokenType[TokenType[\"TEXT\"] = 4] = \"TEXT\";\n TokenType[TokenType[\"ESCAPABLE_RAW_TEXT\"] = 5] = \"ESCAPABLE_RAW_TEXT\";\n TokenType[TokenType[\"RAW_TEXT\"] = 6] = \"RAW_TEXT\";\n TokenType[TokenType[\"COMMENT_START\"] = 7] = \"COMMENT_START\";\n TokenType[TokenType[\"COMMENT_END\"] = 8] = \"COMMENT_END\";\n TokenType[TokenType[\"CDATA_START\"] = 9] = \"CDATA_START\";\n TokenType[TokenType[\"CDATA_END\"] = 10] = \"CDATA_END\";\n TokenType[TokenType[\"ATTR_NAME\"] = 11] = \"ATTR_NAME\";\n TokenType[TokenType[\"ATTR_VALUE\"] = 12] = \"ATTR_VALUE\";\n TokenType[TokenType[\"DOC_TYPE\"] = 13] = \"DOC_TYPE\";\n TokenType[TokenType[\"EXPANSION_FORM_START\"] = 14] = \"EXPANSION_FORM_START\";\n TokenType[TokenType[\"EXPANSION_CASE_VALUE\"] = 15] = \"EXPANSION_CASE_VALUE\";\n TokenType[TokenType[\"EXPANSION_CASE_EXP_START\"] = 16] = \"EXPANSION_CASE_EXP_START\";\n TokenType[TokenType[\"EXPANSION_CASE_EXP_END\"] = 17] = \"EXPANSION_CASE_EXP_END\";\n TokenType[TokenType[\"EXPANSION_FORM_END\"] = 18] = \"EXPANSION_FORM_END\";\n TokenType[TokenType[\"EOF\"] = 19] = \"EOF\";\n})(TokenType$1 || (TokenType$1 = {}));\nvar Token$1 = /** @class */ (function () {\n function Token(type, parts, sourceSpan) {\n this.type = type;\n this.parts = parts;\n this.sourceSpan = sourceSpan;\n }\n return Token;\n}());\nvar TokenError = /** @class */ (function (_super) {\n __extends(TokenError, _super);\n function TokenError(errorMsg, tokenType, span) {\n var _this = _super.call(this, span, errorMsg) || this;\n _this.tokenType = tokenType;\n return _this;\n }\n return TokenError;\n}(ParseError));\nvar TokenizeResult = /** @class */ (function () {\n function TokenizeResult(tokens, errors) {\n this.tokens = tokens;\n this.errors = errors;\n }\n return TokenizeResult;\n}());\nfunction tokenize(source, url, getTagDefinition, tokenizeExpansionForms, interpolationConfig) {\n if (tokenizeExpansionForms === void 0) { tokenizeExpansionForms = false; }\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n return new _Tokenizer(new ParseSourceFile(source, url), getTagDefinition, tokenizeExpansionForms, interpolationConfig)\n .tokenize();\n}\nvar _CR_OR_CRLF_REGEXP = /\\r\\n?/g;\nfunction _unexpectedCharacterErrorMsg(charCode) {\n var char = charCode === $EOF ? 'EOF' : String.fromCharCode(charCode);\n return \"Unexpected character \\\"\" + char + \"\\\"\";\n}\nfunction _unknownEntityErrorMsg(entitySrc) {\n return \"Unknown entity \\\"\" + entitySrc + \"\\\" - use the \\\"&#;\\\" or \\\"&#x;\\\" syntax\";\n}\nvar _ControlFlowError = /** @class */ (function () {\n function _ControlFlowError(error) {\n this.error = error;\n }\n return _ControlFlowError;\n}());\n// See http://www.w3.org/TR/html51/syntax.html#writing\nvar _Tokenizer = /** @class */ (function () {\n /**\n * @param _file The html source\n * @param _getTagDefinition\n * @param _tokenizeIcu Whether to tokenize ICU messages (considered as text nodes when false)\n * @param _interpolationConfig\n */\n function _Tokenizer(_file, _getTagDefinition, _tokenizeIcu, _interpolationConfig) {\n if (_interpolationConfig === void 0) { _interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n this._file = _file;\n this._getTagDefinition = _getTagDefinition;\n this._tokenizeIcu = _tokenizeIcu;\n this._interpolationConfig = _interpolationConfig;\n // Note: this is always lowercase!\n this._peek = -1;\n this._nextPeek = -1;\n this._index = -1;\n this._line = 0;\n this._column = -1;\n this._expansionCaseStack = [];\n this._inInterpolation = false;\n this.tokens = [];\n this.errors = [];\n this._input = _file.content;\n this._length = _file.content.length;\n this._advance();\n }\n _Tokenizer.prototype._processCarriageReturns = function (content) {\n // http://www.w3.org/TR/html5/syntax.html#preprocessing-the-input-stream\n // In order to keep the original position in the source, we can not\n // pre-process it.\n // Instead CRs are processed right before instantiating the tokens.\n return content.replace(_CR_OR_CRLF_REGEXP, '\\n');\n };\n _Tokenizer.prototype.tokenize = function () {\n while (this._peek !== $EOF) {\n var start = this._getLocation();\n try {\n if (this._attemptCharCode($LT)) {\n if (this._attemptCharCode($BANG)) {\n if (this._attemptCharCode($LBRACKET)) {\n this._consumeCdata(start);\n }\n else if (this._attemptCharCode($MINUS)) {\n this._consumeComment(start);\n }\n else {\n this._consumeDocType(start);\n }\n }\n else if (this._attemptCharCode($SLASH)) {\n this._consumeTagClose(start);\n }\n else {\n this._consumeTagOpen(start);\n }\n }\n else if (!(this._tokenizeIcu && this._tokenizeExpansionForm())) {\n this._consumeText();\n }\n }\n catch (e) {\n if (e instanceof _ControlFlowError) {\n this.errors.push(e.error);\n }\n else {\n throw e;\n }\n }\n }\n this._beginToken(TokenType$1.EOF);\n this._endToken([]);\n return new TokenizeResult(mergeTextTokens(this.tokens), this.errors);\n };\n /**\n * @returns whether an ICU token has been created\n * @internal\n */\n _Tokenizer.prototype._tokenizeExpansionForm = function () {\n if (isExpansionFormStart(this._input, this._index, this._interpolationConfig)) {\n this._consumeExpansionFormStart();\n return true;\n }\n if (isExpansionCaseStart(this._peek) && this._isInExpansionForm()) {\n this._consumeExpansionCaseStart();\n return true;\n }\n if (this._peek === $RBRACE) {\n if (this._isInExpansionCase()) {\n this._consumeExpansionCaseEnd();\n return true;\n }\n if (this._isInExpansionForm()) {\n this._consumeExpansionFormEnd();\n return true;\n }\n }\n return false;\n };\n _Tokenizer.prototype._getLocation = function () {\n return new ParseLocation(this._file, this._index, this._line, this._column);\n };\n _Tokenizer.prototype._getSpan = function (start, end) {\n if (start === void 0) { start = this._getLocation(); }\n if (end === void 0) { end = this._getLocation(); }\n return new ParseSourceSpan(start, end);\n };\n _Tokenizer.prototype._beginToken = function (type, start) {\n if (start === void 0) { start = this._getLocation(); }\n this._currentTokenStart = start;\n this._currentTokenType = type;\n };\n _Tokenizer.prototype._endToken = function (parts, end) {\n if (end === void 0) { end = this._getLocation(); }\n var token = new Token$1(this._currentTokenType, parts, new ParseSourceSpan(this._currentTokenStart, end));\n this.tokens.push(token);\n this._currentTokenStart = null;\n this._currentTokenType = null;\n return token;\n };\n _Tokenizer.prototype._createError = function (msg, span) {\n if (this._isInExpansionForm()) {\n msg += \" (Do you have an unescaped \\\"{\\\" in your template? Use \\\"{{ '{' }}\\\") to escape it.)\";\n }\n var error = new TokenError(msg, this._currentTokenType, span);\n this._currentTokenStart = null;\n this._currentTokenType = null;\n return new _ControlFlowError(error);\n };\n _Tokenizer.prototype._advance = function () {\n if (this._index >= this._length) {\n throw this._createError(_unexpectedCharacterErrorMsg($EOF), this._getSpan());\n }\n if (this._peek === $LF) {\n this._line++;\n this._column = 0;\n }\n else if (this._peek !== $LF && this._peek !== $CR) {\n this._column++;\n }\n this._index++;\n this._peek = this._index >= this._length ? $EOF : this._input.charCodeAt(this._index);\n this._nextPeek =\n this._index + 1 >= this._length ? $EOF : this._input.charCodeAt(this._index + 1);\n };\n _Tokenizer.prototype._attemptCharCode = function (charCode) {\n if (this._peek === charCode) {\n this._advance();\n return true;\n }\n return false;\n };\n _Tokenizer.prototype._attemptCharCodeCaseInsensitive = function (charCode) {\n if (compareCharCodeCaseInsensitive(this._peek, charCode)) {\n this._advance();\n return true;\n }\n return false;\n };\n _Tokenizer.prototype._requireCharCode = function (charCode) {\n var location = this._getLocation();\n if (!this._attemptCharCode(charCode)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan(location, location));\n }\n };\n _Tokenizer.prototype._attemptStr = function (chars) {\n var len = chars.length;\n if (this._index + len > this._length) {\n return false;\n }\n var initialPosition = this._savePosition();\n for (var i = 0; i < len; i++) {\n if (!this._attemptCharCode(chars.charCodeAt(i))) {\n // If attempting to parse the string fails, we want to reset the parser\n // to where it was before the attempt\n this._restorePosition(initialPosition);\n return false;\n }\n }\n return true;\n };\n _Tokenizer.prototype._attemptStrCaseInsensitive = function (chars) {\n for (var i = 0; i < chars.length; i++) {\n if (!this._attemptCharCodeCaseInsensitive(chars.charCodeAt(i))) {\n return false;\n }\n }\n return true;\n };\n _Tokenizer.prototype._requireStr = function (chars) {\n var location = this._getLocation();\n if (!this._attemptStr(chars)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan(location));\n }\n };\n _Tokenizer.prototype._attemptCharCodeUntilFn = function (predicate) {\n while (!predicate(this._peek)) {\n this._advance();\n }\n };\n _Tokenizer.prototype._requireCharCodeUntilFn = function (predicate, len) {\n var start = this._getLocation();\n this._attemptCharCodeUntilFn(predicate);\n if (this._index - start.offset < len) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan(start, start));\n }\n };\n _Tokenizer.prototype._attemptUntilChar = function (char) {\n while (this._peek !== char) {\n this._advance();\n }\n };\n _Tokenizer.prototype._readChar = function (decodeEntities) {\n if (decodeEntities && this._peek === $AMPERSAND) {\n return this._decodeEntity();\n }\n else {\n var index = this._index;\n this._advance();\n return this._input[index];\n }\n };\n _Tokenizer.prototype._decodeEntity = function () {\n var start = this._getLocation();\n this._advance();\n if (this._attemptCharCode($HASH)) {\n var isHex = this._attemptCharCode($x) || this._attemptCharCode($X);\n var numberStart = this._getLocation().offset;\n this._attemptCharCodeUntilFn(isDigitEntityEnd);\n if (this._peek != $SEMICOLON) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan());\n }\n this._advance();\n var strNum = this._input.substring(numberStart, this._index - 1);\n try {\n var charCode = parseInt(strNum, isHex ? 16 : 10);\n return String.fromCharCode(charCode);\n }\n catch (e) {\n var entity = this._input.substring(start.offset + 1, this._index - 1);\n throw this._createError(_unknownEntityErrorMsg(entity), this._getSpan(start));\n }\n }\n else {\n var startPosition = this._savePosition();\n this._attemptCharCodeUntilFn(isNamedEntityEnd);\n if (this._peek != $SEMICOLON) {\n this._restorePosition(startPosition);\n return '&';\n }\n this._advance();\n var name_1 = this._input.substring(start.offset + 1, this._index - 1);\n var char = NAMED_ENTITIES[name_1];\n if (!char) {\n throw this._createError(_unknownEntityErrorMsg(name_1), this._getSpan(start));\n }\n return char;\n }\n };\n _Tokenizer.prototype._consumeRawText = function (decodeEntities, firstCharOfEnd, attemptEndRest) {\n var tagCloseStart;\n var textStart = this._getLocation();\n this._beginToken(decodeEntities ? TokenType$1.ESCAPABLE_RAW_TEXT : TokenType$1.RAW_TEXT, textStart);\n var parts = [];\n while (true) {\n tagCloseStart = this._getLocation();\n if (this._attemptCharCode(firstCharOfEnd) && attemptEndRest()) {\n break;\n }\n if (this._index > tagCloseStart.offset) {\n // add the characters consumed by the previous if statement to the output\n parts.push(this._input.substring(tagCloseStart.offset, this._index));\n }\n while (this._peek !== firstCharOfEnd) {\n parts.push(this._readChar(decodeEntities));\n }\n }\n return this._endToken([this._processCarriageReturns(parts.join(''))], tagCloseStart);\n };\n _Tokenizer.prototype._consumeComment = function (start) {\n var _this = this;\n this._beginToken(TokenType$1.COMMENT_START, start);\n this._requireCharCode($MINUS);\n this._endToken([]);\n var textToken = this._consumeRawText(false, $MINUS, function () { return _this._attemptStr('->'); });\n this._beginToken(TokenType$1.COMMENT_END, textToken.sourceSpan.end);\n this._endToken([]);\n };\n _Tokenizer.prototype._consumeCdata = function (start) {\n var _this = this;\n this._beginToken(TokenType$1.CDATA_START, start);\n this._requireStr('CDATA[');\n this._endToken([]);\n var textToken = this._consumeRawText(false, $RBRACKET, function () { return _this._attemptStr(']>'); });\n this._beginToken(TokenType$1.CDATA_END, textToken.sourceSpan.end);\n this._endToken([]);\n };\n _Tokenizer.prototype._consumeDocType = function (start) {\n this._beginToken(TokenType$1.DOC_TYPE, start);\n this._attemptUntilChar($GT);\n this._advance();\n this._endToken([this._input.substring(start.offset + 2, this._index - 1)]);\n };\n _Tokenizer.prototype._consumePrefixAndName = function () {\n var nameOrPrefixStart = this._index;\n var prefix = null;\n while (this._peek !== $COLON && !isPrefixEnd(this._peek)) {\n this._advance();\n }\n var nameStart;\n if (this._peek === $COLON) {\n this._advance();\n prefix = this._input.substring(nameOrPrefixStart, this._index - 1);\n nameStart = this._index;\n }\n else {\n nameStart = nameOrPrefixStart;\n }\n this._requireCharCodeUntilFn(isNameEnd, this._index === nameStart ? 1 : 0);\n var name = this._input.substring(nameStart, this._index);\n return [prefix, name];\n };\n _Tokenizer.prototype._consumeTagOpen = function (start) {\n var savedPos = this._savePosition();\n var tagName;\n var lowercaseTagName;\n try {\n if (!isAsciiLetter(this._peek)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan());\n }\n var nameStart = this._index;\n this._consumeTagOpenStart(start);\n tagName = this._input.substring(nameStart, this._index);\n lowercaseTagName = tagName.toLowerCase();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n while (this._peek !== $SLASH && this._peek !== $GT) {\n this._consumeAttributeName();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n if (this._attemptCharCode($EQ)) {\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._consumeAttributeValue();\n }\n this._attemptCharCodeUntilFn(isNotWhitespace);\n }\n this._consumeTagOpenEnd();\n }\n catch (e) {\n if (e instanceof _ControlFlowError) {\n // When the start tag is invalid, assume we want a \"<\"\n this._restorePosition(savedPos);\n // Back to back text tokens are merged at the end\n this._beginToken(TokenType$1.TEXT, start);\n this._endToken(['<']);\n return;\n }\n throw e;\n }\n var contentTokenType = this._getTagDefinition(tagName).contentType;\n if (contentTokenType === TagContentType.RAW_TEXT) {\n this._consumeRawTextWithTagClose(lowercaseTagName, false);\n }\n else if (contentTokenType === TagContentType.ESCAPABLE_RAW_TEXT) {\n this._consumeRawTextWithTagClose(lowercaseTagName, true);\n }\n };\n _Tokenizer.prototype._consumeRawTextWithTagClose = function (lowercaseTagName, decodeEntities) {\n var _this = this;\n var textToken = this._consumeRawText(decodeEntities, $LT, function () {\n if (!_this._attemptCharCode($SLASH))\n return false;\n _this._attemptCharCodeUntilFn(isNotWhitespace);\n if (!_this._attemptStrCaseInsensitive(lowercaseTagName))\n return false;\n _this._attemptCharCodeUntilFn(isNotWhitespace);\n return _this._attemptCharCode($GT);\n });\n this._beginToken(TokenType$1.TAG_CLOSE, textToken.sourceSpan.end);\n this._endToken([null, lowercaseTagName]);\n };\n _Tokenizer.prototype._consumeTagOpenStart = function (start) {\n this._beginToken(TokenType$1.TAG_OPEN_START, start);\n var parts = this._consumePrefixAndName();\n this._endToken(parts);\n };\n _Tokenizer.prototype._consumeAttributeName = function () {\n this._beginToken(TokenType$1.ATTR_NAME);\n var prefixAndName = this._consumePrefixAndName();\n this._endToken(prefixAndName);\n };\n _Tokenizer.prototype._consumeAttributeValue = function () {\n this._beginToken(TokenType$1.ATTR_VALUE);\n var value;\n if (this._peek === $SQ || this._peek === $DQ) {\n var quoteChar = this._peek;\n this._advance();\n var parts = [];\n while (this._peek !== quoteChar) {\n parts.push(this._readChar(true));\n }\n value = parts.join('');\n this._advance();\n }\n else {\n var valueStart = this._index;\n this._requireCharCodeUntilFn(isNameEnd, 1);\n value = this._input.substring(valueStart, this._index);\n }\n this._endToken([this._processCarriageReturns(value)]);\n };\n _Tokenizer.prototype._consumeTagOpenEnd = function () {\n var tokenType = this._attemptCharCode($SLASH) ? TokenType$1.TAG_OPEN_END_VOID : TokenType$1.TAG_OPEN_END;\n this._beginToken(tokenType);\n this._requireCharCode($GT);\n this._endToken([]);\n };\n _Tokenizer.prototype._consumeTagClose = function (start) {\n this._beginToken(TokenType$1.TAG_CLOSE, start);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n var prefixAndName = this._consumePrefixAndName();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._requireCharCode($GT);\n this._endToken(prefixAndName);\n };\n _Tokenizer.prototype._consumeExpansionFormStart = function () {\n this._beginToken(TokenType$1.EXPANSION_FORM_START, this._getLocation());\n this._requireCharCode($LBRACE);\n this._endToken([]);\n this._expansionCaseStack.push(TokenType$1.EXPANSION_FORM_START);\n this._beginToken(TokenType$1.RAW_TEXT, this._getLocation());\n var condition = this._readUntil($COMMA);\n this._endToken([condition], this._getLocation());\n this._requireCharCode($COMMA);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._beginToken(TokenType$1.RAW_TEXT, this._getLocation());\n var type = this._readUntil($COMMA);\n this._endToken([type], this._getLocation());\n this._requireCharCode($COMMA);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n };\n _Tokenizer.prototype._consumeExpansionCaseStart = function () {\n this._beginToken(TokenType$1.EXPANSION_CASE_VALUE, this._getLocation());\n var value = this._readUntil($LBRACE).trim();\n this._endToken([value], this._getLocation());\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._beginToken(TokenType$1.EXPANSION_CASE_EXP_START, this._getLocation());\n this._requireCharCode($LBRACE);\n this._endToken([], this._getLocation());\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._expansionCaseStack.push(TokenType$1.EXPANSION_CASE_EXP_START);\n };\n _Tokenizer.prototype._consumeExpansionCaseEnd = function () {\n this._beginToken(TokenType$1.EXPANSION_CASE_EXP_END, this._getLocation());\n this._requireCharCode($RBRACE);\n this._endToken([], this._getLocation());\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._expansionCaseStack.pop();\n };\n _Tokenizer.prototype._consumeExpansionFormEnd = function () {\n this._beginToken(TokenType$1.EXPANSION_FORM_END, this._getLocation());\n this._requireCharCode($RBRACE);\n this._endToken([]);\n this._expansionCaseStack.pop();\n };\n _Tokenizer.prototype._consumeText = function () {\n var start = this._getLocation();\n this._beginToken(TokenType$1.TEXT, start);\n var parts = [];\n do {\n if (this._interpolationConfig && this._attemptStr(this._interpolationConfig.start)) {\n parts.push(this._interpolationConfig.start);\n this._inInterpolation = true;\n }\n else if (this._interpolationConfig && this._inInterpolation &&\n this._attemptStr(this._interpolationConfig.end)) {\n parts.push(this._interpolationConfig.end);\n this._inInterpolation = false;\n }\n else {\n parts.push(this._readChar(true));\n }\n } while (!this._isTextEnd());\n this._endToken([this._processCarriageReturns(parts.join(''))]);\n };\n _Tokenizer.prototype._isTextEnd = function () {\n if (this._peek === $LT || this._peek === $EOF) {\n return true;\n }\n if (this._tokenizeIcu && !this._inInterpolation) {\n if (isExpansionFormStart(this._input, this._index, this._interpolationConfig)) {\n // start of an expansion form\n return true;\n }\n if (this._peek === $RBRACE && this._isInExpansionCase()) {\n // end of and expansion case\n return true;\n }\n }\n return false;\n };\n _Tokenizer.prototype._savePosition = function () {\n return [this._peek, this._index, this._column, this._line, this.tokens.length];\n };\n _Tokenizer.prototype._readUntil = function (char) {\n var start = this._index;\n this._attemptUntilChar(char);\n return this._input.substring(start, this._index);\n };\n _Tokenizer.prototype._restorePosition = function (position) {\n this._peek = position[0];\n this._index = position[1];\n this._column = position[2];\n this._line = position[3];\n var nbTokens = position[4];\n if (nbTokens < this.tokens.length) {\n // remove any extra tokens\n this.tokens = this.tokens.slice(0, nbTokens);\n }\n };\n _Tokenizer.prototype._isInExpansionCase = function () {\n return this._expansionCaseStack.length > 0 &&\n this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n TokenType$1.EXPANSION_CASE_EXP_START;\n };\n _Tokenizer.prototype._isInExpansionForm = function () {\n return this._expansionCaseStack.length > 0 &&\n this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n TokenType$1.EXPANSION_FORM_START;\n };\n return _Tokenizer;\n}());\nfunction isNotWhitespace(code) {\n return !isWhitespace(code) || code === $EOF;\n}\nfunction isNameEnd(code) {\n return isWhitespace(code) || code === $GT || code === $SLASH ||\n code === $SQ || code === $DQ || code === $EQ;\n}\nfunction isPrefixEnd(code) {\n return (code < $a || $z < code) && (code < $A || $Z < code) &&\n (code < $0 || code > $9);\n}\nfunction isDigitEntityEnd(code) {\n return code == $SEMICOLON || code == $EOF || !isAsciiHexDigit(code);\n}\nfunction isNamedEntityEnd(code) {\n return code == $SEMICOLON || code == $EOF || !isAsciiLetter(code);\n}\nfunction isExpansionFormStart(input, offset, interpolationConfig) {\n var isInterpolationStart = interpolationConfig ? input.indexOf(interpolationConfig.start, offset) == offset : false;\n return input.charCodeAt(offset) == $LBRACE && !isInterpolationStart;\n}\nfunction isExpansionCaseStart(peek) {\n return peek === $EQ || isAsciiLetter(peek) || isDigit(peek);\n}\nfunction compareCharCodeCaseInsensitive(code1, code2) {\n return toUpperCaseCharCode(code1) == toUpperCaseCharCode(code2);\n}\nfunction toUpperCaseCharCode(code) {\n return code >= $a && code <= $z ? code - $a + $A : code;\n}\nfunction mergeTextTokens(srcTokens) {\n var dstTokens = [];\n var lastDstToken = undefined;\n for (var i = 0; i < srcTokens.length; i++) {\n var token = srcTokens[i];\n if (lastDstToken && lastDstToken.type == TokenType$1.TEXT && token.type == TokenType$1.TEXT) {\n lastDstToken.parts[0] += token.parts[0];\n lastDstToken.sourceSpan.end = token.sourceSpan.end;\n }\n else {\n lastDstToken = token;\n dstTokens.push(lastDstToken);\n }\n }\n return dstTokens;\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar TreeError = /** @class */ (function (_super) {\n __extends(TreeError, _super);\n function TreeError(elementName, span, msg) {\n var _this = _super.call(this, span, msg) || this;\n _this.elementName = elementName;\n return _this;\n }\n TreeError.create = function (elementName, span, msg) {\n return new TreeError(elementName, span, msg);\n };\n return TreeError;\n}(ParseError));\nvar ParseTreeResult = /** @class */ (function () {\n function ParseTreeResult(rootNodes, errors) {\n this.rootNodes = rootNodes;\n this.errors = errors;\n }\n return ParseTreeResult;\n}());\nvar Parser$1 = /** @class */ (function () {\n function Parser(getTagDefinition) {\n this.getTagDefinition = getTagDefinition;\n }\n Parser.prototype.parse = function (source, url, parseExpansionForms, interpolationConfig) {\n if (parseExpansionForms === void 0) { parseExpansionForms = false; }\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n var tokensAndErrors = tokenize(source, url, this.getTagDefinition, parseExpansionForms, interpolationConfig);\n var treeAndErrors = new _TreeBuilder(tokensAndErrors.tokens, this.getTagDefinition).build();\n return new ParseTreeResult(treeAndErrors.rootNodes, tokensAndErrors.errors.concat(treeAndErrors.errors));\n };\n return Parser;\n}());\nvar _TreeBuilder = /** @class */ (function () {\n function _TreeBuilder(tokens, getTagDefinition) {\n this.tokens = tokens;\n this.getTagDefinition = getTagDefinition;\n this._index = -1;\n this._rootNodes = [];\n this._errors = [];\n this._elementStack = [];\n this._advance();\n }\n _TreeBuilder.prototype.build = function () {\n while (this._peek.type !== TokenType$1.EOF) {\n if (this._peek.type === TokenType$1.TAG_OPEN_START) {\n this._consumeStartTag(this._advance());\n }\n else if (this._peek.type === TokenType$1.TAG_CLOSE) {\n this._consumeEndTag(this._advance());\n }\n else if (this._peek.type === TokenType$1.CDATA_START) {\n this._closeVoidElement();\n this._consumeCdata(this._advance());\n }\n else if (this._peek.type === TokenType$1.COMMENT_START) {\n this._closeVoidElement();\n this._consumeComment(this._advance());\n }\n else if (this._peek.type === TokenType$1.TEXT || this._peek.type === TokenType$1.RAW_TEXT ||\n this._peek.type === TokenType$1.ESCAPABLE_RAW_TEXT) {\n this._closeVoidElement();\n this._consumeText(this._advance());\n }\n else if (this._peek.type === TokenType$1.EXPANSION_FORM_START) {\n this._consumeExpansion(this._advance());\n }\n else {\n // Skip all other tokens...\n this._advance();\n }\n }\n return new ParseTreeResult(this._rootNodes, this._errors);\n };\n _TreeBuilder.prototype._advance = function () {\n var prev = this._peek;\n if (this._index < this.tokens.length - 1) {\n // Note: there is always an EOF token at the end\n this._index++;\n }\n this._peek = this.tokens[this._index];\n return prev;\n };\n _TreeBuilder.prototype._advanceIf = function (type) {\n if (this._peek.type === type) {\n return this._advance();\n }\n return null;\n };\n _TreeBuilder.prototype._consumeCdata = function (startToken) {\n this._consumeText(this._advance());\n this._advanceIf(TokenType$1.CDATA_END);\n };\n _TreeBuilder.prototype._consumeComment = function (token) {\n var text = this._advanceIf(TokenType$1.RAW_TEXT);\n this._advanceIf(TokenType$1.COMMENT_END);\n var value = text != null ? text.parts[0].trim() : null;\n this._addToParent(new Comment(value, token.sourceSpan));\n };\n _TreeBuilder.prototype._consumeExpansion = function (token) {\n var switchValue = this._advance();\n var type = this._advance();\n var cases = [];\n // read =\n while (this._peek.type === TokenType$1.EXPANSION_CASE_VALUE) {\n var expCase = this._parseExpansionCase();\n if (!expCase)\n return; // error\n cases.push(expCase);\n }\n // read the final }\n if (this._peek.type !== TokenType$1.EXPANSION_FORM_END) {\n this._errors.push(TreeError.create(null, this._peek.sourceSpan, \"Invalid ICU message. Missing '}'.\"));\n return;\n }\n var sourceSpan = new ParseSourceSpan(token.sourceSpan.start, this._peek.sourceSpan.end);\n this._addToParent(new Expansion(switchValue.parts[0], type.parts[0], cases, sourceSpan, switchValue.sourceSpan));\n this._advance();\n };\n _TreeBuilder.prototype._parseExpansionCase = function () {\n var value = this._advance();\n // read {\n if (this._peek.type !== TokenType$1.EXPANSION_CASE_EXP_START) {\n this._errors.push(TreeError.create(null, this._peek.sourceSpan, \"Invalid ICU message. Missing '{'.\"));\n return null;\n }\n // read until }\n var start = this._advance();\n var exp = this._collectExpansionExpTokens(start);\n if (!exp)\n return null;\n var end = this._advance();\n exp.push(new Token$1(TokenType$1.EOF, [], end.sourceSpan));\n // parse everything in between { and }\n var parsedExp = new _TreeBuilder(exp, this.getTagDefinition).build();\n if (parsedExp.errors.length > 0) {\n this._errors = this._errors.concat(parsedExp.errors);\n return null;\n }\n var sourceSpan = new ParseSourceSpan(value.sourceSpan.start, end.sourceSpan.end);\n var expSourceSpan = new ParseSourceSpan(start.sourceSpan.start, end.sourceSpan.end);\n return new ExpansionCase(value.parts[0], parsedExp.rootNodes, sourceSpan, value.sourceSpan, expSourceSpan);\n };\n _TreeBuilder.prototype._collectExpansionExpTokens = function (start) {\n var exp = [];\n var expansionFormStack = [TokenType$1.EXPANSION_CASE_EXP_START];\n while (true) {\n if (this._peek.type === TokenType$1.EXPANSION_FORM_START ||\n this._peek.type === TokenType$1.EXPANSION_CASE_EXP_START) {\n expansionFormStack.push(this._peek.type);\n }\n if (this._peek.type === TokenType$1.EXPANSION_CASE_EXP_END) {\n if (lastOnStack(expansionFormStack, TokenType$1.EXPANSION_CASE_EXP_START)) {\n expansionFormStack.pop();\n if (expansionFormStack.length == 0)\n return exp;\n }\n else {\n this._errors.push(TreeError.create(null, start.sourceSpan, \"Invalid ICU message. Missing '}'.\"));\n return null;\n }\n }\n if (this._peek.type === TokenType$1.EXPANSION_FORM_END) {\n if (lastOnStack(expansionFormStack, TokenType$1.EXPANSION_FORM_START)) {\n expansionFormStack.pop();\n }\n else {\n this._errors.push(TreeError.create(null, start.sourceSpan, \"Invalid ICU message. Missing '}'.\"));\n return null;\n }\n }\n if (this._peek.type === TokenType$1.EOF) {\n this._errors.push(TreeError.create(null, start.sourceSpan, \"Invalid ICU message. Missing '}'.\"));\n return null;\n }\n exp.push(this._advance());\n }\n };\n _TreeBuilder.prototype._consumeText = function (token) {\n var text = token.parts[0];\n if (text.length > 0 && text[0] == '\\n') {\n var parent_1 = this._getParentElement();\n if (parent_1 != null && parent_1.children.length == 0 &&\n this.getTagDefinition(parent_1.name).ignoreFirstLf) {\n text = text.substring(1);\n }\n }\n if (text.length > 0) {\n this._addToParent(new Text(text, token.sourceSpan));\n }\n };\n _TreeBuilder.prototype._closeVoidElement = function () {\n var el = this._getParentElement();\n if (el && this.getTagDefinition(el.name).isVoid) {\n this._elementStack.pop();\n }\n };\n _TreeBuilder.prototype._consumeStartTag = function (startTagToken) {\n var prefix = startTagToken.parts[0];\n var name = startTagToken.parts[1];\n var attrs = [];\n while (this._peek.type === TokenType$1.ATTR_NAME) {\n attrs.push(this._consumeAttr(this._advance()));\n }\n var fullName = this._getElementFullName(prefix, name, this._getParentElement());\n var selfClosing = false;\n // Note: There could have been a tokenizer error\n // so that we don't get a token for the end tag...\n if (this._peek.type === TokenType$1.TAG_OPEN_END_VOID) {\n this._advance();\n selfClosing = true;\n var tagDef = this.getTagDefinition(fullName);\n if (!(tagDef.canSelfClose || getNsPrefix(fullName) !== null || tagDef.isVoid)) {\n this._errors.push(TreeError.create(fullName, startTagToken.sourceSpan, \"Only void and foreign elements can be self closed \\\"\" + startTagToken.parts[1] + \"\\\"\"));\n }\n }\n else if (this._peek.type === TokenType$1.TAG_OPEN_END) {\n this._advance();\n selfClosing = false;\n }\n var end = this._peek.sourceSpan.start;\n var span = new ParseSourceSpan(startTagToken.sourceSpan.start, end);\n var el = new Element(fullName, attrs, [], span, span, undefined);\n this._pushElement(el);\n if (selfClosing) {\n this._popElement(fullName);\n el.endSourceSpan = span;\n }\n };\n _TreeBuilder.prototype._pushElement = function (el) {\n var parentEl = this._getParentElement();\n if (parentEl && this.getTagDefinition(parentEl.name).isClosedByChild(el.name)) {\n this._elementStack.pop();\n }\n var tagDef = this.getTagDefinition(el.name);\n var _a = this._getParentElementSkippingContainers(), parent = _a.parent, container = _a.container;\n if (parent && tagDef.requireExtraParent(parent.name)) {\n var newParent = new Element(tagDef.parentToAdd, [], [], el.sourceSpan, el.startSourceSpan, el.endSourceSpan);\n this._insertBeforeContainer(parent, container, newParent);\n }\n this._addToParent(el);\n this._elementStack.push(el);\n };\n _TreeBuilder.prototype._consumeEndTag = function (endTagToken) {\n var fullName = this._getElementFullName(endTagToken.parts[0], endTagToken.parts[1], this._getParentElement());\n if (this._getParentElement()) {\n this._getParentElement().endSourceSpan = endTagToken.sourceSpan;\n }\n if (this.getTagDefinition(fullName).isVoid) {\n this._errors.push(TreeError.create(fullName, endTagToken.sourceSpan, \"Void elements do not have end tags \\\"\" + endTagToken.parts[1] + \"\\\"\"));\n }\n else if (!this._popElement(fullName)) {\n var errMsg = \"Unexpected closing tag \\\"\" + fullName + \"\\\". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags\";\n this._errors.push(TreeError.create(fullName, endTagToken.sourceSpan, errMsg));\n }\n };\n _TreeBuilder.prototype._popElement = function (fullName) {\n for (var stackIndex = this._elementStack.length - 1; stackIndex >= 0; stackIndex--) {\n var el = this._elementStack[stackIndex];\n if (el.name == fullName) {\n this._elementStack.splice(stackIndex, this._elementStack.length - stackIndex);\n return true;\n }\n if (!this.getTagDefinition(el.name).closedByParent) {\n return false;\n }\n }\n return false;\n };\n _TreeBuilder.prototype._consumeAttr = function (attrName) {\n var fullName = mergeNsAndName(attrName.parts[0], attrName.parts[1]);\n var end = attrName.sourceSpan.end;\n var value = '';\n var valueSpan = undefined;\n if (this._peek.type === TokenType$1.ATTR_VALUE) {\n var valueToken = this._advance();\n value = valueToken.parts[0];\n end = valueToken.sourceSpan.end;\n valueSpan = valueToken.sourceSpan;\n }\n return new Attribute(fullName, value, new ParseSourceSpan(attrName.sourceSpan.start, end), valueSpan);\n };\n _TreeBuilder.prototype._getParentElement = function () {\n return this._elementStack.length > 0 ? this._elementStack[this._elementStack.length - 1] : null;\n };\n /**\n * Returns the parent in the DOM and the container.\n *\n * `` elements are skipped as they are not rendered as DOM element.\n */\n _TreeBuilder.prototype._getParentElementSkippingContainers = function () {\n var container = null;\n for (var i = this._elementStack.length - 1; i >= 0; i--) {\n if (!isNgContainer(this._elementStack[i].name)) {\n return { parent: this._elementStack[i], container: container };\n }\n container = this._elementStack[i];\n }\n return { parent: null, container: container };\n };\n _TreeBuilder.prototype._addToParent = function (node) {\n var parent = this._getParentElement();\n if (parent != null) {\n parent.children.push(node);\n }\n else {\n this._rootNodes.push(node);\n }\n };\n /**\n * Insert a node between the parent and the container.\n * When no container is given, the node is appended as a child of the parent.\n * Also updates the element stack accordingly.\n *\n * @internal\n */\n _TreeBuilder.prototype._insertBeforeContainer = function (parent, container, node) {\n if (!container) {\n this._addToParent(node);\n this._elementStack.push(node);\n }\n else {\n if (parent) {\n // replace the container with the new node in the children\n var index = parent.children.indexOf(container);\n parent.children[index] = node;\n }\n else {\n this._rootNodes.push(node);\n }\n node.children.push(container);\n this._elementStack.splice(this._elementStack.indexOf(container), 0, node);\n }\n };\n _TreeBuilder.prototype._getElementFullName = function (prefix, localName, parentElement) {\n if (prefix == null) {\n prefix = this.getTagDefinition(localName).implicitNamespacePrefix;\n if (prefix == null && parentElement != null) {\n prefix = getNsPrefix(parentElement.name);\n }\n }\n return mergeNsAndName(prefix, localName);\n };\n return _TreeBuilder;\n}());\nfunction lastOnStack(stack, element) {\n return stack.length > 0 && stack[stack.length - 1] === element;\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar HtmlParser = /** @class */ (function (_super) {\n __extends(HtmlParser, _super);\n function HtmlParser() {\n return _super.call(this, getHtmlTagDefinition) || this;\n }\n HtmlParser.prototype.parse = function (source, url, parseExpansionForms, interpolationConfig) {\n if (parseExpansionForms === void 0) { parseExpansionForms = false; }\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n return _super.prototype.parse.call(this, source, url, parseExpansionForms, interpolationConfig);\n };\n return HtmlParser;\n}(Parser$1));\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar PRESERVE_WS_ATTR_NAME = 'ngPreserveWhitespaces';\nvar SKIP_WS_TRIM_TAGS = new Set(['pre', 'template', 'textarea', 'script', 'style']);\n// Equivalent to \\s with \\u00a0 (non-breaking space) excluded.\n// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\nvar WS_CHARS = ' \\f\\n\\r\\t\\v\\u1680\\u180e\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff';\nvar NO_WS_REGEXP = new RegExp(\"[^\" + WS_CHARS + \"]\");\nvar WS_REPLACE_REGEXP = new RegExp(\"[\" + WS_CHARS + \"]{2,}\", 'g');\nfunction hasPreserveWhitespacesAttr(attrs) {\n return attrs.some(function (attr) { return attr.name === PRESERVE_WS_ATTR_NAME; });\n}\n/**\n * Angular Dart introduced &ngsp; as a placeholder for non-removable space, see:\n * https://github.com/dart-lang/angular/blob/0bb611387d29d65b5af7f9d2515ab571fd3fbee4/_tests/test/compiler/preserve_whitespace_test.dart#L25-L32\n * In Angular Dart &ngsp; is converted to the 0xE500 PUA (Private Use Areas) unicode character\n * and later on replaced by a space. We are re-implementing the same idea here.\n */\nfunction replaceNgsp(value) {\n // lexer is replacing the &ngsp; pseudo-entity with NGSP_UNICODE\n return value.replace(new RegExp(NGSP_UNICODE, 'g'), ' ');\n}\n/**\n * This visitor can walk HTML parse tree and remove / trim text nodes using the following rules:\n * - consider spaces, tabs and new lines as whitespace characters;\n * - drop text nodes consisting of whitespace characters only;\n * - for all other text nodes replace consecutive whitespace characters with one space;\n * - convert &ngsp; pseudo-entity to a single space;\n *\n * Removal and trimming of whitespaces have positive performance impact (less code to generate\n * while compiling templates, faster view creation). At the same time it can be \"destructive\"\n * in some cases (whitespaces can influence layout). Because of the potential of breaking layout\n * this visitor is not activated by default in Angular 5 and people need to explicitly opt-in for\n * whitespace removal. The default option for whitespace removal will be revisited in Angular 6\n * and might be changed to \"on\" by default.\n */\nvar WhitespaceVisitor = /** @class */ (function () {\n function WhitespaceVisitor() {\n }\n WhitespaceVisitor.prototype.visitElement = function (element, context) {\n if (SKIP_WS_TRIM_TAGS.has(element.name) || hasPreserveWhitespacesAttr(element.attrs)) {\n // don't descent into elements where we need to preserve whitespaces\n // but still visit all attributes to eliminate one used as a market to preserve WS\n return new Element(element.name, visitAll(this, element.attrs), element.children, element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n }\n return new Element(element.name, element.attrs, visitAll(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n };\n WhitespaceVisitor.prototype.visitAttribute = function (attribute, context) {\n return attribute.name !== PRESERVE_WS_ATTR_NAME ? attribute : null;\n };\n WhitespaceVisitor.prototype.visitText = function (text, context) {\n var isNotBlank = text.value.match(NO_WS_REGEXP);\n if (isNotBlank) {\n return new Text(replaceNgsp(text.value).replace(WS_REPLACE_REGEXP, ' '), text.sourceSpan);\n }\n return null;\n };\n WhitespaceVisitor.prototype.visitComment = function (comment, context) { return comment; };\n WhitespaceVisitor.prototype.visitExpansion = function (expansion, context) { return expansion; };\n WhitespaceVisitor.prototype.visitExpansionCase = function (expansionCase, context) { return expansionCase; };\n return WhitespaceVisitor;\n}());\nfunction removeWhitespaces(htmlAstWithErrors) {\n return new ParseTreeResult(visitAll(new WhitespaceVisitor(), htmlAstWithErrors.rootNodes), htmlAstWithErrors.errors);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// =================================================================================================\n// =================================================================================================\n// =========== S T O P - S T O P - S T O P - S T O P - S T O P - S T O P ===========\n// =================================================================================================\n// =================================================================================================\n//\n// DO NOT EDIT THIS LIST OF SECURITY SENSITIVE PROPERTIES WITHOUT A SECURITY REVIEW!\n// Reach out to mprobst for details.\n//\n// =================================================================================================\n/** Map from tagName|propertyName SecurityContext. Properties applying to all tags use '*'. */\nvar _SECURITY_SCHEMA;\nfunction SECURITY_SCHEMA() {\n if (!_SECURITY_SCHEMA) {\n _SECURITY_SCHEMA = {};\n // Case is insignificant below, all element and attribute names are lower-cased for lookup.\n registerContext(SecurityContext.HTML, [\n 'iframe|srcdoc',\n '*|innerHTML',\n '*|outerHTML',\n ]);\n registerContext(SecurityContext.STYLE, ['*|style']);\n // NB: no SCRIPT contexts here, they are never allowed due to the parser stripping them.\n registerContext(SecurityContext.URL, [\n '*|formAction', 'area|href', 'area|ping', 'audio|src', 'a|href',\n 'a|ping', 'blockquote|cite', 'body|background', 'del|cite', 'form|action',\n 'img|src', 'img|srcset', 'input|src', 'ins|cite', 'q|cite',\n 'source|src', 'source|srcset', 'track|src', 'video|poster', 'video|src',\n ]);\n registerContext(SecurityContext.RESOURCE_URL, [\n 'applet|code',\n 'applet|codebase',\n 'base|href',\n 'embed|src',\n 'frame|src',\n 'head|profile',\n 'html|manifest',\n 'iframe|src',\n 'link|href',\n 'media|src',\n 'object|codebase',\n 'object|data',\n 'script|src',\n ]);\n }\n return _SECURITY_SCHEMA;\n}\nfunction registerContext(ctx, specs) {\n var e_1, _a;\n try {\n for (var specs_1 = __values(specs), specs_1_1 = specs_1.next(); !specs_1_1.done; specs_1_1 = specs_1.next()) {\n var spec = specs_1_1.value;\n _SECURITY_SCHEMA[spec.toLowerCase()] = ctx;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (specs_1_1 && !specs_1_1.done && (_a = specs_1.return)) _a.call(specs_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar ElementSchemaRegistry = /** @class */ (function () {\n function ElementSchemaRegistry() {\n }\n return ElementSchemaRegistry;\n}());\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar BOOLEAN = 'boolean';\nvar NUMBER = 'number';\nvar STRING = 'string';\nvar OBJECT = 'object';\n/**\n * This array represents the DOM schema. It encodes inheritance, properties, and events.\n *\n * ## Overview\n *\n * Each line represents one kind of element. The `element_inheritance` and properties are joined\n * using `element_inheritance|properties` syntax.\n *\n * ## Element Inheritance\n *\n * The `element_inheritance` can be further subdivided as `element1,element2,...^parentElement`.\n * Here the individual elements are separated by `,` (commas). Every element in the list\n * has identical properties.\n *\n * An `element` may inherit additional properties from `parentElement` If no `^parentElement` is\n * specified then `\"\"` (blank) element is assumed.\n *\n * NOTE: The blank element inherits from root `[Element]` element, the super element of all\n * elements.\n *\n * NOTE an element prefix such as `:svg:` has no special meaning to the schema.\n *\n * ## Properties\n *\n * Each element has a set of properties separated by `,` (commas). Each property can be prefixed\n * by a special character designating its type:\n *\n * - (no prefix): property is a string.\n * - `*`: property represents an event.\n * - `!`: property is a boolean.\n * - `#`: property is a number.\n * - `%`: property is an object.\n *\n * ## Query\n *\n * The class creates an internal squas representation which allows to easily answer the query of\n * if a given property exist on a given element.\n *\n * NOTE: We don't yet support querying for types or events.\n * NOTE: This schema is auto extracted from `schema_extractor.ts` located in the test folder,\n * see dom_element_schema_registry_spec.ts\n */\n// =================================================================================================\n// =================================================================================================\n// =========== S T O P - S T O P - S T O P - S T O P - S T O P - S T O P ===========\n// =================================================================================================\n// =================================================================================================\n//\n// DO NOT EDIT THIS DOM SCHEMA WITHOUT A SECURITY REVIEW!\n//\n// Newly added properties must be security reviewed and assigned an appropriate SecurityContext in\n// dom_security_schema.ts. Reach out to mprobst & rjamet for details.\n//\n// =================================================================================================\nvar SCHEMA = [\n '[Element]|textContent,%classList,className,id,innerHTML,*beforecopy,*beforecut,*beforepaste,*copy,*cut,*paste,*search,*selectstart,*webkitfullscreenchange,*webkitfullscreenerror,*wheel,outerHTML,#scrollLeft,#scrollTop,slot' +\n /* added manually to avoid breaking changes */\n ',*message,*mozfullscreenchange,*mozfullscreenerror,*mozpointerlockchange,*mozpointerlockerror,*webglcontextcreationerror,*webglcontextlost,*webglcontextrestored',\n '[HTMLElement]^[Element]|accessKey,contentEditable,dir,!draggable,!hidden,innerText,lang,*abort,*auxclick,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*cuechange,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*seeked,*seeking,*select,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,outerText,!spellcheck,%style,#tabIndex,title,!translate',\n 'abbr,address,article,aside,b,bdi,bdo,cite,code,dd,dfn,dt,em,figcaption,figure,footer,header,i,kbd,main,mark,nav,noscript,rb,rp,rt,rtc,ruby,s,samp,section,small,strong,sub,sup,u,var,wbr^[HTMLElement]|accessKey,contentEditable,dir,!draggable,!hidden,innerText,lang,*abort,*auxclick,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*cuechange,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*seeked,*seeking,*select,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,outerText,!spellcheck,%style,#tabIndex,title,!translate',\n 'media^[HTMLElement]|!autoplay,!controls,%controlsList,%crossOrigin,#currentTime,!defaultMuted,#defaultPlaybackRate,!disableRemotePlayback,!loop,!muted,*encrypted,*waitingforkey,#playbackRate,preload,src,%srcObject,#volume',\n ':svg:^[HTMLElement]|*abort,*auxclick,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*cuechange,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*seeked,*seeking,*select,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,%style,#tabIndex',\n ':svg:graphics^:svg:|',\n ':svg:animation^:svg:|*begin,*end,*repeat',\n ':svg:geometry^:svg:|',\n ':svg:componentTransferFunction^:svg:|',\n ':svg:gradient^:svg:|',\n ':svg:textContent^:svg:graphics|',\n ':svg:textPositioning^:svg:textContent|',\n 'a^[HTMLElement]|charset,coords,download,hash,host,hostname,href,hreflang,name,password,pathname,ping,port,protocol,referrerPolicy,rel,rev,search,shape,target,text,type,username',\n 'area^[HTMLElement]|alt,coords,download,hash,host,hostname,href,!noHref,password,pathname,ping,port,protocol,referrerPolicy,rel,search,shape,target,username',\n 'audio^media|',\n 'br^[HTMLElement]|clear',\n 'base^[HTMLElement]|href,target',\n 'body^[HTMLElement]|aLink,background,bgColor,link,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,text,vLink',\n 'button^[HTMLElement]|!autofocus,!disabled,formAction,formEnctype,formMethod,!formNoValidate,formTarget,name,type,value',\n 'canvas^[HTMLElement]|#height,#width',\n 'content^[HTMLElement]|select',\n 'dl^[HTMLElement]|!compact',\n 'datalist^[HTMLElement]|',\n 'details^[HTMLElement]|!open',\n 'dialog^[HTMLElement]|!open,returnValue',\n 'dir^[HTMLElement]|!compact',\n 'div^[HTMLElement]|align',\n 'embed^[HTMLElement]|align,height,name,src,type,width',\n 'fieldset^[HTMLElement]|!disabled,name',\n 'font^[HTMLElement]|color,face,size',\n 'form^[HTMLElement]|acceptCharset,action,autocomplete,encoding,enctype,method,name,!noValidate,target',\n 'frame^[HTMLElement]|frameBorder,longDesc,marginHeight,marginWidth,name,!noResize,scrolling,src',\n 'frameset^[HTMLElement]|cols,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,rows',\n 'hr^[HTMLElement]|align,color,!noShade,size,width',\n 'head^[HTMLElement]|',\n 'h1,h2,h3,h4,h5,h6^[HTMLElement]|align',\n 'html^[HTMLElement]|version',\n 'iframe^[HTMLElement]|align,!allowFullscreen,frameBorder,height,longDesc,marginHeight,marginWidth,name,referrerPolicy,%sandbox,scrolling,src,srcdoc,width',\n 'img^[HTMLElement]|align,alt,border,%crossOrigin,#height,#hspace,!isMap,longDesc,lowsrc,name,referrerPolicy,sizes,src,srcset,useMap,#vspace,#width',\n 'input^[HTMLElement]|accept,align,alt,autocapitalize,autocomplete,!autofocus,!checked,!defaultChecked,defaultValue,dirName,!disabled,%files,formAction,formEnctype,formMethod,!formNoValidate,formTarget,#height,!incremental,!indeterminate,max,#maxLength,min,#minLength,!multiple,name,pattern,placeholder,!readOnly,!required,selectionDirection,#selectionEnd,#selectionStart,#size,src,step,type,useMap,value,%valueAsDate,#valueAsNumber,#width',\n 'li^[HTMLElement]|type,#value',\n 'label^[HTMLElement]|htmlFor',\n 'legend^[HTMLElement]|align',\n 'link^[HTMLElement]|as,charset,%crossOrigin,!disabled,href,hreflang,integrity,media,referrerPolicy,rel,%relList,rev,%sizes,target,type',\n 'map^[HTMLElement]|name',\n 'marquee^[HTMLElement]|behavior,bgColor,direction,height,#hspace,#loop,#scrollAmount,#scrollDelay,!trueSpeed,#vspace,width',\n 'menu^[HTMLElement]|!compact',\n 'meta^[HTMLElement]|content,httpEquiv,name,scheme',\n 'meter^[HTMLElement]|#high,#low,#max,#min,#optimum,#value',\n 'ins,del^[HTMLElement]|cite,dateTime',\n 'ol^[HTMLElement]|!compact,!reversed,#start,type',\n 'object^[HTMLElement]|align,archive,border,code,codeBase,codeType,data,!declare,height,#hspace,name,standby,type,useMap,#vspace,width',\n 'optgroup^[HTMLElement]|!disabled,label',\n 'option^[HTMLElement]|!defaultSelected,!disabled,label,!selected,text,value',\n 'output^[HTMLElement]|defaultValue,%htmlFor,name,value',\n 'p^[HTMLElement]|align',\n 'param^[HTMLElement]|name,type,value,valueType',\n 'picture^[HTMLElement]|',\n 'pre^[HTMLElement]|#width',\n 'progress^[HTMLElement]|#max,#value',\n 'q,blockquote,cite^[HTMLElement]|',\n 'script^[HTMLElement]|!async,charset,%crossOrigin,!defer,event,htmlFor,integrity,src,text,type',\n 'select^[HTMLElement]|!autofocus,!disabled,#length,!multiple,name,!required,#selectedIndex,#size,value',\n 'shadow^[HTMLElement]|',\n 'slot^[HTMLElement]|name',\n 'source^[HTMLElement]|media,sizes,src,srcset,type',\n 'span^[HTMLElement]|',\n 'style^[HTMLElement]|!disabled,media,type',\n 'caption^[HTMLElement]|align',\n 'th,td^[HTMLElement]|abbr,align,axis,bgColor,ch,chOff,#colSpan,headers,height,!noWrap,#rowSpan,scope,vAlign,width',\n 'col,colgroup^[HTMLElement]|align,ch,chOff,#span,vAlign,width',\n 'table^[HTMLElement]|align,bgColor,border,%caption,cellPadding,cellSpacing,frame,rules,summary,%tFoot,%tHead,width',\n 'tr^[HTMLElement]|align,bgColor,ch,chOff,vAlign',\n 'tfoot,thead,tbody^[HTMLElement]|align,ch,chOff,vAlign',\n 'template^[HTMLElement]|',\n 'textarea^[HTMLElement]|autocapitalize,!autofocus,#cols,defaultValue,dirName,!disabled,#maxLength,#minLength,name,placeholder,!readOnly,!required,#rows,selectionDirection,#selectionEnd,#selectionStart,value,wrap',\n 'title^[HTMLElement]|text',\n 'track^[HTMLElement]|!default,kind,label,src,srclang',\n 'ul^[HTMLElement]|!compact,type',\n 'unknown^[HTMLElement]|',\n 'video^media|#height,poster,#width',\n ':svg:a^:svg:graphics|',\n ':svg:animate^:svg:animation|',\n ':svg:animateMotion^:svg:animation|',\n ':svg:animateTransform^:svg:animation|',\n ':svg:circle^:svg:geometry|',\n ':svg:clipPath^:svg:graphics|',\n ':svg:defs^:svg:graphics|',\n ':svg:desc^:svg:|',\n ':svg:discard^:svg:|',\n ':svg:ellipse^:svg:geometry|',\n ':svg:feBlend^:svg:|',\n ':svg:feColorMatrix^:svg:|',\n ':svg:feComponentTransfer^:svg:|',\n ':svg:feComposite^:svg:|',\n ':svg:feConvolveMatrix^:svg:|',\n ':svg:feDiffuseLighting^:svg:|',\n ':svg:feDisplacementMap^:svg:|',\n ':svg:feDistantLight^:svg:|',\n ':svg:feDropShadow^:svg:|',\n ':svg:feFlood^:svg:|',\n ':svg:feFuncA^:svg:componentTransferFunction|',\n ':svg:feFuncB^:svg:componentTransferFunction|',\n ':svg:feFuncG^:svg:componentTransferFunction|',\n ':svg:feFuncR^:svg:componentTransferFunction|',\n ':svg:feGaussianBlur^:svg:|',\n ':svg:feImage^:svg:|',\n ':svg:feMerge^:svg:|',\n ':svg:feMergeNode^:svg:|',\n ':svg:feMorphology^:svg:|',\n ':svg:feOffset^:svg:|',\n ':svg:fePointLight^:svg:|',\n ':svg:feSpecularLighting^:svg:|',\n ':svg:feSpotLight^:svg:|',\n ':svg:feTile^:svg:|',\n ':svg:feTurbulence^:svg:|',\n ':svg:filter^:svg:|',\n ':svg:foreignObject^:svg:graphics|',\n ':svg:g^:svg:graphics|',\n ':svg:image^:svg:graphics|',\n ':svg:line^:svg:geometry|',\n ':svg:linearGradient^:svg:gradient|',\n ':svg:mpath^:svg:|',\n ':svg:marker^:svg:|',\n ':svg:mask^:svg:|',\n ':svg:metadata^:svg:|',\n ':svg:path^:svg:geometry|',\n ':svg:pattern^:svg:|',\n ':svg:polygon^:svg:geometry|',\n ':svg:polyline^:svg:geometry|',\n ':svg:radialGradient^:svg:gradient|',\n ':svg:rect^:svg:geometry|',\n ':svg:svg^:svg:graphics|#currentScale,#zoomAndPan',\n ':svg:script^:svg:|type',\n ':svg:set^:svg:animation|',\n ':svg:stop^:svg:|',\n ':svg:style^:svg:|!disabled,media,title,type',\n ':svg:switch^:svg:graphics|',\n ':svg:symbol^:svg:|',\n ':svg:tspan^:svg:textPositioning|',\n ':svg:text^:svg:textPositioning|',\n ':svg:textPath^:svg:textContent|',\n ':svg:title^:svg:|',\n ':svg:use^:svg:graphics|',\n ':svg:view^:svg:|#zoomAndPan',\n 'data^[HTMLElement]|value',\n 'keygen^[HTMLElement]|!autofocus,challenge,!disabled,form,keytype,name',\n 'menuitem^[HTMLElement]|type,label,icon,!disabled,!checked,radiogroup,!default',\n 'summary^[HTMLElement]|',\n 'time^[HTMLElement]|dateTime',\n ':svg:cursor^:svg:|',\n];\nvar _ATTR_TO_PROP = {\n 'class': 'className',\n 'for': 'htmlFor',\n 'formaction': 'formAction',\n 'innerHtml': 'innerHTML',\n 'readonly': 'readOnly',\n 'tabindex': 'tabIndex',\n};\nvar DomElementSchemaRegistry = /** @class */ (function (_super) {\n __extends(DomElementSchemaRegistry, _super);\n function DomElementSchemaRegistry() {\n var _this = _super.call(this) || this;\n _this._schema = {};\n SCHEMA.forEach(function (encodedType) {\n var type = {};\n var _a = __read(encodedType.split('|'), 2), strType = _a[0], strProperties = _a[1];\n var properties = strProperties.split(',');\n var _b = __read(strType.split('^'), 2), typeNames = _b[0], superName = _b[1];\n typeNames.split(',').forEach(function (tag) { return _this._schema[tag.toLowerCase()] = type; });\n var superType = superName && _this._schema[superName.toLowerCase()];\n if (superType) {\n Object.keys(superType).forEach(function (prop) { type[prop] = superType[prop]; });\n }\n properties.forEach(function (property) {\n if (property.length > 0) {\n switch (property[0]) {\n case '*':\n // We don't yet support events.\n // If ever allowing to bind to events, GO THROUGH A SECURITY REVIEW, allowing events\n // will\n // almost certainly introduce bad XSS vulnerabilities.\n // type[property.substring(1)] = EVENT;\n break;\n case '!':\n type[property.substring(1)] = BOOLEAN;\n break;\n case '#':\n type[property.substring(1)] = NUMBER;\n break;\n case '%':\n type[property.substring(1)] = OBJECT;\n break;\n default:\n type[property] = STRING;\n }\n }\n });\n });\n return _this;\n }\n DomElementSchemaRegistry.prototype.hasProperty = function (tagName, propName, schemaMetas) {\n if (schemaMetas.some(function (schema) { return schema.name === NO_ERRORS_SCHEMA.name; })) {\n return true;\n }\n if (tagName.indexOf('-') > -1) {\n if (isNgContainer(tagName) || isNgContent(tagName)) {\n return false;\n }\n if (schemaMetas.some(function (schema) { return schema.name === CUSTOM_ELEMENTS_SCHEMA.name; })) {\n // Can't tell now as we don't know which properties a custom element will get\n // once it is instantiated\n return true;\n }\n }\n var elementProperties = this._schema[tagName.toLowerCase()] || this._schema['unknown'];\n return !!elementProperties[propName];\n };\n DomElementSchemaRegistry.prototype.hasElement = function (tagName, schemaMetas) {\n if (schemaMetas.some(function (schema) { return schema.name === NO_ERRORS_SCHEMA.name; })) {\n return true;\n }\n if (tagName.indexOf('-') > -1) {\n if (isNgContainer(tagName) || isNgContent(tagName)) {\n return true;\n }\n if (schemaMetas.some(function (schema) { return schema.name === CUSTOM_ELEMENTS_SCHEMA.name; })) {\n // Allow any custom elements\n return true;\n }\n }\n return !!this._schema[tagName.toLowerCase()];\n };\n /**\n * securityContext returns the security context for the given property on the given DOM tag.\n *\n * Tag and property name are statically known and cannot change at runtime, i.e. it is not\n * possible to bind a value into a changing attribute or tag name.\n *\n * The filtering is white list based. All attributes in the schema above are assumed to have the\n * 'NONE' security context, i.e. that they are safe inert string values. Only specific well known\n * attack vectors are assigned their appropriate context.\n */\n DomElementSchemaRegistry.prototype.securityContext = function (tagName, propName, isAttribute) {\n if (isAttribute) {\n // NB: For security purposes, use the mapped property name, not the attribute name.\n propName = this.getMappedPropName(propName);\n }\n // Make sure comparisons are case insensitive, so that case differences between attribute and\n // property names do not have a security impact.\n tagName = tagName.toLowerCase();\n propName = propName.toLowerCase();\n var ctx = SECURITY_SCHEMA()[tagName + '|' + propName];\n if (ctx) {\n return ctx;\n }\n ctx = SECURITY_SCHEMA()['*|' + propName];\n return ctx ? ctx : SecurityContext.NONE;\n };\n DomElementSchemaRegistry.prototype.getMappedPropName = function (propName) { return _ATTR_TO_PROP[propName] || propName; };\n DomElementSchemaRegistry.prototype.getDefaultComponentElementName = function () { return 'ng-component'; };\n DomElementSchemaRegistry.prototype.validateProperty = function (name) {\n if (name.toLowerCase().startsWith('on')) {\n var msg = \"Binding to event property '\" + name + \"' is disallowed for security reasons, \" +\n (\"please use (\" + name.slice(2) + \")=...\") +\n (\"\\nIf '\" + name + \"' is a directive input, make sure the directive is imported by the\") +\n \" current module.\";\n return { error: true, msg: msg };\n }\n else {\n return { error: false };\n }\n };\n DomElementSchemaRegistry.prototype.validateAttribute = function (name) {\n if (name.toLowerCase().startsWith('on')) {\n var msg = \"Binding to event attribute '\" + name + \"' is disallowed for security reasons, \" +\n (\"please use (\" + name.slice(2) + \")=...\");\n return { error: true, msg: msg };\n }\n else {\n return { error: false };\n }\n };\n DomElementSchemaRegistry.prototype.allKnownElementNames = function () { return Object.keys(this._schema); };\n DomElementSchemaRegistry.prototype.normalizeAnimationStyleProperty = function (propName) {\n return dashCaseToCamelCase(propName);\n };\n DomElementSchemaRegistry.prototype.normalizeAnimationStyleValue = function (camelCaseProp, userProvidedProp, val) {\n var unit = '';\n var strVal = val.toString().trim();\n var errorMsg = null;\n if (_isPixelDimensionStyle(camelCaseProp) && val !== 0 && val !== '0') {\n if (typeof val === 'number') {\n unit = 'px';\n }\n else {\n var valAndSuffixMatch = val.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errorMsg = \"Please provide a CSS unit value for \" + userProvidedProp + \":\" + val;\n }\n }\n }\n return { error: errorMsg, value: strVal + unit };\n };\n return DomElementSchemaRegistry;\n}(ElementSchemaRegistry));\nfunction _isPixelDimensionStyle(prop) {\n switch (prop) {\n case 'width':\n case 'height':\n case 'minWidth':\n case 'minHeight':\n case 'maxWidth':\n case 'maxHeight':\n case 'left':\n case 'top':\n case 'bottom':\n case 'right':\n case 'fontSize':\n case 'outlineWidth':\n case 'outlineOffset':\n case 'paddingTop':\n case 'paddingLeft':\n case 'paddingBottom':\n case 'paddingRight':\n case 'marginTop':\n case 'marginLeft':\n case 'marginBottom':\n case 'marginRight':\n case 'borderRadius':\n case 'borderWidth':\n case 'borderTopWidth':\n case 'borderLeftWidth':\n case 'borderRightWidth':\n case 'borderBottomWidth':\n case 'textIndent':\n return true;\n default:\n return false;\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar PROPERTY_PARTS_SEPARATOR = '.';\nvar ATTRIBUTE_PREFIX = 'attr';\nvar CLASS_PREFIX = 'class';\nvar STYLE_PREFIX = 'style';\nvar ANIMATE_PROP_PREFIX = 'animate-';\n/**\n * Parses bindings in templates and in the directive host area.\n */\nvar BindingParser = /** @class */ (function () {\n function BindingParser(_exprParser, _interpolationConfig, _schemaRegistry, pipes, errors) {\n this._exprParser = _exprParser;\n this._interpolationConfig = _interpolationConfig;\n this._schemaRegistry = _schemaRegistry;\n this.errors = errors;\n this.pipesByName = null;\n this._usedPipes = new Map();\n // When the `pipes` parameter is `null`, do not check for used pipes\n // This is used in IVY when we might not know the available pipes at compile time\n if (pipes) {\n var pipesByName_1 = new Map();\n pipes.forEach(function (pipe) { return pipesByName_1.set(pipe.name, pipe); });\n this.pipesByName = pipesByName_1;\n }\n }\n BindingParser.prototype.getUsedPipes = function () { return Array.from(this._usedPipes.values()); };\n BindingParser.prototype.createBoundHostProperties = function (dirMeta, sourceSpan) {\n var _this = this;\n if (dirMeta.hostProperties) {\n var boundProps_1 = [];\n Object.keys(dirMeta.hostProperties).forEach(function (propName) {\n var expression = dirMeta.hostProperties[propName];\n if (typeof expression === 'string') {\n _this.parsePropertyBinding(propName, expression, true, sourceSpan, [], boundProps_1);\n }\n else {\n _this._reportError(\"Value of the host property binding \\\"\" + propName + \"\\\" needs to be a string representing an expression but got \\\"\" + expression + \"\\\" (\" + typeof expression + \")\", sourceSpan);\n }\n });\n return boundProps_1;\n }\n return null;\n };\n BindingParser.prototype.createDirectiveHostPropertyAsts = function (dirMeta, elementSelector, sourceSpan) {\n var _this = this;\n var boundProps = this.createBoundHostProperties(dirMeta, sourceSpan);\n return boundProps &&\n boundProps.map(function (prop) { return _this.createBoundElementProperty(elementSelector, prop); });\n };\n BindingParser.prototype.createDirectiveHostEventAsts = function (dirMeta, sourceSpan) {\n var _this = this;\n if (dirMeta.hostListeners) {\n var targetEvents_1 = [];\n Object.keys(dirMeta.hostListeners).forEach(function (propName) {\n var expression = dirMeta.hostListeners[propName];\n if (typeof expression === 'string') {\n _this.parseEvent(propName, expression, sourceSpan, [], targetEvents_1);\n }\n else {\n _this._reportError(\"Value of the host listener \\\"\" + propName + \"\\\" needs to be a string representing an expression but got \\\"\" + expression + \"\\\" (\" + typeof expression + \")\", sourceSpan);\n }\n });\n return targetEvents_1;\n }\n return null;\n };\n BindingParser.prototype.parseInterpolation = function (value, sourceSpan) {\n var sourceInfo = sourceSpan.start.toString();\n try {\n var ast = this._exprParser.parseInterpolation(value, sourceInfo, this._interpolationConfig);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(\"\" + e, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);\n }\n };\n // Parse an inline template binding. ie `\">`\n BindingParser.prototype.parseInlineTemplateBinding = function (tplKey, tplValue, sourceSpan, targetMatchableAttrs, targetProps, targetVars) {\n var bindings = this._parseTemplateBindings(tplKey, tplValue, sourceSpan);\n for (var i = 0; i < bindings.length; i++) {\n var binding = bindings[i];\n if (binding.keyIsVar) {\n targetVars.push(new ParsedVariable(binding.key, binding.name, sourceSpan));\n }\n else if (binding.expression) {\n this._parsePropertyAst(binding.key, binding.expression, sourceSpan, targetMatchableAttrs, targetProps);\n }\n else {\n targetMatchableAttrs.push([binding.key, '']);\n this.parseLiteralAttr(binding.key, null, sourceSpan, targetMatchableAttrs, targetProps);\n }\n }\n };\n BindingParser.prototype._parseTemplateBindings = function (tplKey, tplValue, sourceSpan) {\n var _this = this;\n var sourceInfo = sourceSpan.start.toString();\n try {\n var bindingsResult = this._exprParser.parseTemplateBindings(tplKey, tplValue, sourceInfo);\n this._reportExpressionParserErrors(bindingsResult.errors, sourceSpan);\n bindingsResult.templateBindings.forEach(function (binding) {\n if (binding.expression) {\n _this._checkPipes(binding.expression, sourceSpan);\n }\n });\n bindingsResult.warnings.forEach(function (warning) { _this._reportError(warning, sourceSpan, ParseErrorLevel.WARNING); });\n return bindingsResult.templateBindings;\n }\n catch (e) {\n this._reportError(\"\" + e, sourceSpan);\n return [];\n }\n };\n BindingParser.prototype.parseLiteralAttr = function (name, value, sourceSpan, targetMatchableAttrs, targetProps) {\n if (isAnimationLabel(name)) {\n name = name.substring(1);\n if (value) {\n this._reportError(\"Assigning animation triggers via @prop=\\\"exp\\\" attributes with an expression is invalid.\" +\n \" Use property bindings (e.g. [@prop]=\\\"exp\\\") or use an attribute without a value (e.g. @prop) instead.\", sourceSpan, ParseErrorLevel.ERROR);\n }\n this._parseAnimation(name, value, sourceSpan, targetMatchableAttrs, targetProps);\n }\n else {\n targetProps.push(new ParsedProperty(name, this._exprParser.wrapLiteralPrimitive(value, ''), ParsedPropertyType.LITERAL_ATTR, sourceSpan));\n }\n };\n BindingParser.prototype.parsePropertyBinding = function (name, expression, isHost, sourceSpan, targetMatchableAttrs, targetProps) {\n var isAnimationProp = false;\n if (name.startsWith(ANIMATE_PROP_PREFIX)) {\n isAnimationProp = true;\n name = name.substring(ANIMATE_PROP_PREFIX.length);\n }\n else if (isAnimationLabel(name)) {\n isAnimationProp = true;\n name = name.substring(1);\n }\n if (isAnimationProp) {\n this._parseAnimation(name, expression, sourceSpan, targetMatchableAttrs, targetProps);\n }\n else {\n this._parsePropertyAst(name, this._parseBinding(expression, isHost, sourceSpan), sourceSpan, targetMatchableAttrs, targetProps);\n }\n };\n BindingParser.prototype.parsePropertyInterpolation = function (name, value, sourceSpan, targetMatchableAttrs, targetProps) {\n var expr = this.parseInterpolation(value, sourceSpan);\n if (expr) {\n this._parsePropertyAst(name, expr, sourceSpan, targetMatchableAttrs, targetProps);\n return true;\n }\n return false;\n };\n BindingParser.prototype._parsePropertyAst = function (name, ast, sourceSpan, targetMatchableAttrs, targetProps) {\n targetMatchableAttrs.push([name, ast.source]);\n targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.DEFAULT, sourceSpan));\n };\n BindingParser.prototype._parseAnimation = function (name, expression, sourceSpan, targetMatchableAttrs, targetProps) {\n // This will occur when a @trigger is not paired with an expression.\n // For animations it is valid to not have an expression since */void\n // states will be applied by angular when the element is attached/detached\n var ast = this._parseBinding(expression || 'undefined', false, sourceSpan);\n targetMatchableAttrs.push([name, ast.source]);\n targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.ANIMATION, sourceSpan));\n };\n BindingParser.prototype._parseBinding = function (value, isHostBinding, sourceSpan) {\n var sourceInfo = (sourceSpan && sourceSpan.start || '(unknown)').toString();\n try {\n var ast = isHostBinding ?\n this._exprParser.parseSimpleBinding(value, sourceInfo, this._interpolationConfig) :\n this._exprParser.parseBinding(value, sourceInfo, this._interpolationConfig);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(\"\" + e, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);\n }\n };\n BindingParser.prototype.createBoundElementProperty = function (elementSelector, boundProp) {\n if (boundProp.isAnimation) {\n return new BoundElementProperty(boundProp.name, 4 /* Animation */, SecurityContext.NONE, boundProp.expression, null, boundProp.sourceSpan);\n }\n var unit = null;\n var bindingType = undefined;\n var boundPropertyName = null;\n var parts = boundProp.name.split(PROPERTY_PARTS_SEPARATOR);\n var securityContexts = undefined;\n // Check check for special cases (prefix style, attr, class)\n if (parts.length > 1) {\n if (parts[0] == ATTRIBUTE_PREFIX) {\n boundPropertyName = parts[1];\n this._validatePropertyOrAttributeName(boundPropertyName, boundProp.sourceSpan, true);\n securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, boundPropertyName, true);\n var nsSeparatorIdx = boundPropertyName.indexOf(':');\n if (nsSeparatorIdx > -1) {\n var ns = boundPropertyName.substring(0, nsSeparatorIdx);\n var name_1 = boundPropertyName.substring(nsSeparatorIdx + 1);\n boundPropertyName = mergeNsAndName(ns, name_1);\n }\n bindingType = 1 /* Attribute */;\n }\n else if (parts[0] == CLASS_PREFIX) {\n boundPropertyName = parts[1];\n bindingType = 2 /* Class */;\n securityContexts = [SecurityContext.NONE];\n }\n else if (parts[0] == STYLE_PREFIX) {\n unit = parts.length > 2 ? parts[2] : null;\n boundPropertyName = parts[1];\n bindingType = 3 /* Style */;\n securityContexts = [SecurityContext.STYLE];\n }\n }\n // If not a special case, use the full property name\n if (boundPropertyName === null) {\n boundPropertyName = this._schemaRegistry.getMappedPropName(boundProp.name);\n securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, boundPropertyName, false);\n bindingType = 0 /* Property */;\n this._validatePropertyOrAttributeName(boundPropertyName, boundProp.sourceSpan, false);\n }\n return new BoundElementProperty(boundPropertyName, bindingType, securityContexts[0], boundProp.expression, unit, boundProp.sourceSpan);\n };\n BindingParser.prototype.parseEvent = function (name, expression, sourceSpan, targetMatchableAttrs, targetEvents) {\n if (isAnimationLabel(name)) {\n name = name.substr(1);\n this._parseAnimationEvent(name, expression, sourceSpan, targetEvents);\n }\n else {\n this._parseRegularEvent(name, expression, sourceSpan, targetMatchableAttrs, targetEvents);\n }\n };\n BindingParser.prototype._parseAnimationEvent = function (name, expression, sourceSpan, targetEvents) {\n var matches = splitAtPeriod(name, [name, '']);\n var eventName = matches[0];\n var phase = matches[1].toLowerCase();\n if (phase) {\n switch (phase) {\n case 'start':\n case 'done':\n var ast = this._parseAction(expression, sourceSpan);\n targetEvents.push(new ParsedEvent(eventName, phase, 1 /* Animation */, ast, sourceSpan));\n break;\n default:\n this._reportError(\"The provided animation output phase value \\\"\" + phase + \"\\\" for \\\"@\" + eventName + \"\\\" is not supported (use start or done)\", sourceSpan);\n break;\n }\n }\n else {\n this._reportError(\"The animation trigger output event (@\" + eventName + \") is missing its phase value name (start or done are currently supported)\", sourceSpan);\n }\n };\n BindingParser.prototype._parseRegularEvent = function (name, expression, sourceSpan, targetMatchableAttrs, targetEvents) {\n // long format: 'target: eventName'\n var _a = __read(splitAtColon(name, [null, name]), 2), target = _a[0], eventName = _a[1];\n var ast = this._parseAction(expression, sourceSpan);\n targetMatchableAttrs.push([name, ast.source]);\n targetEvents.push(new ParsedEvent(eventName, target, 0 /* Regular */, ast, sourceSpan));\n // Don't detect directives for event names for now,\n // so don't add the event name to the matchableAttrs\n };\n BindingParser.prototype._parseAction = function (value, sourceSpan) {\n var sourceInfo = (sourceSpan && sourceSpan.start || '(unknown').toString();\n try {\n var ast = this._exprParser.parseAction(value, sourceInfo, this._interpolationConfig);\n if (ast) {\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n }\n if (!ast || ast.ast instanceof EmptyExpr) {\n this._reportError(\"Empty expressions are not allowed\", sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);\n }\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(\"\" + e, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);\n }\n };\n BindingParser.prototype._reportError = function (message, sourceSpan, level) {\n if (level === void 0) { level = ParseErrorLevel.ERROR; }\n this.errors.push(new ParseError(sourceSpan, message, level));\n };\n BindingParser.prototype._reportExpressionParserErrors = function (errors, sourceSpan) {\n var e_1, _a;\n try {\n for (var errors_1 = __values(errors), errors_1_1 = errors_1.next(); !errors_1_1.done; errors_1_1 = errors_1.next()) {\n var error$$1 = errors_1_1.value;\n this._reportError(error$$1.message, sourceSpan);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (errors_1_1 && !errors_1_1.done && (_a = errors_1.return)) _a.call(errors_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n // Make sure all the used pipes are known in `this.pipesByName`\n BindingParser.prototype._checkPipes = function (ast, sourceSpan) {\n var _this = this;\n if (ast && this.pipesByName) {\n var collector = new PipeCollector();\n ast.visit(collector);\n collector.pipes.forEach(function (ast, pipeName) {\n var pipeMeta = _this.pipesByName.get(pipeName);\n if (!pipeMeta) {\n _this._reportError(\"The pipe '\" + pipeName + \"' could not be found\", new ParseSourceSpan(sourceSpan.start.moveBy(ast.span.start), sourceSpan.start.moveBy(ast.span.end)));\n }\n else {\n _this._usedPipes.set(pipeName, pipeMeta);\n }\n });\n }\n };\n /**\n * @param propName the name of the property / attribute\n * @param sourceSpan\n * @param isAttr true when binding to an attribute\n */\n BindingParser.prototype._validatePropertyOrAttributeName = function (propName, sourceSpan, isAttr) {\n var report = isAttr ? this._schemaRegistry.validateAttribute(propName) :\n this._schemaRegistry.validateProperty(propName);\n if (report.error) {\n this._reportError(report.msg, sourceSpan, ParseErrorLevel.ERROR);\n }\n };\n return BindingParser;\n}());\nvar PipeCollector = /** @class */ (function (_super) {\n __extends(PipeCollector, _super);\n function PipeCollector() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.pipes = new Map();\n return _this;\n }\n PipeCollector.prototype.visitPipe = function (ast, context) {\n this.pipes.set(ast.name, ast);\n ast.exp.visit(this);\n this.visitAll(ast.args, context);\n return null;\n };\n return PipeCollector;\n}(RecursiveAstVisitor$1));\nfunction isAnimationLabel(name) {\n return name[0] == '@';\n}\nfunction calcPossibleSecurityContexts(registry, selector, propName, isAttribute) {\n var ctxs = [];\n CssSelector.parse(selector).forEach(function (selector) {\n var elementNames = selector.element ? [selector.element] : registry.allKnownElementNames();\n var notElementNames = new Set(selector.notSelectors.filter(function (selector) { return selector.isElementSelector(); })\n .map(function (selector) { return selector.element; }));\n var possibleElementNames = elementNames.filter(function (elementName) { return !notElementNames.has(elementName); });\n ctxs.push.apply(ctxs, __spread(possibleElementNames.map(function (elementName) { return registry.securityContext(elementName, propName, isAttribute); })));\n });\n return ctxs.length === 0 ? [SecurityContext.NONE] : Array.from(new Set(ctxs)).sort();\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Text$1 = /** @class */ (function () {\n function Text(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n Text.prototype.visit = function (visitor) { return visitor.visitText(this); };\n return Text;\n}());\nvar BoundText = /** @class */ (function () {\n function BoundText(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n BoundText.prototype.visit = function (visitor) { return visitor.visitBoundText(this); };\n return BoundText;\n}());\nvar TextAttribute = /** @class */ (function () {\n function TextAttribute(name, value, sourceSpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n TextAttribute.prototype.visit = function (visitor) { return visitor.visitTextAttribute(this); };\n return TextAttribute;\n}());\nvar BoundAttribute = /** @class */ (function () {\n function BoundAttribute(name, type, securityContext, value, unit, sourceSpan) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n }\n BoundAttribute.fromBoundElementProperty = function (prop) {\n return new BoundAttribute(prop.name, prop.type, prop.securityContext, prop.value, prop.unit, prop.sourceSpan);\n };\n BoundAttribute.prototype.visit = function (visitor) { return visitor.visitBoundAttribute(this); };\n return BoundAttribute;\n}());\nvar BoundEvent = /** @class */ (function () {\n function BoundEvent(name, handler, target, phase, sourceSpan) {\n this.name = name;\n this.handler = handler;\n this.target = target;\n this.phase = phase;\n this.sourceSpan = sourceSpan;\n }\n BoundEvent.fromParsedEvent = function (event) {\n var target = event.type === 0 /* Regular */ ? event.targetOrPhase : null;\n var phase = event.type === 1 /* Animation */ ? event.targetOrPhase : null;\n return new BoundEvent(event.name, event.handler, target, phase, event.sourceSpan);\n };\n BoundEvent.prototype.visit = function (visitor) { return visitor.visitBoundEvent(this); };\n return BoundEvent;\n}());\nvar Element$1 = /** @class */ (function () {\n function Element(name, attributes, inputs, outputs, children, references, sourceSpan, startSourceSpan, endSourceSpan) {\n this.name = name;\n this.attributes = attributes;\n this.inputs = inputs;\n this.outputs = outputs;\n this.children = children;\n this.references = references;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n Element.prototype.visit = function (visitor) { return visitor.visitElement(this); };\n return Element;\n}());\nvar Template = /** @class */ (function () {\n function Template(attributes, inputs, outputs, children, references, variables, sourceSpan, startSourceSpan, endSourceSpan) {\n this.attributes = attributes;\n this.inputs = inputs;\n this.outputs = outputs;\n this.children = children;\n this.references = references;\n this.variables = variables;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n Template.prototype.visit = function (visitor) { return visitor.visitTemplate(this); };\n return Template;\n}());\nvar Content = /** @class */ (function () {\n function Content(selectorIndex, attributes, sourceSpan) {\n this.selectorIndex = selectorIndex;\n this.attributes = attributes;\n this.sourceSpan = sourceSpan;\n }\n Content.prototype.visit = function (visitor) { return visitor.visitContent(this); };\n return Content;\n}());\nvar Variable = /** @class */ (function () {\n function Variable(name, value, sourceSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n Variable.prototype.visit = function (visitor) { return visitor.visitVariable(this); };\n return Variable;\n}());\nvar Reference = /** @class */ (function () {\n function Reference(name, value, sourceSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n Reference.prototype.visit = function (visitor) { return visitor.visitReference(this); };\n return Reference;\n}());\nfunction visitAll$1(visitor, nodes) {\n var e_1, _a, e_2, _b;\n var result = [];\n if (visitor.visit) {\n try {\n for (var nodes_1 = __values(nodes), nodes_1_1 = nodes_1.next(); !nodes_1_1.done; nodes_1_1 = nodes_1.next()) {\n var node = nodes_1_1.value;\n var newNode = visitor.visit(node) || node.visit(visitor);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (nodes_1_1 && !nodes_1_1.done && (_a = nodes_1.return)) _a.call(nodes_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n try {\n for (var nodes_2 = __values(nodes), nodes_2_1 = nodes_2.next(); !nodes_2_1.done; nodes_2_1 = nodes_2.next()) {\n var node = nodes_2_1.value;\n var newNode = node.visit(visitor);\n if (newNode) {\n result.push(newNode);\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (nodes_2_1 && !nodes_2_1.done && (_b = nodes_2.return)) _b.call(nodes_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar StyleWithImports = /** @class */ (function () {\n function StyleWithImports(style, styleUrls) {\n this.style = style;\n this.styleUrls = styleUrls;\n }\n return StyleWithImports;\n}());\nfunction isStyleUrlResolvable(url) {\n if (url == null || url.length === 0 || url[0] == '/')\n return false;\n var schemeMatch = url.match(URL_WITH_SCHEMA_REGEXP);\n return schemeMatch === null || schemeMatch[1] == 'package' || schemeMatch[1] == 'asset';\n}\n/**\n * Rewrites stylesheets by resolving and removing the @import urls that\n * are either relative or don't have a `package:` scheme\n */\nfunction extractStyleUrls(resolver, baseUrl, cssText) {\n var foundUrls = [];\n var modifiedCssText = cssText.replace(CSS_STRIPPABLE_COMMENT_REGEXP, '')\n .replace(CSS_IMPORT_REGEXP, function () {\n var m = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n m[_i] = arguments[_i];\n }\n var url = m[1] || m[2];\n if (!isStyleUrlResolvable(url)) {\n // Do not attempt to resolve non-package absolute URLs with URI\n // scheme\n return m[0];\n }\n foundUrls.push(resolver.resolve(baseUrl, url));\n return '';\n });\n return new StyleWithImports(modifiedCssText, foundUrls);\n}\nvar CSS_IMPORT_REGEXP = /@import\\s+(?:url\\()?\\s*(?:(?:['\"]([^'\"]*))|([^;\\)\\s]*))[^;]*;?/g;\nvar CSS_STRIPPABLE_COMMENT_REGEXP = /\\/\\*(?!#\\s*(?:sourceURL|sourceMappingURL)=)[\\s\\S]+?\\*\\//g;\nvar URL_WITH_SCHEMA_REGEXP = /^([^:/?#]+):/;\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar NG_CONTENT_SELECT_ATTR = 'select';\nvar LINK_ELEMENT = 'link';\nvar LINK_STYLE_REL_ATTR = 'rel';\nvar LINK_STYLE_HREF_ATTR = 'href';\nvar LINK_STYLE_REL_VALUE = 'stylesheet';\nvar STYLE_ELEMENT = 'style';\nvar SCRIPT_ELEMENT = 'script';\nvar NG_NON_BINDABLE_ATTR = 'ngNonBindable';\nvar NG_PROJECT_AS = 'ngProjectAs';\nfunction preparseElement(ast) {\n var selectAttr = null;\n var hrefAttr = null;\n var relAttr = null;\n var nonBindable = false;\n var projectAs = '';\n ast.attrs.forEach(function (attr) {\n var lcAttrName = attr.name.toLowerCase();\n if (lcAttrName == NG_CONTENT_SELECT_ATTR) {\n selectAttr = attr.value;\n }\n else if (lcAttrName == LINK_STYLE_HREF_ATTR) {\n hrefAttr = attr.value;\n }\n else if (lcAttrName == LINK_STYLE_REL_ATTR) {\n relAttr = attr.value;\n }\n else if (attr.name == NG_NON_BINDABLE_ATTR) {\n nonBindable = true;\n }\n else if (attr.name == NG_PROJECT_AS) {\n if (attr.value.length > 0) {\n projectAs = attr.value;\n }\n }\n });\n selectAttr = normalizeNgContentSelect(selectAttr);\n var nodeName = ast.name.toLowerCase();\n var type = PreparsedElementType.OTHER;\n if (isNgContent(nodeName)) {\n type = PreparsedElementType.NG_CONTENT;\n }\n else if (nodeName == STYLE_ELEMENT) {\n type = PreparsedElementType.STYLE;\n }\n else if (nodeName == SCRIPT_ELEMENT) {\n type = PreparsedElementType.SCRIPT;\n }\n else if (nodeName == LINK_ELEMENT && relAttr == LINK_STYLE_REL_VALUE) {\n type = PreparsedElementType.STYLESHEET;\n }\n return new PreparsedElement(type, selectAttr, hrefAttr, nonBindable, projectAs);\n}\nvar PreparsedElementType;\n(function (PreparsedElementType) {\n PreparsedElementType[PreparsedElementType[\"NG_CONTENT\"] = 0] = \"NG_CONTENT\";\n PreparsedElementType[PreparsedElementType[\"STYLE\"] = 1] = \"STYLE\";\n PreparsedElementType[PreparsedElementType[\"STYLESHEET\"] = 2] = \"STYLESHEET\";\n PreparsedElementType[PreparsedElementType[\"SCRIPT\"] = 3] = \"SCRIPT\";\n PreparsedElementType[PreparsedElementType[\"OTHER\"] = 4] = \"OTHER\";\n})(PreparsedElementType || (PreparsedElementType = {}));\nvar PreparsedElement = /** @class */ (function () {\n function PreparsedElement(type, selectAttr, hrefAttr, nonBindable, projectAs) {\n this.type = type;\n this.selectAttr = selectAttr;\n this.hrefAttr = hrefAttr;\n this.nonBindable = nonBindable;\n this.projectAs = projectAs;\n }\n return PreparsedElement;\n}());\nfunction normalizeNgContentSelect(selectAttr) {\n if (selectAttr === null || selectAttr.length === 0) {\n return '*';\n }\n return selectAttr;\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar BIND_NAME_REGEXP = /^(?:(?:(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.+))|\\[\\(([^\\)]+)\\)\\]|\\[([^\\]]+)\\]|\\(([^\\)]+)\\))$/;\n// Group 1 = \"bind-\"\nvar KW_BIND_IDX = 1;\n// Group 2 = \"let-\"\nvar KW_LET_IDX = 2;\n// Group 3 = \"ref-/#\"\nvar KW_REF_IDX = 3;\n// Group 4 = \"on-\"\nvar KW_ON_IDX = 4;\n// Group 5 = \"bindon-\"\nvar KW_BINDON_IDX = 5;\n// Group 6 = \"@\"\nvar KW_AT_IDX = 6;\n// Group 7 = the identifier after \"bind-\", \"let-\", \"ref-/#\", \"on-\", \"bindon-\" or \"@\"\nvar IDENT_KW_IDX = 7;\n// Group 8 = identifier inside [()]\nvar IDENT_BANANA_BOX_IDX = 8;\n// Group 9 = identifier inside []\nvar IDENT_PROPERTY_IDX = 9;\n// Group 10 = identifier inside ()\nvar IDENT_EVENT_IDX = 10;\nvar TEMPLATE_ATTR_PREFIX = '*';\n// Default selector used by `` if none specified\nvar DEFAULT_CONTENT_SELECTOR = '*';\nfunction htmlAstToRender3Ast(htmlNodes, bindingParser) {\n var transformer = new HtmlAstToIvyAst(bindingParser);\n var ivyNodes = visitAll(transformer, htmlNodes);\n // Errors might originate in either the binding parser or the html to ivy transformer\n var allErrors = bindingParser.errors.concat(transformer.errors);\n var errors = allErrors.filter(function (e) { return e.level === ParseErrorLevel.ERROR; });\n if (errors.length > 0) {\n var errorString = errors.join('\\n');\n throw syntaxError(\"Template parse errors:\\n\" + errorString, errors);\n }\n return {\n nodes: ivyNodes,\n errors: allErrors,\n ngContentSelectors: transformer.ngContentSelectors,\n hasNgContent: transformer.hasNgContent,\n };\n}\nvar HtmlAstToIvyAst = /** @class */ (function () {\n function HtmlAstToIvyAst(bindingParser) {\n this.bindingParser = bindingParser;\n this.errors = [];\n // Selectors for the `ng-content` tags. Only non `*` selectors are recorded here\n this.ngContentSelectors = [];\n // Any `` in the template ?\n this.hasNgContent = false;\n }\n // HTML visitor\n HtmlAstToIvyAst.prototype.visitElement = function (element) {\n var _this = this;\n var e_1, _a;\n var preparsedElement = preparseElement(element);\n if (preparsedElement.type === PreparsedElementType.SCRIPT ||\n preparsedElement.type === PreparsedElementType.STYLE) {\n // Skipping