889 lines
365 KiB
CSS
889 lines
365 KiB
CSS
#header .logo h3, #header .logo ul.social-icons, #header .search-box, #header #navbar ul.navigation, #header #navbar .panel-activation { position: relative; top: 50%; transform: translateY(-50%); }
|
|
|
|
.button, .archive-list button, .contact button, .button-secondary { display: inline-block; padding: 7px 20px; margin-left: 5px; margin-right: 5px; margin-bottom: 10px; }
|
|
|
|
.button-small.button, .archive-list button.button-small, .contact button.button-small, .button-small.button-secondary { padding: 3px 10px; font-size: 0.9rem; }
|
|
|
|
html, body { height: 100%; }
|
|
|
|
body { background: #fff; color: #808080; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
|
|
|
|
a { color: #87b672; }
|
|
|
|
a:hover { color: #558042; }
|
|
|
|
b, strong, label, th { font-weight: 600; }
|
|
|
|
#container { min-height: 100%; position: relative; }
|
|
|
|
.fullwidth #body { padding-left: 0; padding-right: 0; }
|
|
|
|
#body { background: #fff; padding-top: 15rem; }
|
|
|
|
.left { float: left; }
|
|
|
|
.right { float: right; }
|
|
|
|
@font-face { font-family: 'novecento_sans_widedemibold'; src: url("../fonts/Novecentosanswide-DemiBold-webfont.eot"); src: url("../fonts/Novecentosanswide-DemiBold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/Novecentosanswide-DemiBold-webfont.woff2") format("woff2"), url("../fonts/Novecentosanswide-DemiBold-webfont.woff") format("woff"), url("../fonts/Novecentosanswide-DemiBold-webfont.ttf") format("truetype"), url("../fonts/Novecentosanswide-DemiBold-webfont.svg#novecento_sans_widedemibold") format("svg"); font-weight: normal; font-style: normal; }
|
|
|
|
@font-face { font-family: 'novecento_sans_widenormal'; src: url("../fonts/Novecentosanswide-Normal-webfont.eot"); src: url("../fonts/Novecentosanswide-Normal-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/Novecentosanswide-Normal-webfont.woff2") format("woff2"), url("../fonts/Novecentosanswide-Normal-webfont.woff") format("woff"), url("../fonts/Novecentosanswide-Normal-webfont.ttf") format("truetype"), url("../fonts/Novecentosanswide-Normal-webfont.svg#novecento_sans_widenormal") format("svg"); font-weight: normal; font-style: normal; }
|
|
|
|
@font-face { font-family: 'novecento_sans_widemedium'; src: url("../fonts/Novecentosanswide-Medium-webfont.eot"); src: url("../fonts/Novecentosanswide-Medium-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/Novecentosanswide-Medium-webfont.woff2") format("woff2"), url("../fonts/Novecentosanswide-Medium-webfont.woff") format("woff"), url("../fonts/Novecentosanswide-Medium-webfont.ttf") format("truetype"), url("../fonts/Novecentosanswide-Medium-webfont.svg#novecento_sans_widemedium") format("svg"); font-weight: normal; font-style: normal; }
|
|
|
|
@font-face { font-family: 'Pacifico'; src: url("../fonts/pacifico.ttf") format("truetype"); font-weight: 400; font-style: normal; }
|
|
|
|
.default-animation, #body, .modal, .archive-list button, .modular .showcase .button, .modular .showcase .archive-list button, .archive-list .modular .showcase button, .modular .showcase .contact button, .contact .modular .showcase button, .modular .slideme_container .arrow, .modular .slideme_container .pagination .numbers li, .modular .bottom .button, .modular .bottom .archive-list button, .archive-list .modular .bottom button, .modular .bottom .contact button, .contact .modular .bottom button, .contact input, .contact textarea, .contact button, .callout .pricing-container .pricing-item, .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item .foot, .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .archive-list button, .archive-list .callout .pricing-container .pricing-item .foot button, .callout .pricing-container .pricing-item .foot .contact button, .contact .callout .pricing-container .pricing-item .foot button, .team .members .social-icons li, .team .members .social-icons li a, .logo h3, .logo ul.social-icons li, .logo ul.social-icons li a, .notebook .screen .screen-content-hover { transition: all 0.5s ease; }
|
|
|
|
.padding-horiz, .fullwidth #header, .fullwidth #breadcrumbs, .fullwidth .blog-header, .fullwidth .blog-content-item, .fullwidth .content-wrapper, .fullwidth ul.pagination, .fullwidth #body > .modular-row, #body, #header, .footer { padding-left: 14rem; padding-right: 14rem; }
|
|
|
|
@media only all and (min-width: 60em) and (max-width: 74.938em) { .padding-horiz, .fullwidth #header, .fullwidth #breadcrumbs, .fullwidth .blog-header, .fullwidth .blog-content-item, .fullwidth .content-wrapper, .fullwidth ul.pagination, .fullwidth #body > .modular-row, #body, #header, .footer { padding-left: 7rem; padding-right: 7rem; } }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .padding-horiz, .fullwidth #header, .fullwidth #breadcrumbs, .fullwidth .blog-header, .fullwidth .blog-content-item, .fullwidth .content-wrapper, .fullwidth ul.pagination, .fullwidth #body > .modular-row, #body, #header, .footer { padding-left: 7rem; padding-right: 7rem; } }
|
|
|
|
@media only all and (max-width: 47.938em) { .padding-horiz, .fullwidth #header, .fullwidth #breadcrumbs, .fullwidth .blog-header, .fullwidth .blog-content-item, .fullwidth .content-wrapper, .fullwidth ul.pagination, .fullwidth #body > .modular-row, #body, #header, .footer { padding-left: 1rem; padding-right: 1rem; } }
|
|
|
|
.padding-vert { padding-top: 3rem; padding-bottom: 3rem; }
|
|
|
|
#header { position: absolute; z-index: 10000; width: 100%; height: 12rem; background-color: rgba(255, 255, 255, 0.9); box-shadow: 0 0.05rem 1rem rgba(0, 0, 0, 0.15); }
|
|
|
|
#header > .grid, #header .logo, #header #navbar, #header .social-navigation { height: 50%; }
|
|
|
|
#header .fa { color: #000; }
|
|
|
|
#header .fixed { background: #fff; padding-left: 14rem; padding-right: 14rem; position: fixed; top: 0; left: 0; width: 100%; opacity: 0.9; box-shadow: 0 0px 20px 0px rgba(0, 0, 0, 0.2); }
|
|
|
|
@media only all and (max-width: 47.938em) { #header .fixed { padding-left: 10px; padding-right: 10px; } }
|
|
|
|
#header .logo img { height: 5rem; }
|
|
|
|
@media only all and (max-width: 47.938em) { #header .logo h3 { font-size: 1.9rem; } }
|
|
|
|
#header .search-box { display: block; float: right; text-align: right; }
|
|
|
|
#header .search-box i { color: #FFFFFF; position: absolute; top: 0.5rem; right: 0.6rem; z-index: -1; cursor: pointer; }
|
|
|
|
#header .search-box input::-webkit-search-decoration, #header .search-box input::-webkit-search-cancel-button { display: none; }
|
|
|
|
#header .search-box input[type=search] { outline: none; cursor: pointer; -webkit-appearance: textfield; -webkit-box-sizing: content-box; font-family: inherit; font-size: 100%; border: 0 none; box-shadow: none; color: transparent; background: transparent; width: 4rem; height: 1.3rem; margin-bottom: 0; font-size: 0.9rem; transition: all 0.5s; }
|
|
|
|
#header .search-box input[type=search]:focus { width: 10rem; background-color: rgba(255, 255, 255, 0.3); cursor: auto; color: #FFFFFF; }
|
|
|
|
#header .search-box input:-moz-placeholder { color: transparent; }
|
|
|
|
#header .search-box input::-webkit-input-placeholder { color: transparent; }
|
|
|
|
@media only all and (max-width: 59.938em) { #header .search-box { text-align: right; position: absolute; right: 10px; top: 50%; transform: translateY(1rem); }
|
|
#header .search-box i { left: 0.6rem; }
|
|
#header .search-box input[type=search] { padding-right: 2rem; }
|
|
#header .search-box input[type=search]:focus { width: 8rem; } }
|
|
|
|
@media only all and (max-width: 59.938em) { #header .fixed .search-box { top: 50%; transform: translateY(-50%); } }
|
|
|
|
@media only all and (max-width: 59.938em) { #header .fixed .panel-activation { top: 50% !important; transform: translateY(-50%) !important; } }
|
|
|
|
#header #navbar { font-size: 1.1rem; }
|
|
|
|
@media only all and (max-width: 47.938em) { #header #navbar { margin-left: -1rem; margin-right: -1rem; }
|
|
#header #navbar.fixed { margin: 0; } }
|
|
|
|
#header #navbar ul { margin: 0; padding: 0; list-style: none; }
|
|
|
|
#header #navbar ul.navigation { display: inline-block; float: left; }
|
|
|
|
#header #navbar ul.navigation li { float: left; position: relative; text-transform: uppercase; }
|
|
|
|
#header #navbar ul.navigation li a { font-family: "novecento_sans_widedemibold", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; display: inline-block; padding: 0.3rem 0.8rem; }
|
|
|
|
#header #navbar ul.navigation li a.active, #header #navbar ul.navigation li a:hover { color: #87b672; }
|
|
|
|
#header #navbar ul.navigation li:first-child a { padding-left: 0; }
|
|
|
|
#header #navbar ul.navigation li ul { display: none; padding: 0; box-shadow: 0 0.05rem 1rem rgba(0, 0, 0, 0.15) !important; }
|
|
|
|
#header #navbar ul.navigation li ul ul { left: 100%; top: 0; }
|
|
|
|
#header #navbar ul.navigation li:hover > ul { display: block; position: absolute; background: rgba(255, 255, 255, 0.9); width: 10rem; }
|
|
|
|
#header #navbar ul.navigation li:hover li { float: none; margin: 0; padding: 0; }
|
|
|
|
#header #navbar ul.navigation li:hover li a { padding: 0.5rem 0.8rem; display: block; }
|
|
|
|
#header #navbar ul.navigation li:hover li a:before, #header #navbar ul.navigation li:hover li a:after { display: none; }
|
|
|
|
#header #navbar ul.navigation li:hover li.active > a { background: #87b672; color: #fff; }
|
|
|
|
@media only all and (max-width: 59.938em) { #header #navbar ul.navigation { display: none; } }
|
|
|
|
#header #navbar .panel-activation { padding: 1rem; display: none; font-size: 1.8rem; cursor: pointer; float: right; }
|
|
|
|
@media only all and (max-width: 59.938em) { #header #navbar .panel-activation { display: inline-block; position: absolute; left: 0; top: 50%; transform: translateY(0); } }
|
|
|
|
.modular.header-image #header .fixed { background: #666; transition: background 0.3s ease-in-out; }
|
|
|
|
.header-image.fullwidth #body { padding-left: 0; padding-right: 0; }
|
|
|
|
.header-image.fullwidth #body > .listing-row { padding-left: 14rem; padding-right: 14rem; }
|
|
|
|
.header-image .listing-row:last-child { margin-bottom: 2rem; }
|
|
|
|
.header-image #body .flush-top { margin-top: -15.5rem; padding-top: 16rem; }
|
|
|
|
.header-image #breadcrumbs { margin-top: 1rem; }
|
|
|
|
.header-image #header { background-color: rgba(255, 255, 255, 0); box-shadow: none; }
|
|
|
|
.header-image #header #logo h3, .header-image #header #logo a { color: #FFFFFF; }
|
|
|
|
.header-image #header a, .header-image #header .menu-btn { color: #FFFFFF; }
|
|
|
|
.header-image #header a:before, .header-image #header a:after { background-color: rgba(255, 255, 255, 0.7) !important; }
|
|
|
|
.header-image #header #navbar ul.navigation ul li a { color: #87b672; text-shadow: 1px 1px 3px #656161; }
|
|
|
|
.header-image #header #navbar ul.navigation ul li a:hover { color: #558042; }
|
|
|
|
.header-lite #body { padding-top: 12rem; }
|
|
|
|
.header-lite #header { box-shadow: none; color: #656161; }
|
|
|
|
.header-lite #header a, .header-lite #header .menu-btn { color: #656161; }
|
|
|
|
.header-lite #header .search-box i { color: #656161; }
|
|
|
|
.header-lite #header .search-box input[type=search]:focus { background-color: rgba(101, 97, 97, 0.2); }
|
|
|
|
.header-lite #header li.active a { color: #87b672; }
|
|
|
|
.header-lite #header .logo ul.social-icons li { background: rgba(101, 97, 97, 0.2); }
|
|
|
|
.header-lite #header .logo ul.social-icons li .fa { color: white; }
|
|
|
|
.header-lite #header .logo ul.social-icons li:hover .fa { color: #656161; }
|
|
|
|
.footer { font-size: 0.9rem; background: #333; width: 100%; padding-top: 2rem; }
|
|
|
|
.footer:after { content: ""; display: table; clear: both; }
|
|
|
|
.footer a { color: #808080; }
|
|
|
|
.footer h4, .footer .archive-list label, .archive-list .footer label, .footer .modular .bottom table th, .modular .bottom table .footer th, .footer .contact label, .contact .footer label, .footer .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item .footer .name, .footer .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .footer .button, .footer .callout .pricing-container .pricing-item .foot .archive-list button, .callout .pricing-container .pricing-item .foot .archive-list .footer button, .footer .archive-list .callout .pricing-container .pricing-item .foot button, .archive-list .callout .pricing-container .pricing-item .foot .footer button, .footer .callout .pricing-container .pricing-item .foot .contact button, .callout .pricing-container .pricing-item .foot .contact .footer button, .footer .contact .callout .pricing-container .pricing-item .foot button, .contact .callout .pricing-container .pricing-item .foot .footer button { line-height: 2rem; margin-top: 0; text-align: left; color: #fff; }
|
|
|
|
.footer hr { border-color: rgba(128, 128, 128, 0.5); }
|
|
|
|
@media only all and (max-width: 47.938em) { .footer .social-icons { float: none; clear: both; width: 100%; padding-top: 2rem; } }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .footer .social-icons { float: none; clear: both; width: 100%; padding-top: 2rem; } }
|
|
|
|
.footer .footer-items { margin-top: 2rem; }
|
|
|
|
@media only all and (max-width: 47.938em) { .footer .footer-items { margin-top: 0; } }
|
|
|
|
@supports not (flex-wrap: wrap) { .footer .footer-items { overflow: hidden; } }
|
|
|
|
.footer .footer-items:after { content: ""; display: table; clear: both; }
|
|
|
|
.footer .footer-module { display: block; float: left; width: 25%; vertical-align: top; padding-right: 2rem; }
|
|
|
|
.footer .footer-module.large { width: 50%; }
|
|
|
|
@media only all and (min-width: 30.063em) and (max-width: 47.938em) { .footer .footer-module { margin-top: 1rem; width: 50%; } }
|
|
|
|
@media only all and (max-width: 30em) { .footer .footer-module { margin-top: 1rem; width: 100%; } }
|
|
|
|
.footer .footer-module span:after { content: ""; display: table; clear: both; }
|
|
|
|
.footer .footer-module strong, .footer .footer-module label, .footer .footer-module th { color: #fff; }
|
|
|
|
@media only all and (max-width: 47.938em) { .footer .footer-module { width: 100% !important; float: none; } }
|
|
|
|
.footer .logo { border-bottom: 0 none; color: #fff; }
|
|
|
|
.footer .logo:after { content: ""; display: table; clear: both; }
|
|
|
|
.footer .logo h3 a { color: #fff; }
|
|
|
|
.footer .quickmenu { margin: 0; padding: 0; list-style: none; }
|
|
|
|
.footer .quickmenu i { padding-right: 0.5rem; color: #fff; font-size: 0.7rem; }
|
|
|
|
.footer .footer-modules { display: block; padding-bottom: 1.5rem; }
|
|
|
|
.footer .footer-modules:after { content: ""; display: table; clear: both; }
|
|
|
|
.footer .footer-copyright { width: 50%; font-family: "novecento_sans_widedemibold", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; display: inline-block; float: left; text-align: left; text-transform: uppercase; }
|
|
|
|
@media only all and (max-width: 47.938em) { .footer .footer-copyright { width: 100%; float: none; text-align: left; margin-bottom: 1rem; } }
|
|
|
|
.footer .footer-menu { float: right; display: inline-block; width: 50%; text-align: right; text-transform: uppercase; font-family: "novecento_sans_widedemibold", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; }
|
|
|
|
@media only all and (max-width: 47.938em) { .footer .footer-menu { width: 100%; float: none; text-align: left; } }
|
|
|
|
.footer .footer-menu ul { margin: 0; padding: 0; list-style: none; }
|
|
|
|
.footer .footer-menu ul li { display: inline-block; }
|
|
|
|
.footer .footer-menu ul li:after { content: "/"; margin: 0 0.5rem; display: inline-block; }
|
|
|
|
.footer .footer-menu ul li:last-child:after { display: none; }
|
|
|
|
.footer .newsletter input { display: inline-block; height: 2.5rem; border: 0 none; }
|
|
|
|
.footer .newsletter input[type=text] { background-color: rgba(255, 255, 255, 0.2); color: #fff; }
|
|
|
|
.footer .newsletter input[type=submit] { background-color: rgba(255, 255, 255, 0.5); color: #fff; padding: 0 1.2rem; vertical-align: top; }
|
|
|
|
body { font-family: "Helvetica Neue", "HelveticaNeue-Light", "Helvetica Neue Light", Helvetica, Arial, "Lucida Grande", sans-serif; font-weight: 400; }
|
|
|
|
h1, h2, h3, h4, .archive-list label, .modular .bottom table th, .contact label, .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .archive-list button, .archive-list .callout .pricing-container .pricing-item .foot button, .callout .pricing-container .pricing-item .foot .contact button, .contact .callout .pricing-container .pricing-item .foot button, h5, h6 { font-family: "novecento_sans_widedemibold", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; text-rendering: optimizeLegibility; }
|
|
|
|
h1 { font-size: 3.2rem; }
|
|
|
|
@media only all and (max-width: 47.938em) { h1 { font-size: 2.5rem; line-height: 1.2; margin-bottom: 2.5rem; text-shadow: 1px 1px 3px #656161; } }
|
|
|
|
h2 { font-weight: normal; text-transform: uppercase; font-size: 1.4rem; }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { h2 { font-size: -1rem; } }
|
|
|
|
@media only all and (max-width: 47.938em) { h2 { font-size: -1.1rem; } }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { h3 { font-size: -0.9rem; } }
|
|
|
|
@media only all and (max-width: 47.938em) { h3 { font-size: -1rem; } }
|
|
|
|
h4, .archive-list label, .modular .bottom table th, .contact label, .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .archive-list button, .archive-list .callout .pricing-container .pricing-item .foot button, .callout .pricing-container .pricing-item .foot .contact button, .contact .callout .pricing-container .pricing-item .foot button { font-size: 1.2rem; font-weight: bold; text-align: center; text-transform: uppercase; color: #656161; }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { h4, .archive-list label, .modular .bottom table th, .contact label, .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .archive-list button, .archive-list .callout .pricing-container .pricing-item .foot button, .callout .pricing-container .pricing-item .foot .contact button, .contact .callout .pricing-container .pricing-item .foot button { font-size: 1.35rem; } }
|
|
|
|
@media only all and (max-width: 47.938em) { h4, .archive-list label, .modular .bottom table th, .contact label, .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .archive-list button, .archive-list .callout .pricing-container .pricing-item .foot button, .callout .pricing-container .pricing-item .foot .contact button, .contact .callout .pricing-container .pricing-item .foot button { font-size: 1.25rem; } }
|
|
|
|
h1 { text-align: center; font-weight: normal; }
|
|
|
|
h3 { letter-spacing: -1px; }
|
|
|
|
h1 + h2 { margin: -2rem 0 2rem 0; font-size: 1.4rem; line-height: 1; text-align: center; font-family: "Helvetica Neue", "HelveticaNeue-Light", "Helvetica Neue Light", Helvetica, Arial, "Lucida Grande", sans-serif; font-weight: 300; }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { h1 + h2 { font-size: 1.3rem; } }
|
|
|
|
@media only all and (max-width: 47.938em) { h1 + h2 { font-size: 1rem; } }
|
|
|
|
h2 + h3 { margin: 0.5rem 0 2rem 0; font-size: 1.3rem; line-height: 1; text-align: center; font-family: "Helvetica Neue", "HelveticaNeue-Light", "Helvetica Neue Light", Helvetica, Arial, "Lucida Grande", sans-serif; font-weight: normal; }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { h2 + h3 { font-size: 1.2rem; } }
|
|
|
|
@media only all and (max-width: 47.938em) { h2 + h3 { font-size: 1.1rem; } }
|
|
|
|
blockquote { border-left: 10px solid #F0F2F4; }
|
|
|
|
blockquote p { font-size: 1.1rem; color: #999; }
|
|
|
|
blockquote cite { display: block; text-align: right; color: #666; font-size: 1.2rem; }
|
|
|
|
blockquote > blockquote > blockquote { margin: 0; }
|
|
|
|
blockquote > blockquote > blockquote p { padding: 15px; display: block; font-size: 1rem; margin-top: 0rem; margin-bottom: 0rem; }
|
|
|
|
blockquote > blockquote > blockquote > p { margin-left: -71px; border-left: 10px solid #F0AD4E; background: #FCF8F2; color: #df8a13; }
|
|
|
|
blockquote > blockquote > blockquote > blockquote > p { margin-left: -94px; border-left: 10px solid #D9534F; background: #FDF7F7; color: #b52b27; }
|
|
|
|
blockquote > blockquote > blockquote > blockquote > blockquote > p { margin-left: -118px; border-left: 10px solid #5BC0DE; background: #F4F8FA; color: #28a1c5; }
|
|
|
|
blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p { margin-left: -142px; border-left: 10px solid #5CB85C; background: #F1F9F1; color: #3d8b3d; }
|
|
|
|
code, kbd, pre, samp { font-family: "Inconsolata", monospace; }
|
|
|
|
code { background: #f9f2f4; color: #9c1d3d; }
|
|
|
|
pre { padding: 2rem; background: #f6f6f6; border: 1px solid #CBCBCB; border-radius: 3px; }
|
|
|
|
pre code { color: #237794; background: inherit; }
|
|
|
|
hr { border-bottom: 1px solid #CBCBCB; }
|
|
|
|
.page-title { margin-top: -25px; padding: 25px; float: left; clear: both; background: #87b672; color: #fff; }
|
|
|
|
.label { vertical-align: middle; background: #87b672; border-radius: 100%; color: #fff; height: 1rem; min-width: 1rem; line-height: 1rem; display: inline-block; text-align: center; font-size: 0.7rem; font-family: "novecento_sans_widedemibold", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; margin-right: 0.75rem; }
|
|
|
|
fieldset { border: 1px solid #CBCBCB; }
|
|
|
|
textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] { background-color: white; border: 1px solid #CBCBCB; box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); }
|
|
|
|
textarea:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="url"]:hover, input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="month"]:hover, input[type="time"]:hover, input[type="week"]:hover, select[multiple=multiple]:hover { border-color: #b2b1b1; }
|
|
|
|
textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus { border-color: #87b672; box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(121, 173, 97, 0.7); }
|
|
|
|
.form-field .required { color: #F3443F; font-size: 2rem; line-height: 2rem; vertical-align: top; height: 1.5rem; display: inline-block; }
|
|
|
|
form .buttons { text-align: center; }
|
|
|
|
form input { font-weight: 400; }
|
|
|
|
table { border: 1px solid #d8d8d8; }
|
|
|
|
th { background: #e5e4e4; padding: 0.5rem; }
|
|
|
|
td { padding: 0.5rem; border: 1px solid #d8d8d8; }
|
|
|
|
.button, .archive-list button, .contact button { background: #87b672; color: #fff; border: 1px solid #87b672; }
|
|
|
|
.button:hover, .archive-list button:hover, .contact button:hover { background: #fff; color: #87b672; }
|
|
|
|
.button:active, .archive-list button:active, .contact button:active { box-shadow: 0 1px 0 #679b50; }
|
|
|
|
.button-secondary { background: #F6635E; color: #fff; border: 1px solid #F6635E; }
|
|
|
|
.button-secondary:hover { background: #fff; color: #F6635E; }
|
|
|
|
.button-secondary:active { box-shadow: 0 1px 0 #f32b24; }
|
|
|
|
.bullets { margin: 1.7rem 0; margin-left: -0.85rem; margin-right: -0.85rem; overflow: auto; }
|
|
|
|
.bullet { float: left; padding: 0 0.85rem; }
|
|
|
|
.two-column-bullet { width: 50%; }
|
|
|
|
@media only all and (max-width: 47.938em) { .two-column-bullet { width: 100%; } }
|
|
|
|
.three-column-bullet { width: 33.3333333333%; }
|
|
|
|
@media only all and (max-width: 47.938em) { .three-column-bullet { width: 100%; } }
|
|
|
|
.four-column-bullet { width: 25%; }
|
|
|
|
@media only all and (max-width: 47.938em) { .four-column-bullet { width: 100%; } }
|
|
|
|
.bullet-icon { float: left; background: #87b672; padding: 0.875rem; width: 3.5rem; height: 3.5rem; border-radius: 50%; color: #fff; font-size: 1.75rem; text-align: center; }
|
|
|
|
.bullet-icon-1 { background: #87b672; }
|
|
|
|
.bullet-icon-2 { background: #9eb672; }
|
|
|
|
.bullet-icon-3 { background: #b67292; }
|
|
|
|
.bullet-content { margin-left: 4.55rem; }
|
|
|
|
.sb-slidebar { background-color: #333 !important; }
|
|
|
|
#panel { padding-top: 1rem; color: #ddd; }
|
|
|
|
#panel .navigation { list-style: none; padding: 0; margin-left: 0; }
|
|
|
|
#panel .navigation li { border-bottom: 1px solid #3d3d3d; }
|
|
|
|
#panel .navigation li a { color: #ddd; display: block; padding: 0.5rem 1rem; font-weight: 600; }
|
|
|
|
#panel .navigation li a:hover { color: white; background-color: #262626; }
|
|
|
|
#panel .navigation li a:last-child { border-bottom: 0; }
|
|
|
|
#panel .navigation li.active > a { background: #fff; color: #808080; }
|
|
|
|
#panel .navigation li.active > a:hover { color: #808080; }
|
|
|
|
#panel .navigation li:first-child { border-top: 1px solid #3d3d3d; }
|
|
|
|
#panel .navigation li ul { list-style: none; padding: 0; }
|
|
|
|
#panel .navigation li ul li { border: 0 !important; }
|
|
|
|
#panel .navigation li ul li a { color: #c4c3c3; padding: 0.2rem 1rem 0.2rem 2rem; font-size: 0.9rem; }
|
|
|
|
#panel .navigation li ul li li a { padding-left: 3rem; }
|
|
|
|
#panel .navigation li ul li li a li a { padding-left: 4rem; }
|
|
|
|
#panel .navigation li ul li.active > a { background: #ccc; }
|
|
|
|
.portfolio-modal .close-modal { position: absolute; top: 0; right: 0; width: 5rem; height: 5rem; background-color: transparent; cursor: pointer; font-size: 3rem; }
|
|
|
|
@media only all and (max-width: 47.938em) { .portfolio-modal .close-modal { display: none; } }
|
|
|
|
.modal { display: none; opacity: 0; overflow: hidden; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1050; -webkit-overflow-scrolling: touch; outline: 0; background: #fff; text-align: center; }
|
|
|
|
@media only all and (max-width: 47.938em) { .modal h1 { margin-bottom: 0.5rem; }
|
|
.modal p, .modal ul { margin: 1rem 0; }
|
|
.modal ul { margin-top: 0; } }
|
|
|
|
.modal.in { opacity: 1; }
|
|
|
|
.modal .client-details { list-style-type: none; }
|
|
|
|
.modal .client-details li { display: inline-block; }
|
|
|
|
.modal .client-details li strong, .modal .client-details li label, .modal .client-details li th { color: #87b672; font-weight: normal; }
|
|
|
|
.modal .modal-content { margin: 0 auto; width: 35rem; min-height: 100%; margin-top: 10rem; }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .modal .modal-content { width: 100%; } }
|
|
|
|
@media only all and (max-width: 47.938em) { .modal .modal-content { margin-top: 0; width: 100%; } }
|
|
|
|
.modal .modal-content img { max-height: 15rem; }
|
|
|
|
.blog-header { padding-top: 1rem !important; padding-bottom: 1rem; margin-top: 0 !important; }
|
|
|
|
.blog-header.blog-header-image { background-size: cover !important; }
|
|
|
|
.blog-header.blog-header-image h1, .blog-header.blog-header-image h2 { color: #FFFFFF; text-align: left; }
|
|
|
|
.blog-header h1 { font-size: 2.5rem; margin-top: 0; margin-bottom: 0; text-transform: uppercase; }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .blog-header h1 { font-size: 2rem; } }
|
|
|
|
@media only all and (max-width: 47.938em) { .blog-header h1 { font-size: 1.5rem; line-height: 1.2; } }
|
|
|
|
.blog-header + .blog-content { padding-top: 3rem; }
|
|
|
|
.list-item { border-bottom: 1px solid #dadada; margin-bottom: 3rem; }
|
|
|
|
.list-item:last-child { border-bottom: 0; }
|
|
|
|
.list-item .list-blog-header { position: relative; }
|
|
|
|
.list-item .list-blog-header h4, .list-item .list-blog-header .archive-list label, .archive-list .list-item .list-blog-header label, .list-item .list-blog-header .modular .bottom table th, .modular .bottom table .list-item .list-blog-header th, .list-item .list-blog-header .contact label, .contact .list-item .list-blog-header label, .list-item .list-blog-header .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item .list-item .list-blog-header .name, .list-item .list-blog-header .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .list-item .list-blog-header .button, .list-item .list-blog-header .callout .pricing-container .pricing-item .foot .archive-list button, .callout .pricing-container .pricing-item .foot .archive-list .list-item .list-blog-header button, .list-item .list-blog-header .archive-list .callout .pricing-container .pricing-item .foot button, .archive-list .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button, .list-item .list-blog-header .callout .pricing-container .pricing-item .foot .contact button, .callout .pricing-container .pricing-item .foot .contact .list-item .list-blog-header button, .list-item .list-blog-header .contact .callout .pricing-container .pricing-item .foot button, .contact .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button { text-align: left; margin-bottom: 1.5rem; }
|
|
|
|
.list-item .list-blog-header h4 a, .list-item .list-blog-header .archive-list label a, .archive-list .list-item .list-blog-header label a, .list-item .list-blog-header .modular .bottom table th a, .modular .bottom table .list-item .list-blog-header th a, .list-item .list-blog-header .contact label a, .contact .list-item .list-blog-header label a, .list-item .list-blog-header .callout .pricing-container .pricing-item .name a, .callout .pricing-container .pricing-item .list-item .list-blog-header .name a, .list-item .list-blog-header .callout .pricing-container .pricing-item .foot .button a, .callout .pricing-container .pricing-item .foot .list-item .list-blog-header .button a, .list-item .list-blog-header .callout .pricing-container .pricing-item .foot .archive-list button a, .callout .pricing-container .pricing-item .foot .archive-list .list-item .list-blog-header button a, .list-item .list-blog-header .archive-list .callout .pricing-container .pricing-item .foot button a, .archive-list .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button a, .list-item .list-blog-header .callout .pricing-container .pricing-item .foot .contact button a, .callout .pricing-container .pricing-item .foot .contact .list-item .list-blog-header button a, .list-item .list-blog-header .contact .callout .pricing-container .pricing-item .foot button a, .contact .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button a { color: #656161; }
|
|
|
|
.list-item .list-blog-header h4 a:hover, .list-item .list-blog-header .archive-list label a:hover, .archive-list .list-item .list-blog-header label a:hover, .list-item .list-blog-header .modular .bottom table th a:hover, .modular .bottom table .list-item .list-blog-header th a:hover, .list-item .list-blog-header .contact label a:hover, .contact .list-item .list-blog-header label a:hover, .list-item .list-blog-header .callout .pricing-container .pricing-item .name a:hover, .callout .pricing-container .pricing-item .list-item .list-blog-header .name a:hover, .list-item .list-blog-header .callout .pricing-container .pricing-item .foot .button a:hover, .callout .pricing-container .pricing-item .foot .list-item .list-blog-header .button a:hover, .list-item .list-blog-header .callout .pricing-container .pricing-item .foot .archive-list button a:hover, .callout .pricing-container .pricing-item .foot .archive-list .list-item .list-blog-header button a:hover, .list-item .list-blog-header .archive-list .callout .pricing-container .pricing-item .foot button a:hover, .archive-list .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button a:hover, .list-item .list-blog-header .callout .pricing-container .pricing-item .foot .contact button a:hover, .callout .pricing-container .pricing-item .foot .contact .list-item .list-blog-header button a:hover, .list-item .list-blog-header .contact .callout .pricing-container .pricing-item .foot button a:hover, .contact .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button a:hover { color: #87b672; }
|
|
|
|
.list-item .list-blog-header img { display: block; margin-top: 1rem; border-radius: 0; }
|
|
|
|
.list-item .list-blog-date, .list-item .list-blog-author { text-align: center; background-color: rgba(101, 97, 97, 0.1); padding: 0.7rem 1rem; margin-bottom: 0.2rem; margin-right: 0.5rem; font-size: 1rem; text-transform: uppercase; color: #808080; font-family: "novecento_sans_widedemibold", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .list-item .list-blog-date, .list-item .list-blog-author { display: block; width: 100%; clear: both; } }
|
|
|
|
@media only all and (max-width: 47.938em) { .list-item .list-blog-date, .list-item .list-blog-author { display: block; width: 100%; clear: both; } }
|
|
|
|
.blog-content-item .list-blog-padding > p:nth-child(2) { font-size: 1.4rem; }
|
|
|
|
.tags { margin: 0; padding: 0; display: inline; background-color: rgba(101, 97, 97, 0.1); padding: 0.7rem 1rem; margin-bottom: 0.2rem; list-style: none; text-align: center; }
|
|
|
|
.tags li { display: inline-block; font-size: 1rem; text-transform: uppercase; font-family: "novecento_sans_widedemibold", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; }
|
|
|
|
.tags li a { color: #808080; }
|
|
|
|
.tags li a:after { content: ","; }
|
|
|
|
.tags li:last-child a:after { display: none; }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .tags { display: block; width: 100%; clear: both; } }
|
|
|
|
@media only all and (max-width: 47.938em) { .tags { display: block; width: 100%; clear: both; } }
|
|
|
|
.archives, .related-pages { margin: 0; padding: 0; list-style: none; }
|
|
|
|
.archives li, .related-pages li { line-height: 2rem; }
|
|
|
|
.archives li:last-child, .related-pages li:last-child { border-bottom: 0; }
|
|
|
|
.archives a, .related-pages a { color: #808080; }
|
|
|
|
.archives a:hover, .related-pages a:hover { color: #87b672; }
|
|
|
|
.related-pages li a { display: block; }
|
|
|
|
.related-pages .score { display: block; float: right; color: #999; font-size: 85%; }
|
|
|
|
.syndicate a { margin-bottom: 1rem; }
|
|
|
|
div#breadcrumbs { padding-left: 0; }
|
|
|
|
@media only all and (max-width: 47.938em) { div#breadcrumbs { display: none; } }
|
|
|
|
#sidebar { padding-left: 3rem; }
|
|
|
|
@media only all and (max-width: 47.938em) { #sidebar { padding-left: 0; } }
|
|
|
|
#sidebar .sidebar-content { margin-bottom: 3rem; }
|
|
|
|
#sidebar .sidebar-content h4, #sidebar .sidebar-content .archive-list label, .archive-list #sidebar .sidebar-content label, #sidebar .sidebar-content .modular .bottom table th, .modular .bottom table #sidebar .sidebar-content th, #sidebar .sidebar-content .contact label, .contact #sidebar .sidebar-content label, #sidebar .sidebar-content .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item #sidebar .sidebar-content .name, #sidebar .sidebar-content .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot #sidebar .sidebar-content .button, #sidebar .sidebar-content .callout .pricing-container .pricing-item .foot .archive-list button, .callout .pricing-container .pricing-item .foot .archive-list #sidebar .sidebar-content button, #sidebar .sidebar-content .archive-list .callout .pricing-container .pricing-item .foot button, .archive-list .callout .pricing-container .pricing-item .foot #sidebar .sidebar-content button, #sidebar .sidebar-content .callout .pricing-container .pricing-item .foot .contact button, .callout .pricing-container .pricing-item .foot .contact #sidebar .sidebar-content button, #sidebar .sidebar-content .contact .callout .pricing-container .pricing-item .foot button, .contact .callout .pricing-container .pricing-item .foot #sidebar .sidebar-content button { margin-bottom: 1rem; text-align: left; }
|
|
|
|
#sidebar .sidebar-content p, #sidebar .sidebar-content ul { margin-top: 1rem; }
|
|
|
|
ul.pagination { margin: 0 0 3rem; text-align: center; }
|
|
|
|
.prev-next { margin-top: 5rem; text-align: center; }
|
|
|
|
.archive-list h4, .archive-list label, .archive-list .modular .bottom table th, .modular .bottom table .archive-list th, .archive-list .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item .archive-list .name, .archive-list .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .archive-list .button, .callout .pricing-container .pricing-item .foot .archive-list button, .archive-list .callout .pricing-container .pricing-item .foot button { text-align: left; }
|
|
|
|
.archive-list input { width: 50%; line-height: 2rem; }
|
|
|
|
@media only all and (max-width: 47.938em) { .archive-list input { min-width: 80%; } }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .archive-list input { min-width: 70%; } }
|
|
|
|
.archive-list textarea { min-width: 80%; min-height: 25rem; }
|
|
|
|
@media only all and (max-width: 47.938em) { .archive-list textarea { min-width: 100%; } }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .archive-list textarea { min-width: 90%; } }
|
|
|
|
.archive-list input, .archive-list textarea { border: 0 none; background: rgba(128, 128, 128, 0.2); box-shadow: none; }
|
|
|
|
.archive-list label { font-size: 1rem; }
|
|
|
|
.archive-list button { font-family: "novecento_sans_widedemibold", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; text-transform: uppercase; }
|
|
|
|
#error { text-align: center; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; height: 100%; padding-bottom: 12rem; }
|
|
|
|
#error h1 { font-size: 5rem; }
|
|
|
|
#error p { margin: 1rem 0; }
|
|
|
|
.error #body { padding-top: 16rem; }
|
|
|
|
.simplesearch h1 { margin-bottom: 0; }
|
|
|
|
.simplesearch .center { text-align: center; }
|
|
|
|
.simplesearch input { display: inline-block; max-width: 30rem; font-size: 2rem; }
|
|
|
|
.simplesearch .search-image { margin-top: 1rem; }
|
|
|
|
.simplesearch .search-image img { border-radius: 4px; }
|
|
|
|
@media only all and (max-width: 47.938em) { .simplesearch .search-image img { display: none; } }
|
|
|
|
@media only all and (max-width: 47.938em) { .simplesearch .search-item { margin-left: 0; } }
|
|
|
|
.simplesearch .search-details { float: right; margin-top: -2.5rem; font-weight: bold; font-size: 1rem; color: #b3b3b3; }
|
|
|
|
@media only all and (max-width: 47.938em) { .simplesearch .search-details { float: none; margin-top: -0.2rem; margin-bottom: 1rem; } }
|
|
|
|
.simplesearch hr { border-bottom: 1px solid #eee; }
|
|
|
|
.grav-lightslider .lSSlideOuter .lSPager.lSpg > li a { z-index: 1; }
|
|
|
|
#body > script:first-child + .grav-lightslider { margin-top: -3rem; }
|
|
|
|
.modular.header-image #header { background-color: rgba(255, 255, 255, 0); box-shadow: none; }
|
|
|
|
.modular.header-image #header #logo h3 { color: #FFFFFF; }
|
|
|
|
.modular.header-image #header #navbar a { color: #FFFFFF; }
|
|
|
|
.modular .slideme_container { overflow: hidden; margin-top: -15rem; padding-top: 15rem; height: 34.7rem; }
|
|
|
|
.modular .slideme_container:after { content: ""; display: table; clear: both; }
|
|
|
|
.modular .showcase { position: relative; z-index: 1; padding-bottom: 10rem; background-color: #666; background-size: cover; background-position: center; text-align: center; color: #FFFFFF; }
|
|
|
|
.modular .showcase h1 { font-size: 2.2rem; text-shadow: 1px 1px 3px #656161; margin-top: 0; padding-left: 14rem; padding-right: 14rem; text-transform: uppercase; }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .modular .showcase h1 { font-size: 1.5rem; } }
|
|
|
|
@media only all and (max-width: 47.938em) { .modular .showcase h1 { font-size: 1.3rem; line-height: 1.2; padding-left: 0; padding-right: 0; margin-left: 4rem; margin-right: 4rem; } }
|
|
|
|
.modular .showcase h1 strong, .modular .showcase h1 label, .modular .showcase h1 th { color: #87b672; }
|
|
|
|
.modular .showcase h2 { text-shadow: 1px 1px 3px #656161; text-transform: none; padding-left: 14rem; padding-right: 14rem; }
|
|
|
|
@media only all and (max-width: 47.938em) { .modular .showcase h2 { padding-left: 0; padding-right: 0; margin-left: 4rem; margin-right: 4rem; } }
|
|
|
|
.modular .showcase .button, .modular .showcase .archive-list button, .archive-list .modular .showcase button, .modular .showcase .contact button, .contact .modular .showcase button { color: #FFFFFF; font-family: "novecento_sans_widedemibold", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; padding: 0.3rem 1rem; background: rgba(255, 255, 255, 0); border: 2px solid #FFFFFF; border-radius: 0; box-shadow: none; font-size: 1rem; }
|
|
|
|
.modular .showcase .button:hover, .modular .showcase .archive-list button:hover, .archive-list .modular .showcase button:hover, .modular .showcase .contact button:hover, .contact .modular .showcase button:hover { background: rgba(255, 255, 255, 0.2); }
|
|
|
|
.modular .slideme_container .arrow { position: absolute; display: block; padding-bottom: 0; padding-left: 0.8rem; padding-right: 0.8rem; padding-top: 0; cursor: pointer; z-index: 50; text-align: center; line-height: 3.8rem; background: #fff; top: 50%; border-radius: 100%; font-size: 2.5rem; opacity: 0.5; color: #000; }
|
|
|
|
@media only all and (max-width: 47.938em) { .modular .slideme_container .arrow { font-size: 1.5rem; line-height: 2.8rem; } }
|
|
|
|
.modular .slideme_container .arrow:hover { opacity: 1; }
|
|
|
|
.modular .slideme_container .arrow.prev { left: 4rem; }
|
|
|
|
@media only all and (max-width: 47.938em) { .modular .slideme_container .arrow.prev { left: 1rem; } }
|
|
|
|
.modular .slideme_container .arrow.next { right: 4rem; }
|
|
|
|
@media only all and (max-width: 47.938em) { .modular .slideme_container .arrow.next { right: 1rem; } }
|
|
|
|
.modular .slideme_container .arrow:disabled { opacity: 0.1; }
|
|
|
|
@media only all and (max-width: 47.938em) { .modular .slideme_container .arrow { width: 2.7rem; height: 2.7rem; } }
|
|
|
|
.modular .slideme_container .arrow.next:before { content: '\f054'; font-family: FontAwesome; margin-left: 0.4rem; }
|
|
|
|
.modular .slideme_container .arrow.prev:before { content: '\f053'; font-family: FontAwesome; margin-right: 0.5rem; }
|
|
|
|
.modular .slideme_container .pagination { text-align: center; z-index: 10; position: absolute; left: 0; right: 0; vertical-align: middle; bottom: 5%; }
|
|
|
|
.modular .slideme_container .pagination .numbers li { transition-duration: 0.2s; background: #fff; width: 0.5rem; height: 0.5rem; display: inline-block; border-radius: 100%; cursor: pointer; margin: 0 0.2rem; vertical-align: middle; }
|
|
|
|
.modular .slideme_container .pagination .numbers li.current { width: 1rem; height: 1rem; }
|
|
|
|
.modular .features { padding: 4rem 0; padding-bottom: 1rem; text-align: center; }
|
|
|
|
.modular .features:after { content: ""; display: table; clear: both; }
|
|
|
|
.modular .features h2 { margin: 0; line-height: 100%; color: #656161; }
|
|
|
|
.modular .features hr { margin-top: 4rem; }
|
|
|
|
.modular .features p { margin: 1rem 0; }
|
|
|
|
@media only all and (max-width: 47.938em) { .modular .features p { font-size: 1rem; } }
|
|
|
|
.modular .features .button, .modular .features .archive-list button, .archive-list .modular .features button, .modular .features .contact button, .contact .modular .features button { background-color: #87b672; color: #FFFFFF; font-family: "novecento_sans_widedemibold", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; border-radius: 0; box-shadow: none; font-size: 1rem; }
|
|
|
|
.modular .features .feature-items { margin-top: 2rem; }
|
|
|
|
@supports not (flex-wrap: wrap) { .modular .features .feature-items { overflow: hidden; } }
|
|
|
|
.modular .features .feature { display: block; float: left; width: 25%; vertical-align: top; margin-top: 2rem; margin-bottom: 1rem; }
|
|
|
|
@media only all and (min-width: 30.063em) and (max-width: 47.938em) { .modular .features .feature { margin-top: 1rem; width: 50%; } }
|
|
|
|
@media only all and (max-width: 30em) { .modular .features .feature { margin-top: 1rem; width: 100%; } }
|
|
|
|
.modular .features .feature i.fa { font-size: 2rem; }
|
|
|
|
.modular .features .feature h4, .modular .features .feature .archive-list label, .archive-list .modular .features .feature label, .modular .features .feature .bottom table th, .modular .bottom table .features .feature th, .modular .features .feature .contact label, .contact .modular .features .feature label, .modular .features .feature .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item .modular .features .feature .name, .modular .features .feature .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .modular .features .feature .button, .modular .features .feature .callout .pricing-container .pricing-item .foot .archive-list button, .callout .pricing-container .pricing-item .foot .archive-list .modular .features .feature button, .modular .features .feature .archive-list .callout .pricing-container .pricing-item .foot button, .archive-list .callout .pricing-container .pricing-item .foot .modular .features .feature button, .modular .features .feature .callout .pricing-container .pricing-item .foot .contact button, .callout .pricing-container .pricing-item .foot .contact .modular .features .feature button, .modular .features .feature .contact .callout .pricing-container .pricing-item .foot button, .contact .callout .pricing-container .pricing-item .foot .modular .features .feature button { margin: 0; font-size: 1.1rem; }
|
|
|
|
.modular .features .feature p { display: inline-block; font-size: 1rem; margin: 0.2rem 0 1rem; }
|
|
|
|
.modular .features.big { text-align: center; }
|
|
|
|
.modular .features.big .feature { width: 33.33%; }
|
|
|
|
@media only all and (max-width: 30em) { .modular .features.big .feature { margin-top: 1rem; width: 100%; } }
|
|
|
|
.modular .features.big i.fa { font-size: 4.5rem; margin-bottom: 1.5rem; }
|
|
|
|
.modular .features.big .feature-content { padding-right: 2rem; text-align: justify; }
|
|
|
|
.modular .features.big .feature-content.icon-offset { margin-left: 1rem; }
|
|
|
|
.modular .features.big .feature-content h4, .modular .features.big .feature-content .archive-list label, .archive-list .modular .features.big .feature-content label, .modular .features.big .feature-content .bottom table th, .modular .bottom table .features.big .feature-content th, .modular .features.big .feature-content .contact label, .contact .modular .features.big .feature-content label, .modular .features.big .feature-content .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item .modular .features.big .feature-content .name, .modular .features.big .feature-content .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .modular .features.big .feature-content .button, .modular .features.big .feature-content .callout .pricing-container .pricing-item .foot .archive-list button, .callout .pricing-container .pricing-item .foot .archive-list .modular .features.big .feature-content button, .modular .features.big .feature-content .archive-list .callout .pricing-container .pricing-item .foot button, .archive-list .callout .pricing-container .pricing-item .foot .modular .features.big .feature-content button, .modular .features.big .feature-content .callout .pricing-container .pricing-item .foot .contact button, .callout .pricing-container .pricing-item .foot .contact .modular .features.big .feature-content button, .modular .features.big .feature-content .contact .callout .pricing-container .pricing-item .foot button, .contact .callout .pricing-container .pricing-item .foot .modular .features.big .feature-content button { font-size: 1.2rem; }
|
|
|
|
.modular .features.big .feature-content p { padding: 0; }
|
|
|
|
.modular .bottom { text-align: center; padding-bottom: 4rem; }
|
|
|
|
.modular .bottom:after { content: ""; display: table; clear: both; }
|
|
|
|
.modular .bottom h2 { padding-top: 3rem; margin: 0; line-height: 100%; color: #656161; }
|
|
|
|
.modular .bottom p { margin: 1rem 0; }
|
|
|
|
@media only all and (max-width: 47.938em) { .modular .bottom p { font-size: 1rem; } }
|
|
|
|
.modular .bottom .button, .modular .bottom .archive-list button, .archive-list .modular .bottom button, .modular .bottom .contact button, .contact .modular .bottom button { background-color: #87b672; color: #FFFFFF; font-family: "novecento_sans_widedemibold", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; border-radius: 0; box-shadow: none; font-size: 1rem; border: 0 none; }
|
|
|
|
.modular .bottom .button:hover, .modular .bottom .archive-list button:hover, .archive-list .modular .bottom button:hover, .modular .bottom .contact button:hover, .contact .modular .bottom button:hover { background-color: #558042; }
|
|
|
|
.modular .bottom.borderbottom { padding-bottom: 0; }
|
|
|
|
.modular .bottom.borderbottom hr { padding-top: 3rem; }
|
|
|
|
.modular .bottom table { border: 0 none; }
|
|
|
|
.modular .bottom table th { background: none; text-align: left; }
|
|
|
|
@media only all and (max-width: 47.938em) { .modular .bottom table th { display: none; } }
|
|
|
|
.modular .bottom table td { text-align: left; vertical-align: top; border: 0 none; }
|
|
|
|
@media only all and (max-width: 47.938em) { .modular .bottom table td { display: block; } }
|
|
|
|
.modular .bottom .services { padding-top: 2rem; }
|
|
|
|
.modular .bottom .services .service { width: 50%; text-align: left; display: block; float: left; }
|
|
|
|
@media only all and (max-width: 47.938em) { .modular .bottom .services .service { width: 100%; } }
|
|
|
|
.modular .bottom .services .service .fa { margin-top: 0.5rem; width: 7rem; height: 6rem; font-size: 6rem; float: left; }
|
|
|
|
.modular .bottom .services .service p { margin-left: 7rem; margin-top: 0.5rem; margin-right: 1rem; }
|
|
|
|
.modular .bottom .services .service h4, .modular .bottom .services .service .archive-list label, .archive-list .modular .bottom .services .service label, .modular .bottom .services .service table th, .modular .bottom table .services .service th, .modular .bottom .services .service .contact label, .contact .modular .bottom .services .service label, .modular .bottom .services .service .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item .modular .bottom .services .service .name, .modular .bottom .services .service .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .modular .bottom .services .service .button, .modular .bottom .services .service .callout .pricing-container .pricing-item .foot .archive-list button, .callout .pricing-container .pricing-item .foot .archive-list .modular .bottom .services .service button, .modular .bottom .services .service .archive-list .callout .pricing-container .pricing-item .foot button, .archive-list .callout .pricing-container .pricing-item .foot .modular .bottom .services .service button, .modular .bottom .services .service .callout .pricing-container .pricing-item .foot .contact button, .callout .pricing-container .pricing-item .foot .contact .modular .bottom .services .service button, .modular .bottom .services .service .contact .callout .pricing-container .pricing-item .foot button, .contact .callout .pricing-container .pricing-item .foot .modular .bottom .services .service button { text-align: left; margin-bottom: 0; }
|
|
|
|
.about hr { margin: 3rem 0; }
|
|
|
|
.contact h4, .contact .modular .bottom table th, .modular .bottom table .contact th, .contact label, .contact .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item .contact .name, .contact .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .contact .button, .callout .pricing-container .pricing-item .foot .contact button, .contact .callout .pricing-container .pricing-item .foot button { text-align: left; }
|
|
|
|
.contact input { width: 50%; line-height: 2rem; }
|
|
|
|
@media only all and (max-width: 47.938em) { .contact input { min-width: 80%; } }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .contact input { min-width: 70%; } }
|
|
|
|
.contact textarea { min-width: 80%; min-height: 25rem; }
|
|
|
|
@media only all and (max-width: 47.938em) { .contact textarea { min-width: 100%; } }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .contact textarea { min-width: 90%; } }
|
|
|
|
.contact .dropzone { width: 80%; }
|
|
|
|
@media only all and (max-width: 47.938em) { .contact .dropzone { min-width: 100%; } }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .contact .dropzone { min-width: 90%; } }
|
|
|
|
.contact .dropzone .dz-preview .dz-error-message { top: 160px; }
|
|
|
|
.contact input, .contact textarea { border: 0 none; background: rgba(128, 128, 128, 0.2); box-shadow: none; }
|
|
|
|
.contact input:focus, .contact textarea:focus { border-radius: 0 !important; box-shadow: none; background: rgba(128, 128, 128, 0.11); }
|
|
|
|
.contact label { font-size: 1rem; }
|
|
|
|
.contact button { font-family: "novecento_sans_widedemibold", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; text-transform: uppercase; display: block; }
|
|
|
|
.contact #simple_form-success, .contact #simple_form-submit { display: inline-block; }
|
|
|
|
.contact #simple_form-success strong, .contact #simple_form-success label, .contact #simple_form-success th, .contact #simple_form-submit strong, .contact #simple_form-submit label, .contact #simple_form-submit th { margin-left: 1rem; }
|
|
|
|
.contact #simple_form-success .close, .contact #simple_form-submit .close { display: none; }
|
|
|
|
.callout { background: #EEEEEE; padding: 2rem 0.938rem; padding-top: 2rem; padding-bottom: 0; text-align: center; overflow: hidden; clear: both; position: relative; }
|
|
|
|
@media only all and (max-width: 59.938em) { .callout { text-align: center; } }
|
|
|
|
.callout .callout-line { background: #fff; width: 100%; height: 7rem; position: absolute; left: 0; bottom: 0; z-index: 0; }
|
|
|
|
.callout .pricing-container { position: relative; z-index: 10; margin-top: 2rem; min-height: 31rem; text-align: center; }
|
|
|
|
.callout .pricing-container:after { content: ""; display: table; clear: both; }
|
|
|
|
.callout .pricing-container .pricing-item { -webkit-transform: translateZ(0); display: inline-grid; width: 80%; margin-left: 0rem; margin-right: 3rem; margin-bottom: 2rem; position: relative; }
|
|
|
|
@media only all and (max-width: 47.938em) { .callout .pricing-container .pricing-item { width: 100%; } }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .callout .pricing-container .pricing-item { width: 100%; } }
|
|
|
|
@media only all and (min-width: 60em) and (max-width: 74.938em) { .callout .pricing-container .pricing-item { width: 22.5%; } }
|
|
|
|
.callout .pricing-container .pricing-item div { background: #f7f7f7; }
|
|
|
|
.callout .pricing-container .pricing-item .name { background: #87b672; color: #fff; padding: 0.5rem 0; }
|
|
|
|
.callout .pricing-container .pricing-item .info { padding-top: 1rem; padding-bottom: 1rem; border-bottom: #EEEEEE 1px solid; text-align: left; padding-left: 1rem; padding-right: 1rem; }
|
|
|
|
.callout .pricing-container .pricing-item .price { font-weight: bold; color: #656161; font-size: 2.5rem; font-family: "novecento_sans_widedemibold", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; font-weight: normal; border-bottom: #EEEEEE 1px solid; line-height: 5rem; }
|
|
|
|
.callout .pricing-container .pricing-item .foot { background: #87b672; color: #fff; text-align: center; padding: 1rem 0; }
|
|
|
|
.callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .archive-list button, .archive-list .callout .pricing-container .pricing-item .foot button, .callout .pricing-container .pricing-item .foot .contact button, .contact .callout .pricing-container .pricing-item .foot button { margin: 0; padding: 0; width: 9rem; font-size: 1rem; line-height: 2.5rem; color: #fff; display: inline-block; background: rgba(255, 255, 255, 0.25); }
|
|
|
|
.callout .pricing-container .pricing-item .foot .button:hover, .callout .pricing-container .pricing-item .foot .archive-list button:hover, .archive-list .callout .pricing-container .pricing-item .foot button:hover, .callout .pricing-container .pricing-item .foot .contact button:hover, .contact .callout .pricing-container .pricing-item .foot button:hover { background: rgba(255, 255, 255, 0.15); }
|
|
|
|
.callout .pricing-container .pricing-item sup { font-size: 2rem; }
|
|
|
|
.team { background: #EEEEEE; padding: 4rem 0; text-align: center; }
|
|
|
|
.team:after { content: ""; display: table; clear: both; }
|
|
|
|
.team h2 { color: #656161; margin: 0; line-height: 100%; }
|
|
|
|
.team p { margin: 1rem 0; }
|
|
|
|
.team .members { width: 100%; text-align: left; padding-top: 2rem; }
|
|
|
|
.team .members .member { display: inline-block; float: left; width: 29%; margin: 0 1rem; margin-bottom: 2rem; }
|
|
|
|
@media only all and (max-width: 47.938em) { .team .members .member { display: block; width: 100%; text-align: center; margin: 0; margin-bottom: 2rem; } }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .team .members .member { display: block; width: 44%; margin-bottom: 2rem; } }
|
|
|
|
.team .members .member h4, .team .members .member .archive-list label, .archive-list .team .members .member label, .team .members .member .modular .bottom table th, .modular .bottom table .team .members .member th, .team .members .member .contact label, .contact .team .members .member label, .team .members .member .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item .team .members .member .name, .team .members .member .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .team .members .member .button, .team .members .member .callout .pricing-container .pricing-item .foot .archive-list button, .callout .pricing-container .pricing-item .foot .archive-list .team .members .member button, .team .members .member .archive-list .callout .pricing-container .pricing-item .foot button, .archive-list .callout .pricing-container .pricing-item .foot .team .members .member button, .team .members .member .callout .pricing-container .pricing-item .foot .contact button, .callout .pricing-container .pricing-item .foot .contact .team .members .member button, .team .members .member .contact .callout .pricing-container .pricing-item .foot button, .contact .callout .pricing-container .pricing-item .foot .team .members .member button { text-align: left; margin-bottom: 0; }
|
|
|
|
@media only all and (max-width: 47.938em) { .team .members .member h4, .team .members .member .archive-list label, .archive-list .team .members .member label, .team .members .member .modular .bottom table th, .modular .bottom table .team .members .member th, .team .members .member .contact label, .contact .team .members .member label, .team .members .member .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item .team .members .member .name, .team .members .member .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .team .members .member .button, .team .members .member .callout .pricing-container .pricing-item .foot .archive-list button, .callout .pricing-container .pricing-item .foot .archive-list .team .members .member button, .team .members .member .archive-list .callout .pricing-container .pricing-item .foot button, .archive-list .callout .pricing-container .pricing-item .foot .team .members .member button, .team .members .member .callout .pricing-container .pricing-item .foot .contact button, .callout .pricing-container .pricing-item .foot .contact .team .members .member button, .team .members .member .contact .callout .pricing-container .pricing-item .foot button, .contact .callout .pricing-container .pricing-item .foot .team .members .member button { text-align: center; } }
|
|
|
|
.team .members .member hr { margin: 1rem 0; }
|
|
|
|
.team .members .social-icons { line-height: 2rem; margin: 0; list-style: none; }
|
|
|
|
@media only all and (max-width: 47.938em) { .team .members .social-icons { text-align: center; display: -ms-inline-flexbox; display: inline-flex; } }
|
|
|
|
.team .members .social-icons li { float: left; width: 2.1rem; height: 2.1rem; background: #fff; border-radius: 100%; text-align: center; margin-right: 0.8rem; }
|
|
|
|
.team .members .social-icons li a { color: #000; display: block; margin-top: 0.1rem; }
|
|
|
|
.team .members .social-icons li:hover { background: rgba(255, 255, 255, 0.5); }
|
|
|
|
.team .members .social-icons li:hover i { color: #87b672; }
|
|
|
|
.portfolio { padding: 2rem 0.938rem; padding-top: 2rem; padding-bottom: 1rem; text-align: center; }
|
|
|
|
@media only all and (max-width: 59.938em) { .portfolio { text-align: center; } }
|
|
|
|
.portfolio h2 { color: #656161; }
|
|
|
|
.portfolio .notebooks { margin-top: 4rem; }
|
|
|
|
.portfolio .notebooks .notebook-row { box-shadow: inset 0px -90px 0px -20px #f7f7f7; margin-left: -14rem; margin-right: -14rem; padding-left: 14rem; padding-right: 14rem; background: #EEEEEE; padding-bottom: 2rem; }
|
|
|
|
@media only all and (max-width: 47.938em) { .portfolio .notebooks .notebook-row { margin-left: -10rem; margin-right: -10rem; } }
|
|
|
|
.portfolio .notebooks .notebook-row .notebook { min-width: 24%; }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .portfolio .notebooks .notebook-row .notebook { width: 100%; } }
|
|
|
|
@media only all and (min-width: 60em) and (max-width: 74.938em) { .portfolio .notebooks .notebook-row .notebook { min-width: 24%; float: none; } }
|
|
|
|
@media only all and (max-width: 30em) { .portfolio .notebooks .notebook-row .notebook { width: 170%; margin-left: -4.7rem; } }
|
|
|
|
.portfolio .notebooks .notebook-row .notebook h4, .portfolio .notebooks .notebook-row .notebook .archive-list label, .archive-list .portfolio .notebooks .notebook-row .notebook label, .portfolio .notebooks .notebook-row .notebook .modular .bottom table th, .modular .bottom table .portfolio .notebooks .notebook-row .notebook th, .portfolio .notebooks .notebook-row .notebook .contact label, .contact .portfolio .notebooks .notebook-row .notebook label, .portfolio .notebooks .notebook-row .notebook .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item .portfolio .notebooks .notebook-row .notebook .name, .portfolio .notebooks .notebook-row .notebook .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .portfolio .notebooks .notebook-row .notebook .button, .portfolio .notebooks .notebook-row .notebook .callout .pricing-container .pricing-item .foot .archive-list button, .callout .pricing-container .pricing-item .foot .archive-list .portfolio .notebooks .notebook-row .notebook button, .portfolio .notebooks .notebook-row .notebook .archive-list .callout .pricing-container .pricing-item .foot button, .archive-list .callout .pricing-container .pricing-item .foot .portfolio .notebooks .notebook-row .notebook button, .portfolio .notebooks .notebook-row .notebook .callout .pricing-container .pricing-item .foot .contact button, .callout .pricing-container .pricing-item .foot .contact .portfolio .notebooks .notebook-row .notebook button, .portfolio .notebooks .notebook-row .notebook .contact .callout .pricing-container .pricing-item .foot button, .contact .callout .pricing-container .pricing-item .foot .portfolio .notebooks .notebook-row .notebook button { text-align: left; margin-bottom: 0; }
|
|
|
|
.portfolio .notebooks .notebook-row .notebook p { margin-top: 0; }
|
|
|
|
.portfolio .notebooks .notebook-row .notebook .desc { width: 20rem; margin-left: 2rem; }
|
|
|
|
@media only all and (min-width: 60em) and (max-width: 74.938em) { .portfolio .notebooks .notebook-row .notebook .desc { width: 100%; } }
|
|
|
|
@media only all and (max-width: 47.938em) { .portfolio .notebooks .notebook-row .notebook .desc { width: 80%; } }
|
|
|
|
@media only all and (max-width: 30em) { .portfolio .notebooks .notebook-row .notebook .desc { width: 80%; } }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .portfolio .notebooks .notebook-row .notebook .desc { width: 100%; } }
|
|
|
|
.logo { border-bottom: 1px solid #eaeaea; }
|
|
|
|
.logo h3 { font-size: 2.5rem; font-family: "Pacifico", "monospace"; line-height: 2rem; margin: 0; float: left; }
|
|
|
|
.logo h3 a { color: #808080; }
|
|
|
|
.logo h4, .logo .archive-list label, .archive-list .logo label, .logo .modular .bottom table th, .modular .bottom table .logo th, .logo .contact label, .contact .logo label, .logo .callout .pricing-container .pricing-item .name, .callout .pricing-container .pricing-item .logo .name, .logo .callout .pricing-container .pricing-item .foot .button, .callout .pricing-container .pricing-item .foot .logo .button, .logo .callout .pricing-container .pricing-item .foot .archive-list button, .callout .pricing-container .pricing-item .foot .archive-list .logo button, .logo .archive-list .callout .pricing-container .pricing-item .foot button, .archive-list .callout .pricing-container .pricing-item .foot .logo button, .logo .callout .pricing-container .pricing-item .foot .contact button, .callout .pricing-container .pricing-item .foot .contact .logo button, .logo .contact .callout .pricing-container .pricing-item .foot button, .contact .callout .pricing-container .pricing-item .foot .logo button { text-align: left; }
|
|
|
|
.logo ul { margin: 0; padding: 0; list-style: none; }
|
|
|
|
.logo ul.social-icons { float: right; line-height: 2rem; margin: 0; }
|
|
|
|
.logo ul.social-icons li { float: left; width: 2.1rem; height: 2.1rem; background: #fff; border-radius: 100%; text-align: center; margin-right: 0.8rem; }
|
|
|
|
.logo ul.social-icons li a { color: #000; display: block; margin-top: 0.1rem; }
|
|
|
|
.logo ul.social-icons li:hover { background: rgba(255, 255, 255, 0.5); }
|
|
|
|
.notebook { display: inline-block; text-align: left; min-width: 33%; position: relative; z-index: 10; }
|
|
|
|
@media only all and (min-width: 60em) and (max-width: 74.938em) { .notebook { width: 100%; float: none; } }
|
|
|
|
@media only all and (min-width: 48em) and (max-width: 59.938em) { .notebook { width: 100%; float: none; } }
|
|
|
|
@media only all and (max-width: 47.938em) { .notebook { width: 100%; float: none; } }
|
|
|
|
@media only all and (max-width: 30em) { .notebook { width: 150%; margin-left: -5.1rem; float: none; } }
|
|
|
|
.notebook .screen:before { content: ""; position: absolute; border-radius: 50%; background: #E5EBED; height: 0.25rem; width: 0.25rem; margin: 0.3125rem 0 0 8.625rem; }
|
|
|
|
.notebook .screen { background: #464C51; border-radius: 0.5rem 0.5rem 0 0; height: 11.72rem; width: 18.28rem; margin: 0 auto; }
|
|
|
|
.notebook .screen .screen-content { height: 10.1rem; width: 16.73rem; position: absolute; z-index: 1; margin-top: 0.8rem; margin-left: 0.8rem; background-size: cover; background-repeat: no-repeat; }
|
|
|
|
.notebook .screen .screen-content-hover { height: 10.1rem; width: 16.73rem; position: absolute; z-index: 2; opacity: 0; margin-top: 0.8rem; margin-left: 0.8rem; font-size: 2rem; color: #464C51; background-color: #87b672; }
|
|
|
|
.notebook .screen .screen-content-hover .fa-arrow-up-right-from-square { margin-top: 2.5rem; margin-left: 4.7rem; }
|
|
|
|
.notebook .screen .screen-content-hover:hover { opacity: 0.8; }
|
|
|
|
.notebook .screen:after { content: ""; position: absolute; background: #161B21; height: 10rem; width: 16.63rem; border-radius: 0.125rem; margin: 0.875rem 0 0 0.8125rem; transition: background 1s ease-in-out; }
|
|
|
|
.notebook .keyboard { background: #DFDCDC; border-radius: 0 0 0.3125rem 0.3125rem; height: 1.25rem; width: 21.88rem; margin: 0 auto; }
|
|
|
|
.notebook .keyboard:after { content: ""; position: absolute; background: #757979; height: 0.375rem; width: 3.125rem; margin: 0 0 0 9.375rem; border-radius: 0 0 0.5rem 0.5rem; }
|
|
|
|
.keyboard:before { content: ""; position: absolute; height: 0.5rem; width: 23.13rem; margin: 0.4375rem 0 0 -0.625rem; z-index: -1; border-radius: 100%; }
|
|
|
|
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuY3NzIiwic291cmNlcyI6WyJ0ZW1wbGF0ZS5zY3NzIiwidmVuZG9yL2JvdXJib24vX2JvdXJib24uc2NzcyIsInZlbmRvci9ib3VyYm9uL3NldHRpbmdzL19wcmVmaXhlci5zY3NzIiwidmVuZG9yL2JvdXJib24vc2V0dGluZ3MvX3B4LXRvLWVtLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19jb252ZXJ0LXVuaXRzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19pcy1udW0uc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1hbmdsZS1wYXJzZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwidmVuZG9yL2JvdXJib24vaGVscGVycy9fcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3NoYXBlLXNpemUtc3RyaXBwZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3N0ci10by1udW0uc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fYXNzaWduLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX2NvbG9yLWxpZ2h0bmVzcy5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19mbGV4LWdyaWQuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fZ29sZGVuLXJhdGlvLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX2dyaWQtd2lkdGguc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fbW9kdWxhci1zY2FsZS5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fc3RyaXAtdW5pdHMuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fdGludC1zaGFkZS5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL190cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fdW5wYWNrLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19hbmltYXRpb24uc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tncm91bmQuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tncm91bmQtaW1hZ2Uuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fYm94LXNpemluZy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fY2FsYy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fY29sdW1ucy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fZmlsdGVyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19mbGV4LWJveC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fZm9udC1mYWNlLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19oeXBoZW5zLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19oaWRwaS1tZWRpYS1xdWVyeS5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19rZXlmcmFtZXMuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2xpbmVhci1ncmFkaWVudC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fcGxhY2Vob2xkZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fYnV0dG9uLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2NsZWFyZml4LnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19lbGxpcHNpcy5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19mb250LWZhbWlseS5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19oaWRlLXRleHQuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9faHRtbDUtaW5wdXQtdHlwZXMuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fcG9zaXRpb24uc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fcmV0aW5hLWltYWdlLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX3NpemUuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL190cmlhbmdsZS5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL193b3JkLXdyYXAuc2NzcyIsInZlbmRvci9ib3VyYm9uL19ib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmcuc2NzcyIsImNvbmZpZ3VyYXRpb24vbnVjbGV1cy9fYmFzZS5zY3NzIiwiY29uZmlndXJhdGlvbi9udWNsZXVzL19jb3JlLnNjc3MiLCJjb25maWd1cmF0aW9uL251Y2xldXMvX2JyZWFrcG9pbnRzLnNjc3MiLCJjb25maWd1cmF0aW9uL251Y2xldXMvX2xheW91dC5zY3NzIiwiY29uZmlndXJhdGlvbi9udWNsZXVzL190eXBvZ3JhcGh5LnNjc3MiLCJjb25maWd1cmF0aW9uL251Y2xldXMvX25hdi5zY3NzIiwiY29uZmlndXJhdGlvbi90ZW1wbGF0ZS9fYmFzZS5zY3NzIiwiY29uZmlndXJhdGlvbi90ZW1wbGF0ZS9fY29sb3JzLnNjc3MiLCJjb25maWd1cmF0aW9uL3RlbXBsYXRlL190eXBvZ3JhcGh5LnNjc3MiLCJjb25maWd1cmF0aW9uL3RlbXBsYXRlL19idWxsZXRzLnNjc3MiLCJjb25maWd1cmF0aW9uL3RlbXBsYXRlL192YXJpYWJsZXMuc2NzcyIsIm51Y2xldXMvZnVuY3Rpb25zL19iYXNlLnNjc3MiLCJudWNsZXVzL2Z1bmN0aW9ucy9fZGlyZWN0aW9uLnNjc3MiLCJudWNsZXVzL2Z1bmN0aW9ucy9fcmFuZ2Uuc2NzcyIsIm51Y2xldXMvZnVuY3Rpb25zL191dGlsaXRpZXMuc2NzcyIsIm51Y2xldXMvbWl4aW5zL19iYXNlLnNjc3MiLCJudWNsZXVzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIm51Y2xldXMvbWl4aW5zL19uYXYuc2NzcyIsIm51Y2xldXMvbWl4aW5zL190eXBvZ3JhcGh5LnNjc3MiLCJudWNsZXVzL21peGlucy9fdXRpbGl0aWVzLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGVzL19iYXNlLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGVzL19idXR0b25zLnNjc3MiLCJ0ZW1wbGF0ZS9fY29yZS5zY3NzIiwidGVtcGxhdGUvX2ZvbnRzLnNjc3MiLCJ0ZW1wbGF0ZS9fZXh0ZW5zaW9ucy5zY3NzIiwidGVtcGxhdGUvX2hlYWRlci5zY3NzIiwidGVtcGxhdGUvX2Zvb3Rlci5zY3NzIiwidGVtcGxhdGUvX3R5cG9ncmFwaHkuc2NzcyIsInRlbXBsYXRlL19mb3Jtcy5zY3NzIiwidGVtcGxhdGUvX3RhYmxlcy5zY3NzIiwidGVtcGxhdGUvX2J1dHRvbnMuc2NzcyIsInRlbXBsYXRlL19idWxsZXRzLnNjc3MiLCJ0ZW1wbGF0ZS9fcGFuZWwuc2NzcyIsInRlbXBsYXRlL19tb2RhbC5zY3NzIiwidGVtcGxhdGUvX2Jsb2cuc2NzcyIsInRlbXBsYXRlL19hcmNoaXZlLnNjc3MiLCJ0ZW1wbGF0ZS9fZXJyb3JzLnNjc3MiLCJ0ZW1wbGF0ZS9fc2ltcGxlc2VhcmNoLnNjc3MiLCJ0ZW1wbGF0ZS9fY3VzdG9tLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL19hbGwuc2NzcyIsInRlbXBsYXRlL21vZHVsYXIvX3Nob3djYXNlLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL19mZWF0dXJlcy5zY3NzIiwidGVtcGxhdGUvbW9kdWxhci9fYm90dG9tLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL19jb250YWN0LnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL190ZXh0LnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL190ZWFtLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL19wb3J0Zm9saW8uc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBSRVFVSVJFRCBERVBFTkRFTkNJRVMgLSBETyBOT1QgQ0hBTkdFXG5cbi8vIExvYWQgVGhpcmQgUGFydHkgTGlicmFyaWVzXG5AaW1wb3J0IFwidmVuZG9yL2JvdXJib24vYm91cmJvblwiO1xuXG4vLyBMb2FkIE51Y2xldXMgQ29uZmlndXJhdGlvblxuQGltcG9ydCBcImNvbmZpZ3VyYXRpb24vbnVjbGV1cy9iYXNlXCI7XG5cbi8vIExvYWQgVGVtcGxhdGUgQ29uZmlndXJhdGlvblxuQGltcG9ydCBcImNvbmZpZ3VyYXRpb24vdGVtcGxhdGUvYmFzZVwiO1xuXG4vLyBMb2FkIE51Y2xldXMgTWl4aW5zIGFuZCBGdW5jdGlvbnNcbkBpbXBvcnQgXCJudWNsZXVzL2Z1bmN0aW9ucy9iYXNlXCI7XG5AaW1wb3J0IFwibnVjbGV1cy9taXhpbnMvYmFzZVwiO1xuXG4vLyBMb2FkIFRlbXBsYXRlIExpYnJhcnlcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9tb2R1bGVzL2Jhc2VcIjtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFRFTVBMQVRFIENPTVBPTkVOVFNcblxuLy8gQ29yZVxuQGltcG9ydCBcInRlbXBsYXRlL2NvcmVcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9mb250c1wiO1xuXG4vLyBFeHRlbnNpb25zXG5AaW1wb3J0IFwidGVtcGxhdGUvZXh0ZW5zaW9uc1wiO1xuXG4vLyBIZWFkZXJcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9oZWFkZXJcIjtcblxuLy8gRm9vdGVyXG5AaW1wb3J0IFwidGVtcGxhdGUvZm9vdGVyXCI7XG5cbi8vIFR5cG9ncmFwaHlcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS90eXBvZ3JhcGh5XCI7XG5cbi8vIEZvcm1zXG5AaW1wb3J0IFwidGVtcGxhdGUvZm9ybXNcIjtcblxuLy8gVGFibGVzXG5AaW1wb3J0IFwidGVtcGxhdGUvdGFibGVzXCI7XG5cbi8vIEJ1dHRvbnNcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9idXR0b25zXCI7XG5cbi8vIEJ1bGxldHNcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9idWxsZXRzXCI7XG5cbi8vIFB1c2h5IFBhbmVsXG5AaW1wb3J0IFwidGVtcGxhdGUvcGFuZWxcIjtcblxuLy8gTW9kYWwgd2luZG93XG5AaW1wb3J0IFwidGVtcGxhdGUvbW9kYWxcIjtcblxuLy8gQmxvZ1xuQGltcG9ydCBcInRlbXBsYXRlL2Jsb2dcIjtcblxuLy8gQXJjaGl2ZVxuQGltcG9ydCBcInRlbXBsYXRlL2FyY2hpdmVcIjtcblxuLy8gRXJyb3JzXG5AaW1wb3J0IFwidGVtcGxhdGUvZXJyb3JzXCI7XG5cbi8vIFNpbXBsZVNlYXJjaFxuQGltcG9ydCBcInRlbXBsYXRlL3NpbXBsZXNlYXJjaFwiO1xuXG4vLyBDdXN0b21cbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9jdXN0b21cIjtcblxuLy8gTW9kdWxhclxuQGltcG9ydCBcInRlbXBsYXRlL21vZHVsYXIvYWxsXCI7XG4iLCIvLyBTZXR0aW5nc1xuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcblxuLy8gQ3VzdG9tIEhlbHBlcnNcbkBpbXBvcnQgXCJoZWxwZXJzL2NvbnZlcnQtdW5pdHNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2lzLW51bVwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWFuZ2xlLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1hcmctcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmVuZGVyLWdyYWRpZW50c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvc2hhcGUtc2l6ZS1zdHJpcHBlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvc3RyLXRvLW51bVwiO1xuXG4vLyBDdXN0b20gRnVuY3Rpb25zXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnblwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb2xvci1saWdodG5lc3NcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvZmxleC1ncmlkXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2dvbGRlbi1yYXRpb1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9ncmlkLXdpZHRoXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL21vZHVsYXItc2NhbGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnQtc2hhZGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xuXG4vLyBDU1MzIE1peGluc1xuQGltcG9ydCBcImNzczMvYW5pbWF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy9hcHBlYXJhbmNlXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZmFjZS12aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3JkZXItaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJjc3MzL2JveC1zaXppbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2NhbGNcIjtcbkBpbXBvcnQgXCJjc3MzL2NvbHVtbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ZpbHRlclwiO1xuQGltcG9ydCBcImNzczMvZmxleC1ib3hcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmFjZVwiO1xuQGltcG9ydCBcImNzczMvaHlwaGVuc1wiO1xuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlLXJlbmRlcmluZ1wiO1xuQGltcG9ydCBcImNzczMva2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiY3NzMy9saW5lYXItZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XG5AaW1wb3J0IFwiY3NzMy9yYWRpYWwtZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvdXNlci1zZWxlY3RcIjtcbkBpbXBvcnQgXCJjc3MzL3BsYWNlaG9sZGVyXCI7XG5cbi8vIEFkZG9ucyAmIG90aGVyIG1peGluc1xuQGltcG9ydCBcImFkZG9ucy9idXR0b25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvZGlyZWN0aW9uYWwtdmFsdWVzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2VsbGlwc2lzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2ZvbnQtZmFtaWx5XCI7XG5AaW1wb3J0IFwiYWRkb25zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcImFkZG9ucy9odG1sNS1pbnB1dC10eXBlc1wiO1xuQGltcG9ydCBcImFkZG9ucy9wb3NpdGlvblwiO1xuQGltcG9ydCBcImFkZG9ucy9wcmVmaXhlclwiO1xuQGltcG9ydCBcImFkZG9ucy9yZXRpbmEtaW1hZ2VcIjtcbkBpbXBvcnQgXCJhZGRvbnMvc2l6ZVwiO1xuQGltcG9ydCBcImFkZG9ucy90aW1pbmctZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RyaWFuZ2xlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3dvcmQtd3JhcFwiO1xuXG4vLyBTb29uIHRvIGJlIGRlcHJlY2F0ZWQgTWl4aW5zXG5AaW1wb3J0IFwiYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nXCI7XG4iLCIvLyBWYXJpYWJsZSBzZXR0aW5ncyBmb3IgL2FkZG9ucy9wcmVmaXhlci5zY3NzXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1taWNyb3NvZnQ6IHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7IC8vIHJlcXVpcmVkIGZvciBrZXlmcmFtZSBtaXhpblxuIiwiJGVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHN0ci10by1udW0gZm4uXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX2NvbnZlcnQtdW5pdHMoJG51bWJlciwgJHVuaXQpIHtcbiAgJHN0cmluZ3M6ICdweCcgJ2NtJyAnbW0nICclJyAnY2gnICdwaWNhJyAnaW4nICdlbScgJ3JlbScgJ3B0JyAncGMnICdleCcgJ3Z3JyAndmgnICd2bWluJyAndm1heCcsICdkZWcnLCAncmFkJywgJ2dyYWQnLCAndHVybic7XG4gICR1bml0czogICAxcHggIDFjbSAgMW1tICAxJSAgMWNoICAxcGljYSAgMWluICAxZW0gIDFyZW0gIDFwdCAgMXBjICAxZXggIDF2dyAgMXZoICAxdm1pbiAgMXZtYXgsICAxZGVnLCAgMXJhZCwgIDFncmFkLCAxdHVybjtcbiAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJHVuaXQpO1xuXG4gIEBpZiBub3QgJGluZGV4IHtcbiAgICBAd2FybiBcIlVua25vd24gdW5pdCBgI3skdW5pdH1gLlwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQHJldHVybiAkbnVtYmVyICogbnRoKCR1bml0cywgJGluZGV4KTtcbn1cbiIsIkBmdW5jdGlvbiBfZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtdHlwZSwgJGdyYWRpZW50LXBvc2l0aW9ucykge1xuICBAaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IGxpbmVhcilcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAcmV0dXJuICRncmFkaWVudC1wb3NpdGlvbnM7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfaXMtbnVtKCRjaGFyKSB7XG4gICR2YWx1ZXM6ICcwJyAnMScgJzInICczJyAnNCcgJzUnICc2JyAnNycgJzgnICc5JyAwIDEgMiAzIDQgNSA2IDcgOCA5O1xuICAkaW5kZXg6IGluZGV4KCR2YWx1ZXMsICRjaGFyKTtcbiAgQHJldHVybiBpZigkaW5kZXgsIHRydWUsIGZhbHNlKTtcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcbiAgJG9mZnNldDogbnVsbDtcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1sb25nID09IFwiZ3JhZFwiLCAtMTAwZ3JhZCAqIDMsIC0wLjc1dHVybik7XG4gIH1cblxuICBAZWxzZSBpZiAoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIikgb3JcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xuICB9XG5cbiAgQGlmICRvZmZzZXQge1xuICAgICRudW06IF9zdHItdG8tbnVtKCRmaXJzdC12YWwpO1xuXG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICgkb2Zmc2V0IC0gJG51bSkgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRoYXMtbXVsdGlwbGUtdmFsczogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiIFwiKTtcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcbiAgJGhhcy1hbmdsZTogX2lzLW51bShzdHItc2xpY2UoJGZpcnN0LXZhbCwgMCwgMCkpO1xuXG4gIEBpZiAkaGFzLW11bHRpcGxlLXZhbHMge1xuICAgICRncmFkaWVudHM6IF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtc2luZ2xlLXBvc2l0aW9uICE9IFwiXCIge1xuICAgICRwb3M6IHVucXVvdGUoJGhhcy1zaW5nbGUtcG9zaXRpb24gKyBcIlwiKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtYW5nbGUge1xuICAgIC8vIFJvdGF0ZSBkZWdyZWUgZm9yIHdlYmtpdFxuICAgICRncmFkaWVudHM6IF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpIHtcbiAgJHR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHNwZWM6IG51bGw7XG4gICRkZWdyZWU6IG51bGw7XG4gICRzaWRlOiBudWxsO1xuICAkY29ybmVyOiBudWxsO1xuICAkbGVuZ3RoOiBsZW5ndGgoJHBvcyk7XG4gIC8vIFBhcnNlIFNpZGUgYW5kIGNvcm5lciBwb3NpdGlvbnNcbiAgQGlmICgkbGVuZ3RoID4gMSkge1xuICAgIEBpZiBudGgoJHBvcywgMSkgPT0gXCJ0b1wiIHsgLy8gTmV3ZXIgc3ludGF4XG4gICAgICAkc2lkZTogbnRoKCRwb3MsIDIpO1xuXG4gICAgICBAaWYgJGxlbmd0aCA9PSAyIHsgLy8gZWcuIHRvIHRvcFxuICAgICAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eVxuICAgICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHsgLy8gZWcuIHRvIHRvcCBsZWZ0XG4gICAgICAgICRjb3JuZXI6IG50aCgkcG9zLCAzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAyIHsgLy8gT2xkZXIgc3ludGF4IChcInRvcCBsZWZ0XCIpXG4gICAgICAkc2lkZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDEpKTtcbiAgICAgICRjb3JuZXI6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgfVxuXG4gICAgQGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gcmlnaHRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gbGVmdFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgICRzcGVjOiB0byAkc2lkZSAkY29ybmVyO1xuICB9XG4gIEBlbHNlIGlmICRsZW5ndGggPT0gMSB7XG4gICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGFiaWxpdHlcbiAgICBAaWYgJHR5cGUgPT0gc3RyaW5nIHtcbiAgICAgICRkZWdyZWU6ICRwb3M7XG4gICAgICAkc3BlYzogdG8gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRkZWdyZWU6IC0yNzAgLSAkcG9zOyAvL3JvdGF0ZSB0aGUgZ3JhZGllbnQgb3Bwb3NpdGUgZnJvbSBzcGVjXG4gICAgICAkc3BlYzogJHBvcztcbiAgICB9XG4gIH1cbiAgJGRlZ3JlZTogdW5xdW90ZSgkZGVncmVlICsgXCIsXCIpO1xuICAkc3BlYzogICB1bnF1b3RlKCRzcGVjICsgXCIsXCIpO1xuICBAcmV0dXJuICRkZWdyZWUgJHNwZWM7XG59XG5cbkBmdW5jdGlvbiBfcG9zaXRpb24tZmxpcHBlcigkcG9zKSB7XG4gQHJldHVybiBpZigkcG9zID09IGxlZnQsIHJpZ2h0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IGJvdHRvbSwgdG9wLCBudWxsKTtcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscykge1xuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxICk7XG4gICR2YWwtMjogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRoYXMtbXVsdGlwbGUtdmFscyArIDEsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdmFsLTM6IG51bGw7XG4gICRoYXMtdmFsLTM6IHN0ci1pbmRleCgkdmFsLTIsIFwiIFwiKTtcblxuICBAaWYgJGhhcy12YWwtMyB7XG4gICAgJHZhbC0zOiBzdHItc2xpY2UoJHZhbC0yLCAkaGFzLXZhbC0zICsgMSwgc3RyLWxlbmd0aCgkdmFsLTIpKTtcbiAgICAkdmFsLTI6IHN0ci1zbGljZSgkdmFsLTIsIDAsICRoYXMtdmFsLTMgLSAxKTtcbiAgfVxuXG4gICRwb3M6IF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMSkgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0yKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTMpO1xuICAkcG9zOiB1bnF1b3RlKCRwb3MgKyBcIlwiKTtcblxuICAvLyBVc2Ugb2xkIHNwZWMgZm9yIHdlYmtpdFxuICBAaWYgJHZhbC0xID09IFwidG9cIiB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjb2RlIHVwIHRvIHNwZWNcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1hcmctcGFyc2VyKCRHMSwgJEcyLCAkcG9zLCAkc2hhcGUtc2l6ZSkge1xuICBAZWFjaCAkdmFsdWUgaW4gJEcxLCAkRzIge1xuICAgICRmaXJzdC12YWw6IG50aCgkdmFsdWUsIDEpO1xuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcbiAgICAgICRzcGVjLWF0LWluZGV4OiBpZihpbmRleCgkdmFsdWUsIGF0KSwgaW5kZXgoJHZhbHVlLCBhdCksIGZhbHNlKTtcbiAgICB9XG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcbiAgICAgIEBpZiAkc3BlYy1hdC1pbmRleCA+IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJEcxOiBudWxsO1xuICAgIH1cblxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAoJHBvcy10eXBlICE9IGNvbG9yKSBvciAoJGZpcnN0LXZhbCAhPSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInRvcFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwibGVmdFwiKSB7XG5cbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHBvcyA9PSAkRzEge1xuICAgICAgICAgICAgJEcxOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XG5cbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICR2YWx1ZSA9PSAkRzEge1xuICAgICAgICAgICAgJEcxOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkRzIge1xuICAgICAgICAgICAgJEcyOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRHMSwgJEcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xuICAkcG9zOiAgICAgICAgbnRoKCRncmFkaWVudC1wb3MsIDIpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgJHByZS1zcGVjOiB1bnF1b3RlKGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpKVxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG5cbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcblxuICAvLyBBZGQgY29tbWFcbiAgQGlmICgkc3BlYyAhPSAnICAnKSB7XG4gICAgJHNwZWM6IFwiI3skc3BlY30sXCJcbiAgfVxuXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XG5cbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKVxuICB9XG5cbiAgQGVsc2UgaWYgJGlzLXNwZWMtc3ludGF4ID09IDEge1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSBpZiBzdHItaW5kZXgoJGltYWdlLCBcImNvdmVyXCIpIG9yIHN0ci1pbmRleCgkaW1hZ2UsIFwiY29udGFpblwiKSB7XG4gICAgQHdhcm4gXCJSYWRpYWwtZ3JhZGllbnQgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byBjb25mb3JtIHRvIGxhdGVzdCBzcGVjLlwiO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiBudWxsLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKVxuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLCIvLyBVc2VyIGZvciBsaW5lYXIgYW5kIHJhZGlhbCBncmFkaWVudHMgd2l0aGluIGJhY2tncm91bmQtaW1hZ2Ugb3IgYm9yZGVyLWltYWdlIHByb3BlcnRpZXNcblxuQGZ1bmN0aW9uIF9yZW5kZXItZ3JhZGllbnRzKCRncmFkaWVudC1wb3NpdGlvbnMsICRncmFkaWVudHMsICRncmFkaWVudC10eXBlLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkcHJlLXNwZWM6IG51bGw7XG4gICRzcGVjOiBudWxsO1xuICAkdmVuZG9yLWdyYWRpZW50czogbnVsbDtcbiAgQGlmICRncmFkaWVudC10eXBlID09IGxpbmVhciB7XG4gICAgQGlmICRncmFkaWVudC1wb3NpdGlvbnMge1xuICAgICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsIHtcbiAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gIEBpZiAkdmVuZG9yIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogLSN7JHZlbmRvcn0tI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skcHJlLXNwZWN9ICRncmFkaWVudHMpO1xuICB9XG4gIEBlbHNlIGlmICR2ZW5kb3IgPT0gZmFsc2Uge1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiBcIiN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHNwZWN9ICN7JGdyYWRpZW50c30pXCI7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IHVucXVvdGUoJHZlbmRvci1ncmFkaWVudHMpO1xuICB9XG4gIEByZXR1cm4gJHZlbmRvci1ncmFkaWVudHM7XG59XG4iLCJAZnVuY3Rpb24gX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpIHtcbiAgJHNoYXBlLXNpemUtc3BlYzogbnVsbDtcbiAgQGVhY2ggJHZhbHVlIGluICRzaGFwZS1zaXplIHtcbiAgICBAaWYgKCR2YWx1ZSA9PSBcImNvdmVyXCIpIG9yICgkdmFsdWUgPT0gXCJjb250YWluXCIpIHtcbiAgICAgICR2YWx1ZTogbnVsbDtcbiAgICB9XG4gICAgJHNoYXBlLXNpemUtc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHZhbHVlfVwiO1xuICB9XG4gIEByZXR1cm4gJHNoYXBlLXNpemUtc3BlYztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgbGluZWFyL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJzLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9zdHItdG8tbnVtKCRzdHJpbmcpIHtcbiAgLy8gTWF0cmljZXNcbiAgJHN0cmluZ3M6ICcwJyAnMScgJzInICczJyAnNCcgJzUnICc2JyAnNycgJzgnICc5JztcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xuXG4gIC8vIFJlc3VsdFxuICAkcmVzdWx0OiAwO1xuICAkZGl2aWRlcjogMDtcbiAgJG1pbnVzOiBmYWxzZTtcblxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCRzdHJpbmcpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICctJyB7XG4gICAgICAkbWludXM6IHRydWU7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpdmlkZXI6IDE7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgICAkcmVzdWx0OiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG4gICAgICAgIEByZXR1cm4gX2NvbnZlcnQtdW5pdHMoJHJlc3VsdCwgc3RyLXNsaWNlKCRzdHJpbmcsICRpKSk7XG4gICAgICB9XG5cbiAgICAgICRudW1iZXI6IG50aCgkbnVtYmVycywgJGluZGV4KTtcblxuICAgICAgQGlmICRkaXZpZGVyID09IDAge1xuICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTA7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gTW92ZSB0aGUgZGVjaW1hbCBkb3QgdG8gdGhlIGxlZnRcbiAgICAgICAgJGRpdmlkZXI6ICRkaXZpZGVyICogMTA7XG4gICAgICAgICRudW1iZXI6ICRudW1iZXIgLyAkZGl2aWRlcjtcbiAgICAgIH1cblxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArICRudW1iZXI7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xufVxuIiwiQGZ1bmN0aW9uIGFzc2lnbi1pbnB1dHMoJGlucHV0cywgJHBzZXVkbzogbnVsbCkge1xuICAkbGlzdCA6ICgpO1xuXG4gIEBlYWNoICRpbnB1dCBpbiAkaW5wdXRzIHtcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcbiAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkaW5wdXQsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpc3Q7XG59IiwiLy8gUHJvZ3JhbWF0aWNhbGx5IGRldGVybWluZXMgd2hldGhlciBhIGNvbG9yIGlzIGxpZ2h0IG9yIGRhcmtcbi8vIFJldHVybnMgYSBib29sZWFuXG4vLyBNb3JlIGRldGFpbHMgaGVyZSBodHRwOi8vcm9ib3RzLnRob3VnaHRib3QuY29tL2Nsb3Nlci1sb29rLWNvbG9yLWxpZ2h0bmVzc1xuXG5AZnVuY3Rpb24gaXMtbGlnaHQoJGhleC1jb2xvcikge1xuICAkLWxvY2FsLXJlZDogcmVkKHJnYmEoJGhleC1jb2xvciwgMS4wKSk7XG4gICQtbG9jYWwtZ3JlZW46IGdyZWVuKHJnYmEoJGhleC1jb2xvciwgMS4wKSk7XG4gICQtbG9jYWwtYmx1ZTogYmx1ZShyZ2JhKCRoZXgtY29sb3IsIDEuMCkpO1xuXG4gICQtbG9jYWwtbGlnaHRuZXNzOiAoJC1sb2NhbC1yZWQgKiAwLjIxMjYgKyAkLWxvY2FsLWdyZWVuICogMC43MTUyICsgJC1sb2NhbC1ibHVlICogMC4wNzIyKSAvIDI1NTtcblxuICBAcmV0dXJuICQtbG9jYWwtbGlnaHRuZXNzID4gLjY7XG59XG4iLCIvLyBGbGV4aWJsZSBncmlkXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuLy8gRmxleGlibGUgZ3V0dGVyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG59XG5cbi8vIFRoZSAkZmctY29sdW1uLCAkZmctZ3V0dGVyIGFuZCAkZmctbWF4LWNvbHVtbnMgdmFyaWFibGVzIG11c3QgYmUgZGVmaW5lZCBpbiB5b3VyIGJhc2Ugc3R5bGVzaGVldCB0byBwcm9wZXJseSB1c2UgdGhlIGZsZXgtZ3JpZCBmdW5jdGlvbi5cbi8vIFRoaXMgZnVuY3Rpb24gdGFrZXMgdGhlIGZsdWlkIGdyaWQgZXF1YXRpb24gKHRhcmdldCAvIGNvbnRleHQgPSByZXN1bHQpIGFuZCB1c2VzIGNvbHVtbnMgdG8gaGVscCBkZWZpbmUgZWFjaC5cbi8vXG4vLyBUaGUgY2FsY3VsYXRpb24gcHJlc3VtZXMgdGhhdCB5b3VyIGNvbHVtbiBzdHJ1Y3R1cmUgd2lsbCBiZSBtaXNzaW5nIHRoZSBsYXN0IGd1dHRlcjpcbi8vXG4vLyAgIC0tIGNvbHVtbiAtLSBndXR0ZXIgLS0gY29sdW1uIC0tIGd1dHRlciAtLSBjb2x1bW5cbi8vXG4vLyAgJGZnLWNvbHVtbjogNjBweDsgICAgICAgICAgICAgLy8gQ29sdW1uIFdpZHRoXG4vLyAgJGZnLWd1dHRlcjogMjVweDsgICAgICAgICAgICAgLy8gR3V0dGVyIFdpZHRoXG4vLyAgJGZnLW1heC1jb2x1bW5zOiAxMjsgICAgICAgICAgLy8gVG90YWwgQ29sdW1ucyBGb3IgTWFpbiBDb250YWluZXJcbi8vXG4vLyAgZGl2IHtcbi8vICAgIHdpZHRoOiBmbGV4LWdyaWQoNCk7ICAgICAgICAvLyByZXR1cm5zICgzMTVweCAvIDk5NXB4KSA9IDMxLjY1ODI5JTtcbi8vICAgIG1hcmdpbi1sZWZ0OiBmbGV4LWd1dHRlcigpOyAvLyByZXR1cm5zICgyNXB4IC8gOTk1cHgpID0gMi41MTI1NiU7XG4vL1xuLy8gICAgcCB7XG4vLyAgICAgIHdpZHRoOiBmbGV4LWdyaWQoMiwgNCk7ICAvLyByZXR1cm5zICgxNDVweCAvIDMxNXB4KSA9IDQ2LjAzMTc0NiU7XG4vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8gICAgICBtYXJnaW46IGZsZXgtZ3V0dGVyKDQpOyAgLy8gcmV0dXJucyAoMjVweCAvIDMxNXB4KSA9IDcuOTM2NTA4JTtcbi8vICAgIH1cbi8vXG4vLyAgICBibG9ja3F1b3RlIHtcbi8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLyAgICAgIHdpZHRoOiBmbGV4LWdyaWQoMiwgNCk7IC8vIHJldHVybnMgKDE0NXB4IC8gMzE1cHgpID0gNDYuMDMxNzQ2JTtcbi8vICAgIH1cbi8vICB9IiwiQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCR2YWx1ZSwgJGluY3JlbWVudCwgJGdvbGRlbilcbn1cbiIsIkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xufVxuXG4vLyBUaGUgJGd3LWNvbHVtbiBhbmQgJGd3LWd1dHRlciB2YXJpYWJsZXMgbXVzdCBiZSBkZWZpbmVkIGluIHlvdXIgYmFzZSBzdHlsZXNoZWV0IHRvIHByb3Blcmx5IHVzZSB0aGUgZ3JpZC13aWR0aCBmdW5jdGlvbi5cbi8vXG4vLyAgJGd3LWNvbHVtbjogMTAwcHg7ICAgICAgICAgLy8gQ29sdW1uIFdpZHRoXG4vLyAgJGd3LWd1dHRlcjogNDBweDsgICAgICAgICAgLy8gR3V0dGVyIFdpZHRoXG4vL1xuLy8gIGRpdiB7XG4vLyAgICB3aWR0aDogZ3JpZC13aWR0aCg0KTsgICAgLy8gcmV0dXJucyA1MjBweDtcbi8vICAgIG1hcmdpbi1sZWZ0OiAkZ3ctZ3V0dGVyOyAvLyByZXR1cm5zIDQwcHg7XG4vLyAgfVxuIiwiLy8gU2NhbGluZyBWYXJpYWJsZXNcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcbiRtaW5vci10aGlyZDogICAgICAxLjI7XG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xuJG9jdGF2ZTogICAgICAgICAgIDI7XG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XG4kZG91YmxlLW9jdGF2ZTogICAgNDtcblxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJHZhbHVlLCAkaW5jcmVtZW50LCAkcmF0aW8pIHtcbiAgJHYxOiBudGgoJHZhbHVlLCAxKTtcbiAgJHYyOiBudGgoJHZhbHVlLCBsZW5ndGgoJHZhbHVlKSk7XG4gICR2YWx1ZTogJHYxO1xuXG4gIC8vIHNjYWxlICR2MiB0byBqdXN0IGFib3ZlICR2MVxuICBAd2hpbGUgJHYyID4gJHYxIHtcbiAgICAkdjI6ICgkdjIgLyAkcmF0aW8pOyAvLyB3aWxsIGJlIG9mZi1ieS0xXG4gIH1cbiAgQHdoaWxlICR2MiA8ICR2MSB7XG4gICAgJHYyOiAoJHYyICogJHJhdGlvKTsgLy8gd2lsbCBmaXggb2ZmLWJ5LTFcbiAgfVxuXG4gIC8vIGNoZWNrIEFGVEVSIHNjYWxpbmcgJHYyIHRvIHByZXZlbnQgZG91YmxlLWNvdW50aW5nIGNvcm5lci1jYXNlXG4gICRkb3VibGUtc3RyYW5kZWQ6ICR2MiA+ICR2MTtcblxuICBAaWYgJGluY3JlbWVudCA+IDAge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGluY3JlbWVudCB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAqICRyYXRpbykgPiAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyICogJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgKiAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGluY3JlbWVudCA8IDAge1xuICAgIC8vIGFkanVzdCAkdjIgdG8ganVzdCBiZWxvdyAkdjFcbiAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCB7XG4gICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAkaW5jcmVtZW50IHRocm91Z2ggLTEge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgLyAkcmF0aW8pIDwgJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxIC8gJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgZW0oMTIpIHdoZW4gdGhlIHBhcmVudCBpcyAxNnB4XG4vLyBpZiB0aGUgcGFyZW50IGlzIGFub3RoZXIgdmFsdWUgc2F5IDI0cHggd3JpdGUgZW0oMTIsIDI0KVxuXG5AZnVuY3Rpb24gZW0oJHB4dmFsLCAkYmFzZTogJGVtLWJhc2UpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFlbTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG5cbiAgJGJhc2U6ICRlbS1iYXNlO1xuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFyZW07XG59XG4iLCIvLyBTcnRpcHMgdGhlIHVuaXRzIGZyb20gYSB2YWx1ZS4gZS5nLiAxMnB4IC0+IDEyXG5cbkBmdW5jdGlvbiBzdHJpcC11bml0cygkdmFsKSB7XG4gIEByZXR1cm4gKCR2YWwgLyAoJHZhbCAqIDAgKyAxKSk7XG59XG4iLCIvLyBBZGQgcGVyY2VudGFnZSBvZiB3aGl0ZSB0byBhIGNvbG9yXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50KXtcbiAgQHJldHVybiBtaXgod2hpdGUsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuXG4vLyBBZGQgcGVyY2VudGFnZSBvZiBibGFjayB0byBhIGNvbG9yXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudCl7XG4gIEByZXR1cm4gbWl4KGJsYWNrLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsIi8vIFJldHVybiB2ZW5kb3ItcHJlZml4ZWQgcHJvcGVydHkgbmFtZXMgaWYgYXBwcm9wcmlhdGVcbi8vIEV4YW1wbGU6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoKHRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmQpLCBtb3opIC0+IC1tb3otdHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BzLCAkdmVuZG9yOiBmYWxzZSkge1xuXHQkbmV3LXByb3BzOiAoKTtcblx0XG5cdEBlYWNoICRwcm9wIGluICRwcm9wcyB7XG5cdFx0JG5ldy1wcm9wczogYXBwZW5kKCRuZXctcHJvcHMsIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvciksIGNvbW1hKTtcblx0fVxuXG5cdEByZXR1cm4gJG5ldy1wcm9wcztcbn1cblxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvcjogZmFsc2UpIHtcblx0Ly8gcHV0IG90aGVyIHByb3BlcnRpZXMgdGhhdCBuZWVkIHRvIGJlIHByZWZpeGVkIGhlcmUgYXN3ZWxsXG5cdEBpZiAkdmVuZG9yIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xuXHRcdEByZXR1cm4gdW5xdW90ZSgnLScrJHZlbmRvcisnLScrJHByb3ApO1xuXHR9XG5cdEBlbHNlIHtcblx0XHRAcmV0dXJuICRwcm9wO1xuXHR9XG59IiwiLy8gQ29udmVydCBzaG9ydGhhbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4XG5cbkBmdW5jdGlvbiB1bnBhY2soJHNob3J0aGFuZCkge1xuICBAaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDEge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpO1xuICB9XG4gIEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAyIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfVxuICBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMyB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAzKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJHNob3J0aGFuZDtcbiAgfVxufVxuXG4iLCIvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWFuaW1hdGlvbnMvI3RoZS1hbmltYXRpb24tbmFtZS1wcm9wZXJ0eS1cbi8vIEVhY2ggb2YgdGhlc2UgbWl4aW5zIHN1cHBvcnQgY29tbWEgc2VwYXJhdGVkIGxpc3RzIG9mIHZhbHVlcywgd2hpY2ggYWxsb3dzIGRpZmZlcmVudCB0cmFuc2l0aW9ucyBmb3IgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzIHRvIGJlIGRlc2NyaWJlZCBpbiBhIHNpbmdsZSBzdHlsZSBydWxlLiBFYWNoIHZhbHVlIGluIHRoZSBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSB2YWx1ZSBhdCB0aGF0IHNhbWUgcG9zaXRpb24gaW4gdGhlIG90aGVyIHByb3BlcnRpZXMuXG5cbi8vIE9mZmljaWFsIGFuaW1hdGlvbiBzaG9ydGhhbmQgcHJvcGVydHkuXG5AbWl4aW4gYW5pbWF0aW9uICgkYW5pbWF0aW9ucy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24sICRhbmltYXRpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBJbmRpdmlkdWFsIEFuaW1hdGlvbiBQcm9wZXJ0aWVzXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUgKCRuYW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJG5hbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24gKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiAoJG1vdGlvbnMuLi4pIHtcbi8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCAoJHZhbHVlcy4uLikge1xuLy8gaW5maW5pdGUgfCA8bnVtYmVyPlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkdmFsdWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uICgkZGlyZWN0aW9ucy4uLikge1xuLy8gbm9ybWFsIHwgYWx0ZXJuYXRlXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kaXJlY3Rpb24sICRkaXJlY3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSAoJHN0YXRlcy4uLikge1xuLy8gcnVubmluZyB8IHBhdXNlZFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tcGxheS1zdGF0ZSwgJHN0YXRlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5ICgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUgKCRtb2Rlcy4uLikge1xuLy8gbm9uZSB8IGZvcndhcmRzIHwgYmFja3dhcmRzIHwgYm90aFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gYXBwZWFyYW5jZSAoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFwcGVhcmFuY2UsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2ZhY2UtdmlzaWJpbGl0eSBtaXhpblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYmFja2ZhY2UtdmlzaWJpbGl0eSwgJHZpc2liaWxpdHksIHdlYmtpdCBzcGVjKTtcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kcyB1c2luZyBzaG9ydGhhbmRcbi8vIG5vdGF0aW9uLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZCgkYmFja2dyb3VuZHMuLi4pIHtcbiAgJHdlYmtpdC1iYWNrZ3JvdW5kczogKCk7XG4gICRzcGVjLWJhY2tncm91bmRzOiAoKTtcblxuICBAZWFjaCAkYmFja2dyb3VuZCBpbiAkYmFja2dyb3VuZHMge1xuICAgICR3ZWJraXQtYmFja2dyb3VuZDogKCk7XG4gICAgJHNwZWMtYmFja2dyb3VuZDogKCk7XG4gICAgJGJhY2tncm91bmQtdHlwZTogdHlwZS1vZigkYmFja2dyb3VuZCk7XG5cbiAgICBAaWYgJGJhY2tncm91bmQtdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xuICAgICRzcGVjLWJhY2tncm91bmRzOiAgIGFwcGVuZCgkc3BlYy1iYWNrZ3JvdW5kcywgICAkc3BlYy1iYWNrZ3JvdW5kLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6ICR3ZWJraXQtYmFja2dyb3VuZHM7XG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcbiAgJHdlYmtpdC1pbWFnZXM6ICgpO1xuICAkc3BlYy1pbWFnZXM6ICgpO1xuXG4gIEBlYWNoICRpbWFnZSBpbiAkaW1hZ2VzIHtcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcbiAgICAkc3BlYy1pbWFnZTogKCk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAwLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGltYWdlLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWltYWdlOiAkaW1hZ2U7XG4gICAgICAgICAgJHNwZWMtaW1hZ2U6ICRpbWFnZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcbiAgICAkc3BlYy1pbWFnZXM6ICAgYXBwZW5kKCRzcGVjLWltYWdlcywgICAkc3BlYy1pbWFnZSwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiAkd2Via2l0LWltYWdlcztcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xufVxuIiwiQG1peGluIGJvcmRlci1pbWFnZSgkYm9yZGVycy4uLikge1xuICAkd2Via2l0LWJvcmRlcnM6ICgpO1xuICAkc3BlYy1ib3JkZXJzOiAoKTtcblxuICBAZWFjaCAkYm9yZGVyIGluICRib3JkZXJzIHtcbiAgICAkd2Via2l0LWJvcmRlcjogKCk7XG4gICAgJHNwZWMtYm9yZGVyOiAoKTtcbiAgICAkYm9yZGVyLXR5cGU6IHR5cGUtb2YoJGJvcmRlcik7XG5cbiAgICBAaWYgJGJvcmRlci10eXBlID09IHN0cmluZyBvciBsaXN0IHtcbiAgICAgICRib3JkZXItc3RyOiBpZigkYm9yZGVyLXR5cGUgPT0gbGlzdCwgbnRoKCRib3JkZXIsIDEpLCAkYm9yZGVyKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRib3JkZXItc3RyLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogJGJvcmRlcjtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJvcmRlcnM6IGFwcGVuZCgkd2Via2l0LWJvcmRlcnMsICR3ZWJraXQtYm9yZGVyLCBjb21tYSk7XG4gICAgJHNwZWMtYm9yZGVyczogICBhcHBlbmQoJHNwZWMtYm9yZGVycywgICAkc3BlYy1ib3JkZXIsICAgY29tbWEpO1xuICB9XG5cbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICR3ZWJraXQtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItaW1hZ2U6ICRzcGVjLWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLy9FeGFtcGxlczpcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSAyMCBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgMjAgMzAgNDAgNTAgc3RyZXRjaCByb3VuZCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UocmFkaWFsLWdyYWRpZW50KHRvcCwgY292ZXIsIG9yYW5nZSwgeWVsbG93LCBvcmFuZ2UpKTtcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIFNob3J0aGFuZCBCb3JkZXItcmFkaXVzIG1peGluc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpaSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItdG9wLWxlZnQtcmFkaXVzLCAkcmFkaWksIHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItdG9wLXJpZ2h0LXJhZGl1cywgJHJhZGlpLCBzcGVjKTtcbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpaSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzLCAkcmFkaWksIHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cywgJHJhZGlpLCBzcGVjKTtcbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaWkpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cywgJHJhZGlpLCBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cywgJHJhZGlpLCBzcGVjKTtcbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci10b3AtcmlnaHQtcmFkaXVzLCAkcmFkaWksIHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cywgJHJhZGlpLCBzcGVjKTtcbn1cbiIsIkBtaXhpbiBib3gtc2l6aW5nICgkYm94KSB7XG4vLyAgY29udGVudC1ib3ggfCBib3JkZXItYm94IHwgaW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2l6aW5nLCAkYm94LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGNhbGMoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgI3skcHJvcGVydHl9OiAtd2Via2l0LWNhbGMoI3skdmFsdWV9KTtcbiAgI3skcHJvcGVydHl9OiAgICAgICAgIGNhbGMoI3skdmFsdWV9KTtcbn1cbiIsIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcbi8vIDxjb2x1bW4tY291bnQ+IHx8IDxjb2x1bW4td2lkdGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbnMsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJGludDogYXV0bykge1xuLy8gYXV0byB8fCBpbnRlZ2VyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1jb3VudCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJGxlbmd0aDogbm9ybWFsKSB7XG4vLyBub3JtYWwgfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XG4vLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZmlsbCwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlKCRhcmcpIHtcbi8vIDxib3JkZXItd2lkdGg+IHx8IDxib3JkZXItc3R5bGU+IHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtY29sb3IsICRjb2xvciwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXN0eWxlKCRzdHlsZTogbm9uZSkge1xuLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tc3BhbigkYXJnOiBub25lKSB7XG4vLyBub25lIHx8IGFsbFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tc3BhbiwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi13aWR0aCgkbGVuZ3RoOiBhdXRvKSB7XG4vLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4td2lkdGgsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gZmlsdGVyKCRmdW5jdGlvbjogbm9uZSkge1xuICAvLyA8ZmlsdGVyLWZ1bmN0aW9uPiBbPGZpbHRlci1mdW5jdGlvbl0qIHwgbm9uZVxuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsICRmdW5jdGlvbiwgd2Via2l0IHNwZWMpO1xufVxuXG4iLCIvLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcblxuLy8gQ3VzdG9tIHNob3J0aGFuZCBub3RhdGlvbiBmb3IgZmxleGJveFxuQG1peGluIGJveCgkb3JpZW50OiBpbmxpbmUtYXhpcywgJHBhY2s6IHN0YXJ0LCAkYWxpZ246IHN0cmV0Y2gpIHtcbiAgQGluY2x1ZGUgZGlzcGxheS1ib3g7XG4gIEBpbmNsdWRlIGJveC1vcmllbnQoJG9yaWVudCk7XG4gIEBpbmNsdWRlIGJveC1wYWNrKCRwYWNrKTtcbiAgQGluY2x1ZGUgYm94LWFsaWduKCRhbGlnbik7XG59XG5cbkBtaXhpbiBkaXNwbGF5LWJveCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIElFIDEwXG4gIGRpc3BsYXk6IGJveDtcbn1cblxuQG1peGluIGJveC1vcmllbnQoJG9yaWVudDogaW5saW5lLWF4aXMpIHtcbi8vIGhvcml6b250YWx8dmVydGljYWx8aW5saW5lLWF4aXN8YmxvY2stYXhpc3xpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICRvcmllbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtcGFjaygkcGFjazogc3RhcnQpIHtcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8anVzdGlmeVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJHBhY2ssIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBhY2s6ICRwYWNrOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWFsaWduKCRhbGlnbjogc3RyZXRjaCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxiYXNlbGluZXxzdHJldGNoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsaWduLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1hbGlnbjogJGFsaWduOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWRpcmVjdGlvbigkZGlyZWN0aW9uOiBub3JtYWwpIHtcbi8vIG5vcm1hbHxyZXZlcnNlfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWxpbmVzKCRsaW5lczogc2luZ2xlKSB7XG4vLyBzaW5nbGV8bXVsdGlwbGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkbGluZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtb3JkaW5hbC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1vcmRlcjogJGludDsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4KCR2YWx1ZTogMC4wKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXG5cbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcbi8vICBmbGV4IHwgaW5saW5lLWZsZXhcbiAgICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcbiAgICAgICAgLy8gMjAwOVxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGJveDtcblxuICAgICAgICAvLyAyMDEyXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgZGlzcGxheTogLW1vei1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJpbmxpbmUtZmxleFwiIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ib3g7XG5cbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcbiAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6ICR2YWx1ZTtcbiAgICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAgIC8vIEdyYWIgZmxleC1ncm93IGZvciBvbGRlciBicm93c2Vycy5cbiAgICAkZmxleC1ncm93OiBudGgoJHZhbHVlLCAxKTtcblxuICAgIC8vIDIwMDlcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJGZsZXgtZ3Jvdywgd2Via2l0IG1veiBzcGVjKTtcblxuICAgIC8vIDIwMTEgKElFIDEwKSwgMjAxMlxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSkgICAgICBcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gICAgLy8gQWx0IHZhbHVlcy5cbiAgICAkdmFsdWUtMjAwOTogJHZhbHVlO1xuICAgICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICAgJGRpcmVjdGlvbjogXCJub3JtYWxcIjtcblxuICAgIEBpZiAkdmFsdWUgPT0gcm93IHtcbiAgICAgICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJyb3ctcmV2ZXJzZVwiIHtcbiAgICAgICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gY29sdW1uIHtcbiAgICAgICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICAgIH1cblxuICAgIEBlbHNlaWYgJHZhbHVlID09IFwiY29sdW1uLXJldmVyc2VcIiB7XG4gICAgICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgICAgICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICB9XG5cbiAgICAvLyAyMDA5XG4gICAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJHZhbHVlLTIwMDksIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gXCJyZXZlcnNlXCIge1xuICAgICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH1cblxuICAgIC8vIDIwMTJcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWRpcmVjdGlvbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gICAgLy8gMjAxMSAoSUUgMTApXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XG5cbiAgICAvLyBBbHQgdmFsdWVzLlxuICAgICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgICAgICRhbHQtdmFsdWU6IHNpbmdsZTtcbiAgICB9XG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSB3cmFwIHtcbiAgICAgICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJ3cmFwLXJldmVyc2VcIiB7XG4gICAgICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMiAtIGZsZXgtZmxvdyAoZmxleC1kaXJlY3Rpb24gfHwgZmxleC13cmFwKVxuQG1peGluIGZsZXgtZmxvdygkdmFsdWUpIHtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWZsb3csICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmRpbmFsLWdyb3VwIChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXgtb3JkZXIgKGludGVnZXIpXG4vLyAyMDEyIC0gb3JkZXIgKGludGVnZXIpXG5AbWl4aW4gb3JkZXIoJGludDogMCkge1xuICAgIC8vIDIwMDlcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAgIC8vIDIwMTJcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAgIC8vIDIwMTEgKElFIDEwKVxuICAgIC1tcy1mbGV4LW9yZGVyOiAkaW50O1xufVxuXG4vLyAyMDEyIC0gZmxleC1ncm93IChudW1iZXIpXG5AbWl4aW4gZmxleC1ncm93KCRudW1iZXI6IDApIHtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxuQG1peGluIGZsZXgtc2hyaW5rKCRudW1iZXI6IDEpIHtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXNocmluaywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtYmFzaXMgKG51bWJlcilcbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aDogYXV0bykge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJHdpZHRoO1xufVxuXG4vLyAyMDA5IC0gYm94LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTEgLSBmbGV4LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTIgLSBqdXN0aWZ5LWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQpXG5AbWl4aW4ganVzdGlmeS1jb250ZW50ICgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcblxuICAgIC8vIEFsdCB2YWx1ZXMuXG4gICAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICAgIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgICB9XG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICAgICAkYWx0LXZhbHVlOiBqdXN0aWZ5O1xuICAgIH1cblxuICAgIEBlbHNlaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICAgICAkYWx0LXZhbHVlOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gMjAwOVxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gICAgLy8gMjAxMlxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgICAvLyAyMDExIChJRSAxMClcbiAgICAtbXMtZmxleC1wYWNrOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTEgLSBmbGV4LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1pdGVtcyAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICAgJGFsdC12YWx1ZTogJHZhbHVlO1xuXG4gICAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICAgIH0gICAgXG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gICAgfVxuXG4gICAgLy8gMjAwOVxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAgIC8vIDIwMTJcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1pdGVtcywgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG4gICAgXG4gICAgLy8gMjAxMSAoSUUgMTApXG4gICAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7ICAgIFxufVxuXG4vLyAyMDExIC0gZmxleC1pdGVtLWFsaWduIChhdXRvIHwgc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tc2VsZiAoYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1zZWxmKCR2YWx1ZTogYXV0bykge1xuXG4gICAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAgICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICAgIH0gICAgXG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICAgICAkdmFsdWUtMjAxMTogZW5kO1xuICAgIH1cblxuICAgIC8vIDIwMTJcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1zZWxmLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgICAvLyAyMDExIChJRSAxMClcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAgICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICAgIH0gICAgXG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICAgICAkdmFsdWUtMjAxMTogZW5kO1xuICAgIH1cblxuICAgIEBlbHNlaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAgICAgJHZhbHVlLTIwMTE6IGp1c3RpZnk7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgICAgICR2YWx1ZS0yMDExOiBkaXN0cmlidXRlO1xuICAgIH1cblxuICAgIC8vIDIwMTJcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgICAvLyAyMDExIChJRSAxMClcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xufVxuXG4iLCIvLyBPcmRlciBvZiB0aGUgaW5jbHVkZXMgbWF0dGVycywgYW5kIGl0IGlzOiBub3JtYWwsIGJvbGQsIGl0YWxpYywgYm9sZCtpdGFsaWMuXG5cbkBtaXhpbiBmb250LWZhY2UoJGZvbnQtZmFtaWx5LCAkZmlsZS1wYXRoLCAkd2VpZ2h0OiBub3JtYWwsICRzdHlsZTogbm9ybWFsLCAkYXNzZXQtcGlwZWxpbmU6IGZhbHNlICkge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcblxuICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgICBzcmM6IGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LmVvdCcpO1xuICAgICAgc3JjOiBmb250LXVybCgnI3skZmlsZS1wYXRofS5lb3Q/I2llZml4JykgICAgICAgICAgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICBmb250LXVybCgnI3skZmlsZS1wYXRofS53b2ZmJykgICAgICAgICAgICAgICAgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgIGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LnR0ZicpICAgICAgICAgICAgICAgICBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgIGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX0nKSBmb3JtYXQoJ3N2ZycpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgc3JjOiB1cmwoJyN7JGZpbGUtcGF0aH0uZW90Jyk7XG4gICAgICBzcmM6IHVybCgnI3skZmlsZS1wYXRofS5lb3Q/I2llZml4JykgICAgICAgICAgICAgICBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgIHVybCgnI3skZmlsZS1wYXRofS53b2ZmJykgICAgICAgICAgICAgICAgICAgICBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgdXJsKCcjeyRmaWxlLXBhdGh9LnR0ZicpICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgICAgdXJsKCcjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX0nKSAgICAgIGZvcm1hdCgnc3ZnJyk7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gaHlwaGVucygkaHlwaGVuYXRpb246IG5vbmUpIHtcbi8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXG4gIEBpbmNsdWRlIHByZWZpeGVyKGh5cGhlbnMsICRoeXBoZW5hdGlvbiwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn0iLCIvLyBIaURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICN7cm91bmQoJHJhdGlvKjk2KX1kcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAjeyRyYXRpb31kcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBtaXhpbiBpbWFnZS1yZW5kZXJpbmcgKCRtb2RlOmF1dG8pIHtcblxuICBAaWYgKCRtb2RlID09IGNyaXNwLWVkZ2VzKSB7XG4gICAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBuZWFyZXN0LW5laWdoYm9yOyAvLyBJRTgrXG4gICAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7XG4gICAgICBpbWFnZS1yZW5kZXJpbmc6IC1vLWNyaXNwLWVkZ2VzO1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAgIGltYWdlLXJlbmRlcmluZzogJG1vZGU7XG4gIH1cbn1cbiIsIi8vIEFkZHMga2V5ZnJhbWVzIGJsb2NrcyBmb3Igc3VwcG9ydGVkIHByZWZpeGVzLCByZW1vdmluZyByZWR1bmRhbnQgcHJlZml4ZXMgaW4gdGhlIGJsb2NrJ3MgY29udGVudFxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQ6ICAgICRwcmVmaXgtZm9yLXdlYmtpdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYTogICAkcHJlZml4LWZvci1tb3ppbGxhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQ6ICRwcmVmaXgtZm9yLW1pY3Jvc29mdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmE6ICAgICAkcHJlZml4LWZvci1vcGVyYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYzogICAgICAkcHJlZml4LWZvci1zcGVjO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci13ZWJraXQ6IHRydWUgIWdsb2JhbDtcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMgICAgICAhZ2xvYmFsO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGxpbmVhci1ncmFkaWVudCgkcG9zLCAkRzEsICRHMjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEczOiBudWxsLCAkRzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHNTogbnVsbCwgJEc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzc6IG51bGwsICRHODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc5OiBudWxsLCAkRzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcbiAgLy8gRGV0ZWN0IHdoYXQgdHlwZSBvZiB2YWx1ZSBleGlzdHMgaW4gJHBvc1xuICAkcG9zLXR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHBvcy1zcGVjOiBudWxsO1xuICAkcG9zLWRlZ3JlZTogbnVsbDtcblxuICAvLyBJZiAkcG9zIGlzIG1pc3NpbmcgZnJvbSBtaXhpbiwgcmVhc3NpZ24gdmFycyBhbmQgYWRkIGRlZmF1bHQgcG9zaXRpb25cbiAgQGlmICgkcG9zLXR5cGUgPT0gY29sb3IpIG9yIChudGgoJHBvcywgMSkgPT0gXCJ0cmFuc3BhcmVudFwiKSAge1xuICAgICRHMTA6ICRHOTsgJEc5OiAkRzg7ICRHODogJEc3OyAkRzc6ICRHNjsgJEc2OiAkRzU7XG4gICAgICRHNTogJEc0OyAkRzQ6ICRHMzsgJEczOiAkRzI7ICRHMjogJEcxOyAkRzE6ICRwb3M7XG4gICAgICRwb3M6IG51bGw7XG4gIH1cblxuICBAaWYgJHBvcyB7XG4gICAgJHBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpO1xuICAgICRwb3MtZGVncmVlOiBudGgoJHBvc2l0aW9ucywgMSk7XG4gICAgJHBvcy1zcGVjOiAgIG50aCgkcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gICRmdWxsOiAkRzEsICRHMiwgJEczLCAkRzQsICRHNSwgJEc2LCAkRzcsICRHOCwgJEc5LCAkRzEwO1xuXG4gIC8vIFNldCAkRzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJEcxLCAxKTtcblxuICAvLyBJZiAkZmFsbGJhY2sgaXMgYSBjb2xvciB1c2UgdGhhdCBjb2xvciBhcyB0aGUgZmFsbGJhY2sgY29sb3JcbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRwb3MtZGVncmVlICRmdWxsKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZVxuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KCN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsIkBtaXhpbiBwZXJzcGVjdGl2ZSgkZGVwdGg6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IDxsZW5ndGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLCAkZGVwdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHZhbHVlOiA1MCUgNTAlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLW9yaWdpbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRHMSwgICAgICAgICRHMixcbiAgICAgICAgICAgICAgICAgICAgICAgJEczOiBudWxsLCAkRzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHNTogbnVsbCwgJEc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzc6IG51bGwsICRHODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc5OiBudWxsLCAkRzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkcG9zOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkc2hhcGUtc2l6ZTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG5cbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkRzEsICRHMiwgJHBvcywgJHNoYXBlLXNpemUpO1xuICAkRzE6ICBudGgoJGRhdGEsIDEpO1xuICAkRzI6ICBudGgoJGRhdGEsIDIpO1xuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcblxuICAkZnVsbDogJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMDtcblxuICAvLyBTdHJpcCBkZXByZWNhdGVkIGNvdmVyL2NvbnRhaW4gZm9yIHNwZWNcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gIC8vIFNldCAkRzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xuXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXG4gICRzaGFwZS1zaXplOiBpZigkc2hhcGUtc2l6ZSwgJyN7JHNoYXBlLXNpemV9LCAnLCBudWxsKTtcbiAgJHBvczogICAgICAgIGlmKCRwb3MsICcjeyRwb3N9LCAnLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsICdhdCAjeyRwb3N9JywgbnVsbCk7XG4gICRzaGFwZS1zaXplLXNwZWM6IGlmKCgkc2hhcGUtc2l6ZS1zcGVjICE9ICcgJykgYW5kICgkcG9zID09IG51bGwpLCAnI3skc2hhcGUtc2l6ZS1zcGVjfSwgJywgJyN7JHNoYXBlLXNpemUtc3BlY30gJyk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQodW5xdW90ZSgjeyRwb3N9I3skc2hhcGUtc2l6ZX0jeyRmdWxsfSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwicmFkaWFsLWdyYWRpZW50KCN7JHNoYXBlLXNpemUtc3BlY30jeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eTogbm9uZSkge1xuLy8gIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4vLyB4LWF4aXMgLSBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgIHwgbGVuZ3RoIHwgJVxuLy8geS1heGlzIC0gdG9wICB8IGNlbnRlciB8IGJvdHRvbSB8IGxlbmd0aCB8ICVcbi8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSAoJHN0eWxlOiBmbGF0KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XG5cbkBtaXhpbiB0cmFuc2l0aW9uICgkcHJvcGVydGllcy4uLikge1xuICAvLyBGaXggZm9yIHZlbmRvci1wcmVmaXggdHJhbnNmb3JtIHByb3BlcnR5XG4gICRuZWVkcy1wcmVmaXhlczogZmFsc2U7XG4gICR3ZWJraXQ6ICgpO1xuICAkbW96OiAoKTtcbiAgJHNwZWM6ICgpO1xuXG4gIC8vIENyZWF0ZSBsaXN0cyBmb3IgdmVuZG9yLXByZWZpeGVkIHRyYW5zZm9ybVxuICBAZWFjaCAkbGlzdCBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmIG50aCgkbGlzdCwgMSkgPT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAkbmVlZHMtcHJlZml4ZXM6IHRydWU7XG4gICAgICAkbGlzdDE6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgJGxpc3QyOiAtbW96LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MzogKCk7XG5cbiAgICAgIEBlYWNoICR2YXIgaW4gJGxpc3Qge1xuICAgICAgICAkbGlzdDM6IGpvaW4oJGxpc3QzLCAkdmFyKTtcblxuICAgICAgICBAaWYgJHZhciAhPSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICAgICAkbGlzdDE6IGpvaW4oJGxpc3QxLCAkdmFyKTtcbiAgICAgICAgICAkbGlzdDI6IGpvaW4oJGxpc3QyLCAkdmFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QxKTtcbiAgICAgICAgICRtb3o6IGFwcGVuZCgkbW96LCAgICAkbGlzdDIpO1xuICAgICAgICAkc3BlYzogYXBwZW5kKCRzcGVjLCAgICRsaXN0Myk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGxpc3RzIGZvciBub24tcHJlZml4ZWQgdHJhbnNpdGlvbiBwcm9wZXJ0aWVzXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdDogIGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xuICAgICAgJG1vejogICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdCwgY29tbWEpO1xuICAgICAgJHNwZWM6ICAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5ICgkcHJvcGVydGllcy4uLikge1xuICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCAnd2Via2l0Jyk7XG4gICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsICdtb3onKTtcbiAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbiAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uICgkbW90aW9ucy4uLikge1xuLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKClcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiB1c2VyLXNlbGVjdCgkYXJnOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkYXJnLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJHBsYWNlaG9sZGVyczogXCI6LXdlYmtpdC1pbnB1dFwiIFwiOi1tb3pcIiBcIi1tb3pcIiBcIi1tcy1pbnB1dFwiO1xuICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVycyB7XG4gICAgJjojeyRwbGFjZWhvbGRlcn0tcGxhY2Vob2xkZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gYnV0dG9uICgkc3R5bGU6IHNpbXBsZSwgJGJhc2UtY29sb3I6ICM0Mjk0ZjAsICR0ZXh0LXNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJGJhc2UtY29sb3I7XG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09ICM0Mjk0ZjAge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG59XG5cblxuLy8gU2VsZWN0b3IgU3R5bGUgQnV0dG9uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AbWl4aW4gYnV0dG9uc3R5bGUoJHR5cGUsICRiLWNvbG9yLCAkdC1zaXplLCAkcGFkKSB7XG4gIC8vIEdyYXlzY2FsZSBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBzaGlueSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHBpbGwgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IGZsYXQgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgLy8gQ29sb3JlZCBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBzaGlueSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHBpbGwge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IGZsYXQge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxufVxuXG5cbi8vIFNpbXBsZSBCdXR0b25cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBtaXhpbiBzaW1wbGUoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTE0JSk7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtOCUsICAkbGlnaHRuZXNzOiAgMTUlKTtcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xMSUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDE1JSwgJGxpZ2h0bmVzczogLTE4JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNyUsICRsaWdodG5lc3M6ICA1JSk7XG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA4JSwgJGxpZ2h0bmVzczogLTE0JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDklLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNyUsICRsaWdodG5lc3M6IC0xNyUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG5cbi8vIFNoaW55IEJ1dHRvblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQG1peGluIHNoaW55KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XG4gICRmb3VydGgtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC03OSwgICRncmVlbjogLTcwLCAgJGJsdWU6IC00Nik7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xNDAsICRncmVlbjogLTE0MSwgJGJsdWU6IC0xMTQpO1xuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGZvdXJ0aC1zdG9wOiAgIGdyYXlzY2FsZSgkZm91cnRoLXN0b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHNlY29uZC1zdG9wOiAgIGdyYXlzY2FsZSgkc2Vjb25kLXN0b3ApO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgICAkdGhpcmQtc3RvcDogICAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wKTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRiYXNlLWNvbG9yIDAlLCAkc2Vjb25kLXN0b3AgNTAlLCAkdGhpcmQtc3RvcCA1MCUsICRmb3VydGgtc3RvcCAxMDAlKTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuXG4vLyBQaWxsIEJ1dHRvblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQG1peGluIHBpbGwoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC0xMSUsICRsaWdodG5lc3M6IC0yNiUpO1xuICAkYm9yZGVyLXNpZGVzOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yMSUsICRsaWdodG5lc3M6IC0yMSUpO1xuICAkYm9yZGVyLXRvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0zMCUsICRsaWdodG5lc3M6IC0xNSUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xJSwgICRsaWdodG5lc3M6ICA3JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDE0JSwgJGxpZ2h0bmVzczogLTEwJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTE5JSwgJGxpZ2h0bmVzczogLTE1JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGJvcmRlci1zaWRlczogIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAkYm9yZGVyLXRvcDogICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xuICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzczogLTQuNSUpO1xuICAgICRib3JkZXItYm90dG9tOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDEzLjUlLCAkbGlnaHRuZXNzOiAtMzIlKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yJSwgICAgJGxpZ2h0bmVzczogLTI3JSk7XG4gICAgJGJvcmRlci10b3A6ICAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMTclLCAgICRsaWdodG5lc3M6IC0yMSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAkc2F0dXJhdGlvbjogLTElLCAgICAkbGlnaHRuZXNzOiAgMyUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTQlLCAgICAkbGlnaHRuZXNzOiAtMTUuNSUpO1xuICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTUlLCAgICAkbGlnaHRuZXNzOiAtMjIlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAgICRib3JkZXItc2lkZXM6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgICAkYm9yZGVyLXRvcDogICAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWhvdmVyKTtcbiAgICB9XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNCwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTEwJSk7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDYsICAkc2F0dXJhdGlvbjogLTIuNSUsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogOSwgICRzYXR1cmF0aW9uOiAgMiUsICAgJGxpZ2h0bmVzczogLTIxLjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNSwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTIxLjUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBncmF5c2NhbGUoJGFjdGl2ZS1jb2xvcik7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbS1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b20tYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuXG5cbi8vIEZsYXQgQnV0dG9uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiA3cHggMThweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCl7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDQlLCAkbGlnaHRuZXNzOiA1JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItYWN0aXZlOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItYWN0aXZlKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1hY3RpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4iLCIvLyBNb2Rlcm4gbWljcm8gY2xlYXJmaXggcHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY29udGFpbiBmbG9hdHMgd2l0aG91dCBhZGRpbmcgYWRkaXRpb25hbCBtYXJrdXAuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTpcbi8vXG4vLyAgICAvLyBDb250YWluIGFsbCBmbG9hdHMgd2l0aGluIC53cmFwcGVyXG4vLyAgICAud3JhcHBlciB7XG4vLyAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8gICAgICAuY29udGVudCxcbi8vICAgICAgLnNpZGViYXIge1xuLy8gICAgICAgIGZsb2F0IDogbGVmdDtcbi8vICAgICAgfVxuLy8gICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OlwiXCI7XG4gICAgZGlzcGxheTp0YWJsZTtcbiAgICBjbGVhcjpib3RoO1xuICB9XG59XG5cbi8vIEFja25vd2xlZGdlbWVudHNcbi8vIEJlYXQgKnRoYXQqIGNsZWFyZml4OiBbVGhpZXJyeSBLb2JsZW50el0oaHR0cDovL3d3dy5jc3MtMTAxLm9yZy9hcnRpY2xlcy9jbGVhcmZpeC9sYXRlc3QtbmV3LWNsZWFyZml4LXNvLWZhci5waHApXG4iLCIvLyBkaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHNcbi8vIGZvciB3cml0aW5nIHByb3BlcnRpZXMgbGlrZSB0aGUgZm9sbG93aW5nXG4vL1xuLy8gQGluY2x1ZGUgbWFyZ2luKG51bGwgMCAxMHB4KTtcbi8vIC0tLS0tLVxuLy8gbWFyZ2luLXJpZ2h0OiAwO1xuLy8gbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vIG1hcmdpbi1sZWZ0OiAwO1xuLy9cbi8vIC0gb3IgLVxuLy9cbi8vIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XG4vLyAtLS0tLS1cbi8vIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbi8vIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbi8vXG4vLyAtLS0tLS1cbi8vXG4vLyBOb3RlOiBZb3UgY2FuIGFsc28gdXNlIGZhbHNlIGluc3RlYWQgb2YgbnVsbFxuXG5AZnVuY3Rpb24gY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKSB7XG4gICRvdXRwdXQ6IG51bGw7XG5cbiAgJEE6IG50aCggJHZhbHMsIDEgKTtcbiAgJEI6IGlmKCBsZW5ndGgoJHZhbHMpIDwgMiwgJEEsIG50aCgkdmFscywgMikpO1xuICAkQzogaWYoIGxlbmd0aCgkdmFscykgPCAzLCAkQSwgbnRoKCR2YWxzLCAzKSk7XG4gICREOiBpZiggbGVuZ3RoKCR2YWxzKSA8IDIsICRBLCBudGgoJHZhbHMsIGlmKCBsZW5ndGgoJHZhbHMpIDwgNCwgMiwgNCkgKSk7XG5cbiAgQGlmICRBID09IDAgeyAkQTogMCB9XG4gIEBpZiAkQiA9PSAwIHsgJEI6IDAgfVxuICBAaWYgJEMgPT0gMCB7ICRDOiAwIH1cbiAgQGlmICREID09IDAgeyAkRDogMCB9XG5cbiAgQGlmICRBID09ICRCIGFuZCAkQSA9PSAkQyBhbmQgJEEgPT0gJEQgeyAkb3V0cHV0OiAkQSAgICAgICAgICB9XG4gIEBlbHNlIGlmICRBID09ICRDIGFuZCAkQiA9PSAkRCAgICAgICAgIHsgJG91dHB1dDogJEEgJEIgICAgICAgfVxuICBAZWxzZSBpZiAkQiA9PSAkRCAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRBICRCICRDICAgIH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkQSAkQiAkQyAkRCB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG5AZnVuY3Rpb24gY29udGFpbnMtZmFsc3koJGxpc3QpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBub3QgJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBkaXJlY3Rpb25hbC1wcm9wZXJ0eSgkcHJlLCAkc3VmLCAkdmFscykge1xuICAvLyBQcm9wZXJ0eSBOYW1lc1xuICAkdG9wOiAgICAkcHJlICsgXCItdG9wXCIgICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYm90dG9tOiAkcHJlICsgXCItYm90dG9tXCIgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkbGVmdDogICAkcHJlICsgXCItbGVmdFwiICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkcmlnaHQ6ICAkcHJlICsgXCItcmlnaHRcIiAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYWxsOiAgICAkcHJlICsgICAgICAgICAgICAgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcblxuICAkdmFsczogY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKTtcblxuICBAaWYgY29udGFpbnMtZmFsc3koJHZhbHMpIHtcbiAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHRvcH06IG50aCgkdmFscywgMSk7IH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDEge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRyaWdodH06IG50aCgkdmFscywgMSk7IH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDIpOyB9XG4gICAgfVxuXG4gICAgLy8gcHJvcDogdG9wL2JvdHRvbSByaWdodC9sZWZ0XG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMiB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMSk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuXG4gICAgLy8gcHJvcDogdG9wIHJpZ2h0L2xlZnQgYm90dG9tXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cblxuICAgIC8vIHByb3A6IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSA0IHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgNCkgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDQpOyB9XG4gICAgfVxuXG4gIC8vIHByb3A6IHRvcC9yaWdodC9ib3R0b20vbGVmdFxuICB9IEBlbHNlIHtcbiAgICAjeyRhbGx9OiAkdmFscztcbiAgfVxufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KG1hcmdpbiwgZmFsc2UsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkocGFkZGluZywgZmFsc2UsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG59XG5cbkBtaXhpbiBib3JkZXItY29sb3IoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBjb2xvciwgJHZhbHMuLi4pO1xufVxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcbn1cbiIsIkBtaXhpbiBlbGxpcHNpcygkd2lkdGg6IDEwMCUpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIkZ2VvcmdpYTogR2VvcmdpYSwgQ2FtYnJpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kbHVjaWRhLWdyYW5kZTogXCJMdWNpZGEgR3JhbmRlXCIsIFRhaG9tYSwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBDb25zb2xhcywgQ291cmllciwgbW9ub3NwYWNlO1xuJHZlcmRhbmE6IFZlcmRhbmEsIEdlbmV2YSwgc2Fucy1zZXJpZjtcbiIsIkBtaXhpbiBoaWRlLXRleHQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gR2VuZXJhdGUgYSB2YXJpYWJsZSAoJGFsbC10ZXh0LWlucHV0cykgd2l0aCBhIGxpc3Qgb2YgYWxsIGh0bWw1XG4vLyBpbnB1dCB0eXBlcyB0aGF0IGhhdmUgYSB0ZXh0LWJhc2VkIGlucHV0LCBleGNsdWRpbmcgdGV4dGFyZWEuXG4vLyBodHRwOi8vZGl2ZWludG9odG1sNS5vcmcvZm9ybXMuaHRtbFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGlucHV0cy1saXN0OiAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJudW1iZXJcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRlbFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGV4dFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidXJsXCJdJyxcblxuICAgICAgICAgICAgICAvLyBXZWJraXQgJiBHZWNrbyBtYXkgY2hhbmdlIHRoZSBkaXNwbGF5IG9mIHRoZXNlIGluIHRoZSBmdXR1cmVcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJtb250aFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXSc7XG5cbi8vIEJhcmUgaW5wdXRzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCk7XG5cbi8vIEhvdmVyIFBzZXVkby1jbGFzc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogYXNzaWduLWlucHV0cygkaW5wdXRzLWxpc3QsIGhvdmVyKTtcblxuLy8gRm9jdXMgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzLWZvY3VzOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCwgZm9jdXMpO1xuXG5cblxuLy8gWW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOlxuLy8gI3skYWxsLXRleHQtaW5wdXRzfVxuLy8gI3skYWxsLXRleHQtaW5wdXRzLWhvdmVyfVxuLy8gI3skYWxsLXRleHQtaW5wdXRzLWZvY3VzfVxuXG4vLyBFeGFtcGxlXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyAgICN7JGFsbC10ZXh0LWlucHV0c30sIHRleHRhcmVhIHtcbi8vICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4vLyAgIH1cblxuXG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEdlbmVyYXRlIGEgdmFyaWFibGUgKCRhbGwtYnV0dG9uLWlucHV0cykgd2l0aCBhIGxpc3Qgb2YgYWxsIGh0bWw1XG4vLyBpbnB1dCB0eXBlcyB0aGF0IGhhdmUgYSBidXR0b24tYmFzZWQgaW5wdXQsIGV4Y2x1ZGluZyBidXR0b24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kaW5wdXRzLWJ1dHRvbi1saXN0OiAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuLy8gQmFyZSBpbnB1dHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0KTtcblxuLy8gSG92ZXIgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgaG92ZXIpO1xuXG4vLyBGb2N1cyBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1mb2N1czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0LCBmb2N1cyk7XG5cbi8vIEFjdGl2ZSBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgYWN0aXZlKTtcblxuXG5cbi8vIFlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTpcbi8vICN7JGFsbC1idXR0b24taW5wdXRzfVxuLy8gI3skYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXJ9XG4vLyAjeyRhbGwtYnV0dG9uLWlucHV0cy1mb2N1c31cbi8vICN7JGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZX1cblxuLy8gRXhhbXBsZVxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gICAjeyRhbGwtYnV0dG9uLWlucHV0c30sIGJ1dHRvbiB7XG4vLyAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xuLy8gICB9XG4iLCJAbWl4aW4gcG9zaXRpb24gKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuXG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XG5cbiAgJHRvcDogbnRoKCRjb29yZGluYXRlcywgMSk7XG4gICRyaWdodDogbnRoKCRjb29yZGluYXRlcywgMik7XG4gICRib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpO1xuICAkbGVmdDogbnRoKCRjb29yZGluYXRlcywgNCk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAaWYgKCR0b3AgYW5kICR0b3AgPT0gYXV0bykgb3IgKHR5cGUtb2YoJHRvcCkgPT0gbnVtYmVyKSB7XG4gICAgdG9wOiAkdG9wO1xuICB9XG5cbiAgQGlmICgkcmlnaHQgYW5kICRyaWdodCA9PSBhdXRvKSBvciAodHlwZS1vZigkcmlnaHQpID09IG51bWJlcikge1xuICAgIHJpZ2h0OiAkcmlnaHQ7XG4gIH1cblxuICBAaWYgKCRib3R0b20gYW5kICRib3R0b20gPT0gYXV0bykgb3IgKHR5cGUtb2YoJGJvdHRvbSkgPT0gbnVtYmVyKSB7XG4gICAgYm90dG9tOiAkYm90dG9tO1xuICB9XG5cbiAgQGlmICgkbGVmdCBhbmQgJGxlZnQgPT0gYXV0bykgb3IgKHR5cGUtb2YoJGxlZnQpID09IG51bWJlcikge1xuICAgIGxlZnQ6ICRsZWZ0O1xuICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAkcmFkaWksIHdlYmtpdCBtcyBzcGVjKTtcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIFZhcmlhYmxlcyBsb2NhdGVkIGluIC9zZXR0aW5ncy9fcHJlZml4ZXIuc2Nzc1xuXG5AbWl4aW4gcHJlZml4ZXIgKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlICB7XG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xufVxuIiwiQG1peGluIHJldGluYS1pbWFnZSgkZmlsZW5hbWUsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZywgJHJldGluYS1maWxlbmFtZTogbnVsbCwgJHJldGluYS1zdWZmaXg6IF8yeCwgJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH1cblxuICBAaW5jbHVkZSBoaWRwaSB7XG4gICAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRiYWNrZ3JvdW5kLXNpemU7XG5cbiAgfVxufVxuIiwiQG1peGluIHNpemUoJHNpemUpIHtcbiAgJGhlaWdodDogbnRoKCRzaXplLCAxKTtcbiAgJHdpZHRoOiAkaGVpZ2h0O1xuXG4gIEBpZiBsZW5ndGgoJHNpemUpID4gMSB7XG4gICAgJGhlaWdodDogbnRoKCRzaXplLCAyKTtcbiAgfVxuXG4gIEBpZiAkaGVpZ2h0ID09IGF1dG8gb3IgKHR5cGUtb2YoJGhlaWdodCkgPT0gbnVtYmVyIGFuZCBub3QgdW5pdGxlc3MoJGhlaWdodCkpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cblxuICBAaWYgJHdpZHRoID09IGF1dG8gb3IgKHR5cGUtb2YoJGhlaWdodCkgPT0gbnVtYmVyIGFuZCBub3QgdW5pdGxlc3MoJHdpZHRoKSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH1cbn1cbiIsIi8vIENTUyBjdWJpYy1iZXppZXIgdGltaW5nIGZ1bmN0aW9ucy4gVGltaW5nIGZ1bmN0aW9ucyBjb3VydGVzeSBvZiBqcXVlcnkuZWFzaWUgKGdpdGh1Yi5jb20vamF1a2lhL2Vhc2llKVxuLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtbydlZCBoZXJlOiBodHRwOi8vanF1ZXJ5dWkuY29tL2RlbW9zL2VmZmVjdC9lYXNpbmcuaHRtbFxuXG4vLyBFQVNFIElOXG4kZWFzZS1pbi1xdWFkOiAgICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApO1xuJGVhc2UtaW4tY3ViaWM6ICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiRlYXNlLWluLXF1YXJ0OiAgICAgY3ViaWMtYmV6aWVyKDAuODk1LCAgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XG4kZWFzZS1pbi1xdWludDogICAgIGN1YmljLWJlemllcigwLjc1NSwgIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuJGVhc2UtaW4tc2luZTogICAgICBjdWJpYy1iZXppZXIoMC40NzAsICAwLjAwMCwgMC43NDUsIDAuNzE1KTtcbiRlYXNlLWluLWV4cG86ICAgICAgY3ViaWMtYmV6aWVyKDAuOTUwLCAgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XG4kZWFzZS1pbi1jaXJjOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xuJGVhc2UtaW4tYmFjazogICAgICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KTtcblxuLy8gRUFTRSBPVVRcbiRlYXNlLW91dC1xdWFkOiAgICAgY3ViaWMtYmV6aWVyKDAuMjUwLCAgMC40NjAsIDAuNDUwLCAwLjk0MCk7XG4kZWFzZS1vdXQtY3ViaWM6ICAgIGN1YmljLWJlemllcigwLjIxNSwgIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuJGVhc2Utb3V0LXF1YXJ0OiAgICBjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWludDogICAgY3ViaWMtYmV6aWVyKDAuMjMwLCAgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtc2luZTogICAgIGN1YmljLWJlemllcigwLjM5MCwgIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWV4cG86ICAgICBjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1jaXJjOiAgICAgY3ViaWMtYmV6aWVyKDAuMDc1LCAgMC44MjAsIDAuMTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtYmFjazogICAgIGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpO1xuXG4vLyBFQVNFIElOIE9VVFxuJGVhc2UtaW4tb3V0LXF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsICAwLjAzMCwgMC41MTUsIDAuOTU1KTtcbiRlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsICAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1zaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4kZWFzZS1pbi1vdXQtZXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LWNpcmM6ICBjdWJpYy1iZXppZXIoMC43ODUsICAwLjEzNSwgMC4xNTAsIDAuODYwKTtcbiRlYXNlLWluLW91dC1iYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MCk7XG4iLCJAbWl4aW4gdHJpYW5nbGUgKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcblxuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG5cbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcikgPT0gMiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG5cbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcblxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuIiwiQG1peGluIHdvcmQtd3JhcCgkd3JhcDogYnJlYWstd29yZCkge1xuICB3b3JkLXdyYXA6ICR3cmFwO1xuXG4gIEBpZiAkd3JhcCA9PSBicmVhay13b3JkIHtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgfVxufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gVGhlc2UgbWl4aW5zL2Z1bmN0aW9ucyBhcmUgZGVwcmVjYXRlZFxuLy8gVGhleSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AbWl4aW4gaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAd2FybiBcImlubGluZS1ibG9jayBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG4iLCIvLyBDb3JlXG5AaW1wb3J0IFwiY29yZVwiO1xuXG4vLyBCcmVha3BvaW50c1xuQGltcG9ydCBcImJyZWFrcG9pbnRzXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcImxheW91dFwiO1xuXG4vLyBUeXBvZ3JhcGh5XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuXG4vLyBOYXZcbkBpbXBvcnQgXCJuYXZcIjsiLCIvLyBCb3JkZXIgUmFkaXVzXG4kY29yZS1ib3JkZXItcmFkaXVzOlx0XHRcdDAgIWRlZmF1bHQ7XG5cbi8vIFByZSBhbmQgQ29kZSBGb250IEZhbWlseVxuJHByZWZvcm1hdHRlZC1mb250LWZhbWlseTogICAgICBpbmhlcml0ICFkZWZhdWx0OyIsIi8vIE1lZGlhIERldmljZSBCcmVha3BvaW50c1xuJGxhcmdlLWRlc2t0b3AtY29udGFpbmVyOlx0XHQ3NS4wMDBlbSAhZGVmYXVsdDtcbiRkZXNrdG9wLWNvbnRhaW5lcjpcdFx0XHRcdDYwLjAwMGVtICFkZWZhdWx0O1xuJHRhYmxldC1jb250YWluZXI6XHRcdFx0XHQ0OC4wMDBlbSAhZGVmYXVsdDtcbiRsYXJnZS1tb2JpbGUtY29udGFpbmVyOlx0XHQzMC4wMDBlbSAhZGVmYXVsdDtcbiRtb2JpbGUtY29udGFpbmVyOlx0XHRcdFx0MTAwJSAhZGVmYXVsdDtcblxuLy8gQnJlYWtwb2ludCBWYXJpYWJsZXMgRm9yIFBhcnRpY2xlc1xuJG1lZGlhOiBcImFsbFwiICFkZWZhdWx0O1xuJG1vYmlsZS1vbmx5OiBcIiN7JG1lZGlhfSBhbmQgKG1heC13aWR0aDojeyR0YWJsZXQtY29udGFpbmVyIC0gMC4wNjJ9KVwiICFkZWZhdWx0O1xuJG5vLW1vYmlsZTogXCIjeyRtZWRpYX0gYW5kIChtaW4td2lkdGg6I3skdGFibGV0LWNvbnRhaW5lcn0pXCIgIWRlZmF1bHQ7XG4kc21hbGwtbW9iaWxlLXJhbmdlOiBcIiN7JG1lZGlhfSBhbmQgKG1heC13aWR0aDojeyRsYXJnZS1tb2JpbGUtY29udGFpbmVyfSlcIiAhZGVmYXVsdDtcbiRsYXJnZS1tb2JpbGUtcmFuZ2U6IFwiI3skbWVkaWF9IGFuZCAobWluLXdpZHRoOiN7JGxhcmdlLW1vYmlsZS1jb250YWluZXIgKyAwLjA2M30pIGFuZCAobWF4LXdpZHRoOiN7JHRhYmxldC1jb250YWluZXIgLSAwLjA2Mn0pXCIgIWRlZmF1bHQ7XG4kdGFibGV0LXJhbmdlOiBcIiN7JG1lZGlhfSBhbmQgKG1pbi13aWR0aDojeyR0YWJsZXQtY29udGFpbmVyfSkgYW5kIChtYXgtd2lkdGg6I3skZGVza3RvcC1jb250YWluZXIgLSAwLjA2Mn0pXCIgIWRlZmF1bHQ7XG4kZGVza3RvcC1yYW5nZTogXCIjeyRtZWRpYX0gYW5kIChtaW4td2lkdGg6I3skZGVza3RvcC1jb250YWluZXJ9KSBhbmQgKG1heC13aWR0aDojeyRsYXJnZS1kZXNrdG9wLWNvbnRhaW5lciAtIDAuMDYyfSlcIiAhZGVmYXVsdDtcbiRsYXJnZS1kZXNrdG9wLXJhbmdlOiBcIiN7JG1lZGlhfSBhbmQgKG1pbi13aWR0aDojeyRsYXJnZS1kZXNrdG9wLWNvbnRhaW5lcn0pXCIgIWRlZmF1bHQ7XG4iLCIvLyBDb250ZW50IEJsb2NrIFNwYWNpbmcgVmFyaWFibGVzXG4kY29udGVudC1tYXJnaW46XHRcdFx0XHQwLjYyNXJlbSAhZGVmYXVsdDtcbiRjb250ZW50LXBhZGRpbmc6XHRcdFx0XHQwLjkzOHJlbSAhZGVmYXVsdDtcblxuLy8gRml4ZWQgQmxvY2sgVmFyaWFibGVzXG4kZml4ZWQtYmxvY2stZnVsbDpcdFx0XHRcdHBlcmNlbnRhZ2UoMS80KSAhZGVmYXVsdDtcbiRmaXhlZC1ibG9jay1kZXNrdG9wOlx0XHRcdHBlcmNlbnRhZ2UoMS8zKSAhZGVmYXVsdDtcbiRmaXhlZC1ibG9jay10YWJsZXQ6XHRcdFx0cGVyY2VudGFnZSgxLzIpICFkZWZhdWx0OyIsIi8vIEJhc2UgU2l6ZXNcbiRjb3JlLWZvbnQtc2l6ZTpcdFx0XHRcdDFyZW0gIWRlZmF1bHQ7XG4kY29yZS1saW5lLWhlaWdodDpcdFx0XHRcdDEuNyAhZGVmYXVsdDtcblxuLy8gSGVhZGluZyBTaXplc1xuJGgxLWZvbnQtc2l6ZTpcdFx0XHRcdFx0JGNvcmUtZm9udC1zaXplICsgMi4yMCAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6XHRcdFx0XHRcdCRjb3JlLWZvbnQtc2l6ZSAtIDEuNjAgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOlx0XHRcdFx0XHQkY29yZS1mb250LXNpemUgLSAxLjUwICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTpcdFx0XHRcdFx0JGNvcmUtZm9udC1zaXplICsgMC43NSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6XHRcdFx0XHRcdCRjb3JlLWZvbnQtc2l6ZSArIDAuMzUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOlx0XHRcdFx0XHQkY29yZS1mb250LXNpemUgLSAwLjE1ICFkZWZhdWx0O1xuXG4vLyBTcGFjaW5nXG4kbGVhZGluZy1tYXJnaW46XHRcdFx0XHQkY29yZS1saW5lLWhlaWdodCAqIDFyZW0gIWRlZmF1bHQ7XG4iLCIvLyBEcm9wZG93bnNcbiRkcm9wZG93bi13aWR0aDpcdFx0XHRcdDE0MHB4ICFkZWZhdWx0O1xuJGZseW91dC13aWR0aDpcdFx0XHRcdFx0MTQwcHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sLXdpZHRoOiAgICAgICAgICAgIDE3MHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbC1oZWlnaHQ6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDsiLCIvLyBDb2xvcnNcbkBpbXBvcnQgXCJjb2xvcnNcIjtcblxuLy8gVHlwb2dyYXBoeVxuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcblxuLy8gVHlwb2dyYXBoeVxuQGltcG9ydCBcImJ1bGxldHNcIjtcblxuLy8gVmFyaWFibGVzXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG4iLCIvLyBDb3JlXG4kY29yZS10ZXh0Olx0XHRcdFx0XHRcdCM4MDgwODA7XG4kY29yZS1hY2NlbnQ6XHRcdFx0XHRcdCM4N2I2NzI7XG4kc2Vjb25kYXJ5LWxpbms6XHRcdFx0XHQjRjY2MzVFO1xuJHdoaXRlOlx0XHRcdFx0XHRcdFx0I2ZmZjtcbiRibGFjazpcdFx0XHRcdFx0XHRcdCMwMDA7XG4kbGlnaHQtZ3JheTpcdFx0XHRcdFx0IzY1NjE2MTtcbiRib3JkZXItY29sb3I6IFx0XHRcdFx0XHQjRUVFRUVFO1xuXG4vLyBCb3JkZXJzXG4kY29yZS1ib3JkZXItY29sb3I6XHRcdFx0XHQjQ0JDQkNCO1xuJGNvcmUtYm9yZGVyLWNvbG9yLWhvdmVyOiBcdFx0ZGFya2VuKCRjb3JlLWJvcmRlci1jb2xvciwgMTApO1xuJGNvcmUtYm9yZGVyLWNvbG9yLWZvY3VzOiBcdFx0JGNvcmUtYWNjZW50O1xuXG4vLyBTaGFkb3dzXG4kY29yZS1ib3gtc2hhZG93OiBcdFx0XHRcdGluc2V0IDAgMXB4IDNweCBoc2xhKDAsIDAlLCAwJSwgMC4wNik7XG4kY29yZS1ib3gtc2hhZG93LWZvY3VzOiBcdFx0JGNvcmUtYm94LXNoYWRvdywgMCAwIDVweCByZ2JhKGRhcmtlbigkY29yZS1ib3JkZXItY29sb3ItZm9jdXMsIDUpLCAwLjcpO1xuXG4vLyBCYWNrZ3JvdW5kXG4kcGFnZS1iZzpcdFx0XHRcdFx0XHQjZmZmO1xuXG4vLyBIZWFkZXJcbiRoZWFkZXItdGV4dDogXHRcdFx0XHRcdCNGRkZGRkY7XG5cbi8vIE5hdlxuJG5hdmJhci10ZXh0OiBcdFx0XHRcdFx0I2ZmZjtcbiRuYXZiYXItYmc6IFx0XHRcdFx0XHQjRkZGRkZGO1xuXG4vLyBTaG93Y2FzZVxuJHNob3djYXNlLWJnOlx0XHRcdFx0XHRsaWdodGVuKCRjb3JlLWFjY2VudCwgNiUpO1xuJHNob3djYXNlLXRleHQ6XHRcdFx0XHRcdCNmZmY7XG5cbi8vIEZlYXR1cmVcbiRmZWF0dXJlLWJnOlx0XHRcdFx0XHQjZmZmO1xuXG4vLyBNYWluIEJvZHlcbiRtYWluLWJnOlx0XHRcdFx0XHRcdCNmN2Y3Zjc7XG4kYm9keS1ib3JkZXI6XHRcdFx0XHRcdGRhcmtlbigkbWFpbi1iZywgNSUpO1xuXG4vLyBTaWRlYmFyXG4kc2lkZWJhci10ZXh0Olx0XHRcdFx0XHQjYWFhO1xuXG4vLyBCb3R0b21cbiRib3R0b20tYmc6XHRcdFx0XHRcdFx0I2Y3ZjdmNztcbiRib3R0b20tdGV4dDpcdFx0XHRcdFx0JGNvcmUtdGV4dDtcblxuLy8gRm9vdGVyXG4kZm9vdGVyLWJnOlx0XHRcdFx0XHRcdCM0MDQwNDA7XG4kZm9vdGVyLXRleHQ6XHRcdFx0XHRcdCNjY2M7XG5cbiRydWxlLWNvbG9yOiBcdFx0XHRcdFx0I0YwRjJGNDtcbiRjb2RlLXRleHQ6XHRcdFx0XHRcdFx0I2M3MjU0ZTtcbiRjb2RlLWJnOlx0XHRcdFx0XHRcdCNmOWYyZjQ7XG4kcHJlLXRleHQ6XHRcdFx0XHRcdFx0IzIzNzc5NDtcbiRwcmUtYmc6XHRcdFx0XHRcdFx0I2Y2ZjZmNjtcblxuLy8gRGFyayBDb250cmFzdCB2YXJpYXRpb25cbiRkYXJrLW5hdmJhci10ZXh0Olx0XHRcdFx0Izk5OTtcbiRkYXJrLXNpZGViYXI6XHRcdFx0XHRcdCMyMjI7XG4kZGFyay1zaWRlYmFyLXRleHQ6XHRcdFx0XHQjOTk5O1xuJGRhcmstbWFpbi1iZzpcdFx0XHRcdFx0IzMzMztcbiRkYXJrLWJvZHktYm9yZGVyOlx0XHRcdFx0IzY2NjtcbiIsIi8vIEZvbnQgRmFtaWx5XG4kZm9udC1mYW1pbHktZGVmYXVsdDogIFx0XHRcdFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FOZXVlLUxpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWUgTGlnaHRcIiwgIEhlbHZldGljYSwgQXJpYWwsIFwiTHVjaWRhIEdyYW5kZVwiLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LWhlYWRlcjogIFx0XHRcdFwibm92ZWNlbnRvX3NhbnNfd2lkZWRlbWlib2xkXCIsIFwiSGVsdmV0aWNhXCIsIFwiVGFob21hXCIsIFwiR2VuZXZhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1sb2dvOiAgICAgICAgICAgICAgXCJQYWNpZmljb1wiLCBcIm1vbm9zcGFjZVwiO1xuJGZvbnQtZmFtaWx5LW1vbm86IFx0XHRcdFx0XCJJbmNvbnNvbGF0YVwiLCBtb25vc3BhY2U7XG4kZm9udC1mYW1pbHktc2VyaWY6XHRcdFx0XHRcIkdlb3JnaWFcIiwgXCJUaW1lc1wiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcblxuJGljb25zOiBcdFx0XHRcdFx0XHRcIkZvbnRBd2Vzb21lXCI7XG4iLCIkYnVsbGV0LWljb24tc2l6ZTpcdFx0XHRcdDMuNXJlbTtcblxuJGJ1bGxldC1pY29uLWNvbG9yLTE6XHRcdFx0JGNvcmUtYWNjZW50O1xuJGJ1bGxldC1pY29uLWNvbG9yLTI6XHRcdFx0YWRqdXN0LWh1ZSgkY29yZS1hY2NlbnQsIC0yMCk7XG4kYnVsbGV0LWljb24tY29sb3ItMzpcdFx0XHRhZGp1c3QtaHVlKCRjb3JlLWFjY2VudCwgLTEzMCk7IiwiLy8gU2l6ZXNcbiRoZWFkZXItaGVpZ2h0OiAxMnJlbTtcbiRmb290ZXItaGVpZ2h0OiA2cmVtO1xuJGJvcmRlci1yYWRpdXM6IDA7XG5cbi8vIEZvbnQgV2VpZ2h0c1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IDYwMDtcbiRmb250LXdlaWdodC1yZWd1bGFyOiA0MDA7XG4kZm9udC13ZWlnaHQtbGlnaHQ6MzAwO1xuXG4vLyBHbG9iYWwgUGFkZGluZ3NcbiRwYWRkaW5nLWhvcml6OiAxNHJlbTtcbiRwYWRkaW5nLXZlcnQ6IDNyZW07XG4iLCJAaW1wb3J0IFwiZGlyZWN0aW9uXCI7XG5AaW1wb3J0IFwicmFuZ2VcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjsiLCJAZnVuY3Rpb24gb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXIpIHtcblx0QGlmICRkaXIgPT0gJ2xlZnQnIHtcblx0XHRAcmV0dXJuIHJpZ2h0O1xuXHR9XG5cdEBlbHNlIGlmICAkZGlyID09ICdyaWdodCcge1xuXHRcdEByZXR1cm4gbGVmdDtcblx0fVxuXHRAZWxzZSBpZiAkZGlyID09ICdsdHInIHtcblx0XHRAcmV0dXJuIHJ0bDtcblx0fVxuXHRAZWxzZSBpZiAkZGlyID09ICdydGwnIHtcblx0XHRAcmV0dXJuIGx0cjtcblx0fVxuXHRAZWxzZSBpZiAkZGlyID09ICd0b3AnIHtcblx0XHRAcmV0dXJuIGJvdHRvbTtcblx0fVxuXHRAZWxzZSBpZiAkZGlyID09ICdib3R0b20nIHtcblx0XHRAcmV0dXJuIHRvcDtcblx0fVxuXHRAZWxzZSB7XG5cdFx0QHdhcm4gXCIjeyRkaXJ9IGlzIG5vdCBhIGRpcmVjdGlvbiEgTWFrZSBzdXJlIHlvdXIgZGlyZWN0aW9uIGlzIGFsbCBsb3dlcmNhc2UhXCI7XG5cdFx0QHJldHVybiBmYWxzZTtcblx0fVxufVxuXG5AZnVuY3Rpb24gbmFtZWQtZGlyZWN0aW9uKCRkaXIpIHtcblx0QGlmICRkaXIgPT0gJ2x0cicge1xuXHRcdEByZXR1cm4gbGVmdDtcblx0fVxuXHRAZWxzZSBpZiAkZGlyID09ICdydGwnIHtcblx0XHRAcmV0dXJuIHJpZ2h0O1xuXHR9XG5cdEBlbHNlIHtcblx0XHRAd2FybiBcIiN7JGRpcn0gaXMgbm90IGEgdmFsaWQgSFRNTCBkaXJlY3Rpb24hIE1ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIGEgdmFsaWQgSFRNTCBkaXJlY3Rpb25cIjtcblx0XHRAcmV0dXJuIGZhbHNlO1xuXHR9XG59IiwiQGZ1bmN0aW9uIGxvd2VyLWJvdW5kKCRyYW5nZSl7XG5cdEBpZiBsZW5ndGgoJHJhbmdlKSA8PSAwIHtcblx0XHRAcmV0dXJuIDA7XG5cdH1cblx0QHJldHVybiBudGgoJHJhbmdlLDEpO1xufVxuXG5AZnVuY3Rpb24gdXBwZXItYm91bmQoJHJhbmdlKSB7XG5cdEBpZiBsZW5ndGgoJHJhbmdlKSA8IDIge1xuXHRcdEByZXR1cm4gOTk5OTk5OTk5OTk5O1xuXHR9XG5cdEByZXR1cm4gbnRoKCRyYW5nZSwgMik7XG59IiwiQGZ1bmN0aW9uIHRleHRjb2xvci10aW50KCRjb2xvciwgJGFtb3VudDogNjUlKSB7XG4gXHRAaWYgKGxpZ2h0bmVzcygkY29sb3IpID4gNTApIHtcbiBcdFx0QHJldHVybiBkYXJrZW4oJGNvbG9yLCAkYW1vdW50KTtcblx0fSBAZWxzZSB7XG4gICAgXHRAcmV0dXJuIGxpZ2h0ZW4oJGNvbG9yLCAkYW1vdW50KTtcbiAgXHR9XHRcbn0iLCJAaW1wb3J0IFwiYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJuYXZcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzXCI7IiwiLy8gQnJlYWtwb2ludHNcbkBtaXhpbiBicmVha3BvaW50KCRicmVha3BvaW50LCAkbWVkaWE6IGFsbCkge1xuXHRAaWYgJGJyZWFrcG9pbnQgPT0gbGFyZ2UtZGVza3RvcC1yYW5nZSB7XG5cdFx0QG1lZGlhIG9ubHkgI3skbWVkaWF9IGFuZCAobWluLXdpZHRoOiAkbGFyZ2UtZGVza3RvcC1jb250YWluZXIpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBkZXNrdG9wLXJhbmdlIHtcblx0XHRAbWVkaWEgb25seSAjeyRtZWRpYX0gYW5kIChtaW4td2lkdGg6ICRkZXNrdG9wLWNvbnRhaW5lcikgYW5kIChtYXgtd2lkdGg6ICRsYXJnZS1kZXNrdG9wLWNvbnRhaW5lciAtIDAuMDYyKSB7IEBjb250ZW50OyB9XG5cdH1cblx0QGVsc2UgaWYgJGJyZWFrcG9pbnQgPT0gdGFibGV0LXJhbmdlIHtcblx0XHRAbWVkaWEgb25seSAjeyRtZWRpYX0gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtY29udGFpbmVyKSBhbmQgKG1heC13aWR0aDogJGRlc2t0b3AtY29udGFpbmVyIC0gMC4wNjIpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBsYXJnZS1tb2JpbGUtcmFuZ2Uge1xuXHRcdEBtZWRpYSBvbmx5ICN7JG1lZGlhfSBhbmQgKG1pbi13aWR0aDogJGxhcmdlLW1vYmlsZS1jb250YWluZXIgKyAwLjA2MykgYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQtY29udGFpbmVyIC0gMC4wNjIpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBzbWFsbC1tb2JpbGUtcmFuZ2Uge1xuXHRcdEBtZWRpYSBvbmx5ICN7JG1lZGlhfSBhbmQgKG1heC13aWR0aDogJGxhcmdlLW1vYmlsZS1jb250YWluZXIpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBuby1tb2JpbGUge1xuXHRcdEBtZWRpYSBvbmx5ICN7JG1lZGlhfSBhbmQgKG1pbi13aWR0aDogJHRhYmxldC1jb250YWluZXIpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBtb2JpbGUtb25seSB7XG5cdFx0QG1lZGlhIG9ubHkgI3skbWVkaWF9IGFuZCAobWF4LXdpZHRoOiAkdGFibGV0LWNvbnRhaW5lciAtIDAuMDYyKSB7IEBjb250ZW50OyB9XG5cdH1cblx0QGVsc2UgaWYgJGJyZWFrcG9pbnQgPT0gZGVza3RvcC1vbmx5IHtcblx0XHRAbWVkaWEgb25seSAjeyRtZWRpYX0gYW5kIChtYXgtd2lkdGg6ICRkZXNrdG9wLWNvbnRhaW5lciAtIDAuMDYyKSB7IEBjb250ZW50OyB9XG5cdH1cbn0iLCIvLyBJbmFjdGl2ZSBEcm9wZG93blxuJWluYWN0aXZlLWRyb3Bkb3duIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IGF1dG87XG5cdGxlZnQ6IGF1dG87XG5cdG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIEluYWN0aXZlIERyb3Bkb3duXG4lYWN0aXZlLWRyb3Bkb3duIHtcblx0b3BhY2l0eTogMTtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vIEluYWN0aXZlIERyb3Bkb3duXG4lZHJvcGRvd24tY29sdW1uIHtcblx0d2lkdGg6ICRkcm9wZG93bi1jb2wtd2lkdGg7XG5cdC8vaGVpZ2h0OiAkZHJvcGRvd24taGVpZ2h0O1xuXHRmbG9hdDogbGVmdDtcbn0iLCIvLyBIZWFkZXJzXG5AbWl4aW4gaGVhZGVyKCRtYXJnaW4tdG9wOiAkbGVhZGluZy1tYXJnaW4gLyAyLCAkbWFyZ2luLWJvdHRvbTogJGxlYWRpbmctbWFyZ2luKSB7XG5cdG1hcmdpbjogJG1hcmdpbi10b3AgMCAkbWFyZ2luLWJvdHRvbSAwO1xufSIsIi8vIExpc3QgUmVzZXRcbiVsaXN0LXJlc2V0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLyBWZXJ0aWNhbCBDZW50ZXJpbmdcbiV2ZXJ0aWNhbC1hbGlnbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dG9wOiA1MCU7XG5cdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbn1cblxuLy8gQ29sdW1uc1xuQG1peGluIGNvbHVtbnMoJGNvbHVtbnMpIHtcblx0d2lkdGg6IHBlcmNlbnRhZ2UoMS8kY29sdW1ucyk7XG59XG5cbi8vIEZsb2F0IHdpdGggbWFyZ2luIHZhcmlhYmxlXG5AbWl4aW4gZmxvYXQoJGRpcmVjdGlvbiwgJG1hcmdpbjogMCkge1xuXHRmbG9hdDogJGRpcmVjdGlvbjtcblx0bWFyZ2luLSN7b3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pfTogJG1hcmdpbjtcbn1cbiIsIi8vIEJ1dHRvbnNcbkBpbXBvcnQgXCJidXR0b25zXCI7IiwiJWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogN3B4IDIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgJi5idXR0b24tc21hbGwge1xuICAgICAgICBwYWRkaW5nOiAzcHggMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAkY29yZS1mb250LXNpemUgLSAwLjFyZW07XG4gICAgfVxuXG59XG5cbkBtaXhpbiBidXR0b24tY29sb3IoJGNvbG9yKSB7XG5cdGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBjb2xvcjogJHdoaXRlO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblx0fVxuXHQmOmFjdGl2ZSB7XG5cdFx0Ym94LXNoYWRvdzogMCAxcHggMCBkYXJrZW4oJGNvbG9yLCAxMiUpO1xuXHR9XG59XG4iLCJodG1sLCBib2R5IHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcblx0YmFja2dyb3VuZDogJHBhZ2UtYmc7XG5cdGNvbG9yOiAkY29yZS10ZXh0O1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5hIHtcblx0Y29sb3I6ICRjb3JlLWFjY2VudDtcblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IGRhcmtlbigkY29yZS1hY2NlbnQsIDIwJSk7XG5cdH1cbn1cblxuYiwgc3Ryb25nIHtcblx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkXG59XG5cbi8vIEdsb2JhbCBDb250YWluZXJcbiNjb250YWluZXIge1xuIFx0bWluLWhlaWdodDogMTAwJTtcbiAgXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIEZ1bGx3aWR0aCBzdHlsZXNcbi5mdWxsd2lkdGgge1xuXHQjYm9keSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblx0I2hlYWRlciwgI2JyZWFkY3J1bWJzLCAuYmxvZy1oZWFkZXIsIC5ibG9nLWNvbnRlbnQtaXRlbSwgLmNvbnRlbnQtd3JhcHBlciwgdWwucGFnaW5hdGlvbiwgI2JvZHkgPiAubW9kdWxhci1yb3cge1xuXHRcdEBleHRlbmQgLnBhZGRpbmctaG9yaXo7XG5cdH1cbn1cblxuLy8gR2xvYmFsIGJvZHkgc3R5bGluZ1xuI2JvZHkge1xuXHRAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcblx0QGV4dGVuZCAucGFkZGluZy1ob3Jpejtcblx0XG5cdGJhY2tncm91bmQ6ICRwYWdlLWJnO1xuXHRwYWRkaW5nLXRvcDogJGhlYWRlci1oZWlnaHQgKyAkcGFkZGluZy12ZXJ0O1xufVxuXG4vLyBBbGlnbm1lbnRcbi5sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdub3ZlY2VudG9fc2Fuc193aWRlZGVtaWJvbGQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1EZW1pQm9sZC13ZWJmb250LmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1EZW1pQm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLURlbWlCb2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLURlbWlCb2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1EZW1pQm9sZC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtRGVtaUJvbGQtd2ViZm9udC5zdmcjbm92ZWNlbnRvX3NhbnNfd2lkZWRlbWlib2xkJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ25vdmVjZW50b19zYW5zX3dpZGVub3JtYWwnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1Ob3JtYWwtd2ViZm9udC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtTm9ybWFsLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtTm9ybWFsLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLU5vcm1hbC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtTm9ybWFsLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1Ob3JtYWwtd2ViZm9udC5zdmcjbm92ZWNlbnRvX3NhbnNfd2lkZW5vcm1hbCcpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdub3ZlY2VudG9fc2Fuc193aWRlbWVkaXVtJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtTWVkaXVtLXdlYmZvbnQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLU1lZGl1bS13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLU1lZGl1bS13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1NZWRpdW0td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLU1lZGl1bS13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtTWVkaXVtLXdlYmZvbnQuc3ZnI25vdmVjZW50b19zYW5zX3dpZGVtZWRpdW0nKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUGFjaWZpY28nO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9wYWNpZmljby50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cbiIsIi5kZWZhdWx0LWFuaW1hdGlvbiB7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuNXMgZWFzZSk7XG59XG5cbi5wYWRkaW5nLWhvcml6IHtcblx0cGFkZGluZy1sZWZ0OiAkcGFkZGluZy1ob3Jpejtcblx0cGFkZGluZy1yaWdodDogJHBhZGRpbmctaG9yaXo7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcC1yYW5nZSkge1xuXHRcdHBhZGRpbmctbGVmdDogJHBhZGRpbmctaG9yaXogLSA3cmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6IC0gN3JlbTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuXHRcdHBhZGRpbmctbGVmdDogJHBhZGRpbmctaG9yaXogLSA3cmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6IC0gN3JlbTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAkcGFkZGluZy1ob3JpeiAtIDEzcmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6IC0gMTNyZW07XG5cdH1cbn1cblxuLnBhZGRpbmctdmVydCB7XG5cdHBhZGRpbmctdG9wOiAkcGFkZGluZy12ZXJ0O1xuXHRwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctdmVydDtcbn1cbiIsIi8vIEhlYWRlciBzdHlsaW5nXG5cbiNoZWFkZXIge1xuICAgIEBleHRlbmQgLnBhZGRpbmctaG9yaXo7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkwKTtcbiAgICBib3gtc2hhZG93OiAwIDAuMDVyZW0gMXJlbSByZ2JhKDAsMCwwLCAwLjE1KTtcblxuICAgID4gLmdyaWQsIC5sb2dvLCAjbmF2YmFyLCAuc29jaWFsLW5hdmlnYXRpb24ge1xuICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICB9XG4gICAgLmZhIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICAuZml4ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE0cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNHJlbTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMHB4IDIwcHggMHB4IHJnYmEoMCwwLDAsMC4yKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ28ge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICB9XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIEBleHRlbmQgJXZlcnRpY2FsLWFsaWduO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjlyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgJi5zb2NpYWwtaWNvbnMge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgJXZlcnRpY2FsLWFsaWduO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaC1ib3gge1xuICAgICAgICBAZXh0ZW5kICV2ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItdGV4dDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMC41cmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDAuNnJlbTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICAgICBpbnB1dDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0W3R5cGU9c2VhcmNoXSB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjNyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAgJGNvcmUtZm9udC1zaXplIC0gMC4xcmVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjVzKTtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRoZWFkZXItdGV4dCwgMC43KTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItdGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcC1vbmx5KSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuXG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDFyZW0pKTtcblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMC42cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOHJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5maXhlZCB7XG4gICAgICAgIC5zZWFyY2gtYm94IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcC1vbmx5KSB7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBhbmVsLWFjdGl2YXRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wLW9ubHkpIHtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpICFpbXBvcnRhbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI25hdmJhciB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGNvcmUtZm9udC1zaXplICsgMC4xcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG5cbiAgICAgICAgICAgICYuZml4ZWQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcblxuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgICAgICYubmF2aWdhdGlvbiB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAldmVydGljYWwtYWxpZ247XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4zcmVtIDAuOHJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUsICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29yZS1hY2NlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwLjA1cmVtIDFyZW0gcmdiYSgwLDAsMCwgMC4xNSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHVsIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuOSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDAuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvcmUtYWNjZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3Atb25seSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYW5lbC1hY3RpdmF0aW9uIHtcbiAgICAgICAgICAgIEBleHRlbmQgJXZlcnRpY2FsLWFsaWduO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcC1vbmx5KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZHVsYXIuaGVhZGVyLWltYWdlICNoZWFkZXIgLmZpeGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjNjY2O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0KTtcbn1cblxuLmhlYWRlci1pbWFnZSB7XG4gICAgJi5mdWxsd2lkdGgge1xuICAgICAgICAjYm9keSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgICA+Lmxpc3Rpbmctcm93IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLWhvcml6O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5saXN0aW5nLXJvdzpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG5cbiAgICAjYm9keSB7XG4gICAgICAgIC5mbHVzaC10b3Age1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSAkaGVhZGVyLWhlaWdodCAtICRwYWRkaW5nLXZlcnQgLSAwLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGhlYWRlci1oZWlnaHQgKyA0cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2JyZWFkY3J1bWJzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICAjaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkaGVhZGVyLXRleHQsMCk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgI2xvZ28gaDMsICNsb2dvIGEge1xuICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItdGV4dDtcbiAgICAgICAgfVxuICAgICAgICBhLCAubWVudS1idG4ge1xuICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItdGV4dDtcbiAgICAgICAgfVxuICAgICAgICBhOmJlZm9yZSwgYTphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRoZWFkZXItdGV4dCwwLjcpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjbmF2YmFyIHVsLm5hdmlnYXRpb24gIHtcbiAgICAgICAgICAgIHVsIGxpIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29yZS1hY2NlbnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggM3B4ICM2NTYxNjE7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvcmUtYWNjZW50LCAyMCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5oZWFkZXItbGl0ZSB7XG4gICAgI2JvZHkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTJyZW07XG4gICAgfVxuICAgICNoZWFkZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgIGEsIC5tZW51LWJ0biB7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgIH1cbiAgICAgICAgLnNlYXJjaC1ib3gge1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGxpZ2h0LWdyYXksIDAuOCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxpLmFjdGl2ZSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29yZS1hY2NlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmxvZ28gdWwuc29jaWFsLWljb25zIGxpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRsaWdodC1ncmF5LCAwLjgpO1xuICAgICAgICAgICAgLmZhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAuZmEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmZvb3RlciB7XG4gICAgZm9udC1zaXplOiAgJGNvcmUtZm9udC1zaXplIC0gMC4xcmVtO1xuICAgIGJhY2tncm91bmQ6ICMzMzM7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGV4dGVuZCAucGFkZGluZy1ob3JpejtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY29yZS10ZXh0O1xuICAgIH1cbiAgICBoNCB7XG4gICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgaHIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkY29yZS10ZXh0LCAwLjUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAuc29jaWFsLWljb25zIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG4gICAgICAuc29jaWFsLWljb25zIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICB9XG4gICAgfVxuICAgIC5mb290ZXItaXRlbXMge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICAgIEBzdXBwb3J0cyBub3QgKGZsZXgtd3JhcDogd3JhcCkge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuICAgIC5mb290ZXItbW9kdWxlIHtcbiAgICAgICYubGFyZ2Uge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtbW9iaWxlLXJhbmdlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLW1vYmlsZS1yYW5nZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIH1cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAubG9nbyB7XG4gICAgICBib3JkZXItYm90dG9tOiAwIG5vbmU7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBoMyBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnF1aWNrbWVudSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyLW1vZHVsZXMge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgfVxuICAgIC5mb290ZXItY29weXJpZ2h0IHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRlcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICB9XG4gICAgfVxuICAgIC5mb290ZXItbWVudSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjVyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm5ld3NsZXR0ZXIge1xuICAgICAgaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgIH1cbiAgICAgIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkaGVhZGVyLXRleHQsIDAuOCk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgICBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkaGVhZGVyLXRleHQsIDAuNSk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDAgMS4ycmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuICAgIH0gXG4gIH1cbiIsIi8vIEJvZHkgQmFzZVxuYm9keSB7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZGVmYXVsdDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLy8gSGVhZGluZ3NcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRlcjtcblx0dGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cblxuaDEge1xuXHRmb250LXNpemU6ICRoMS1mb250LXNpemU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAzcHggIzY1NjE2MTtcbiAgICB9XG59XG5cbmgyIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcblx0XHRmb250LXNpemU6ICRoMi1mb250LXNpemUgLSAuNDA7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuXHRcdGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZSAtIC41MDtcblx0fVxuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6IDEuNHJlbTtcbn1cblxuaDMge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuXHRcdGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZSAtIC40MDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG5cdFx0Zm9udC1zaXplOiAkaDMtZm9udC1zaXplIC0gLjUwO1xuXHR9XG59XG5cbmg0IHtcblx0Zm9udC1zaXplOiAxLjJyZW07XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiAkbGlnaHQtZ3JheTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuXHRcdGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZSAtIC40MDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG5cdFx0Zm9udC1zaXplOiAkaDQtZm9udC1zaXplIC0gLjUwO1xuXHR9XG59XG5cbmgxIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5oMyB7XG5cdGxldHRlci1zcGFjaW5nOiAtMXB4O1xufVxuXG5oMSArIGgyIHtcblx0bWFyZ2luOiAtMnJlbSAwIDJyZW0gMDtcblx0Zm9udC1zaXplOiAxLjRyZW07XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG5cdFx0Zm9udC1zaXplOiAxLjNyZW07XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuXHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0fVxuXHRsaW5lLWhlaWdodDogMTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWRlZmF1bHQ7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbmgyICsgaDMge1xuXHRtYXJnaW46IDAuNXJlbSAwIDJyZW0gMDtcblx0Zm9udC1zaXplOiAxLjNyZW07XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG5cdFx0Zm9udC1zaXplOiAxLjJyZW07XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuXHRcdGZvbnQtc2l6ZTogMS4xcmVtO1xuXHR9XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZGVmYXVsdDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuXG4vLyBCbG9ja3F1b3RlXG5ibG9ja3F1b3RlIHtcblx0Ym9yZGVyLWxlZnQ6IDEwcHggc29saWQgJHJ1bGUtY29sb3I7XG5cdHAge1xuXHRcdGZvbnQtc2l6ZTogMS4xcmVtO1xuXHRcdGNvbG9yOiAjOTk5O1xuXHR9XG5cdGNpdGUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdGNvbG9yOiAjNjY2O1xuXHRcdGZvbnQtc2l6ZTogMS4ycmVtO1xuXHR9XG59XG5cbi8vIE5PVEVTISEhIVxuYmxvY2txdW90ZSA+IGJsb2NrcXVvdGUgPiBibG9ja3F1b3RlIHtcblxuXHRtYXJnaW46IDA7XG5cblx0cCB7XG5cblx0XHRwYWRkaW5nOiAxNXB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRtYXJnaW4tdG9wOiAwcmVtO1xuXHRcdG1hcmdpbi1ib3R0b206IDByZW07XG5cdH1cblxuXHQ+IHAge1xuXHRcdC8vIFllbGxvd1xuXHRcdG1hcmdpbi1sZWZ0OiAtNzFweDtcblx0XHRib3JkZXItbGVmdDogMTBweCBzb2xpZCAjRjBBRDRFO1xuXHRcdGJhY2tncm91bmQ6ICNGQ0Y4RjI7XG5cdFx0Y29sb3I6IGRhcmtlbigjRjBBRDRFLDE1JSk7XG5cdH1cblxuXHQ+IGJsb2NrcXVvdGUgPiBwIHtcblx0XHQvLyBSZWRcblx0XHRtYXJnaW4tbGVmdDogLTk0cHg7XG5cdFx0Ym9yZGVyLWxlZnQ6IDEwcHggc29saWQgI0Q5NTM0Rjtcblx0XHRiYWNrZ3JvdW5kOiAjRkRGN0Y3O1xuXHRcdGNvbG9yOiBkYXJrZW4oI0Q5NTM0RiwxNSUpO1xuXHR9XG5cblx0PiBibG9ja3F1b3RlID4gYmxvY2txdW90ZSA+IHAge1xuXHRcdC8vIEJsdWVcblx0XHRtYXJnaW4tbGVmdDogLTExOHB4O1xuXHRcdGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICM1QkMwREU7XG5cdFx0YmFja2dyb3VuZDogI0Y0RjhGQTtcblx0XHRjb2xvcjogZGFya2VuKCM1QkMwREUsMTUlKTtcblx0fVxuXG5cdD4gYmxvY2txdW90ZSA+IGJsb2NrcXVvdGUgPiBibG9ja3F1b3RlID4gcCB7XG5cdFx0Ly8gR3JlZW5cblx0XHRtYXJnaW4tbGVmdDogLTE0MnB4O1xuXHRcdGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICM1Q0I4NUM7XG5cdFx0YmFja2dyb3VuZDogI0YxRjlGMTtcblx0XHRjb2xvcjogZGFya2VuKCM1Q0I4NUMsMTUlKTtcblx0fVxuXG59XG5cbi8vIElubGluZSBhbmQgQ29kZVxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm87XG59XG5cbmNvZGUge1xuXHRiYWNrZ3JvdW5kOiAkY29kZS1iZztcblx0Y29sb3I6IGRhcmtlbigkY29kZS10ZXh0LDEwJSk7XG59XG5cbnByZSB7XG5cdHBhZGRpbmc6IDJyZW07XG5cdGJhY2tncm91bmQ6ICRwcmUtYmc7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb3JlLWJvcmRlci1jb2xvcjtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRjb2RlIHtcblx0XHRjb2xvcjogJHByZS10ZXh0O1xuXHRcdGJhY2tncm91bmQ6IGluaGVyaXQ7XG5cdH1cbn1cblxuLy8gRXh0cmFzXG5ociB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29yZS1ib3JkZXItY29sb3I7XG59XG5cbi8vIFBhZ2UgVGl0bGVcbi5wYWdlLXRpdGxlIHtcblx0bWFyZ2luLXRvcDogLTI1cHg7XG5cdHBhZGRpbmc6IDI1cHg7XG5cdGZsb2F0OiBsZWZ0O1xuXHRjbGVhcjogYm90aDtcblx0YmFja2dyb3VuZDogJGNvcmUtYWNjZW50O1xuXHRjb2xvcjogJHdoaXRlO1xufVxuXG4vLyBMYWJlbFxuLmxhYmVsIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJhY2tncm91bmQ6ICRjb3JlLWFjY2VudDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIG1pbi13aWR0aDogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogJGNvcmUtZm9udC1zaXplIC0gMC4zcmVtO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGVyO1xuICAgIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbn1cblxuIiwiZmllbGRzZXQge1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29yZS1ib3JkZXItY29sb3I7XG59XG5cbnRleHRhcmVhLCAjeyRhbGwtdGV4dC1pbnB1dHN9LCBzZWxlY3RbbXVsdGlwbGU9bXVsdGlwbGVdIHtcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb3JlLWJvcmRlci1jb2xvcjtcblx0Ym94LXNoYWRvdzogJGNvcmUtYm94LXNoYWRvdztcblxuXHQmOmhvdmVyIHtcblx0XHRib3JkZXItY29sb3I6ICRjb3JlLWJvcmRlci1jb2xvci1ob3Zlcjtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogJGNvcmUtYm9yZGVyLWNvbG9yLWZvY3VzO1xuXHRcdGJveC1zaGFkb3c6ICRjb3JlLWJveC1zaGFkb3ctZm9jdXM7XG5cdH1cbn1cblxubGFiZWwge1xuXHRAZXh0ZW5kIHN0cm9uZztcbn1cblxuLy8gRm9ybXNcbi5mb3JtLWZpZWxkIHtcblx0LnJlcXVpcmVkIHtcblx0XHRjb2xvcjogI0YzNDQzRjtcblx0XHRmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZSArIDFyZW07XG5cdFx0bGluZS1oZWlnaHQ6ICRjb3JlLWZvbnQtc2l6ZSArIDFyZW07XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRoZWlnaHQ6IDEuNXJlbTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cbn1cblxuZm9ybSB7XG5cdC5idXR0b25zIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblx0aW5wdXQge1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdH1cbn1cbiIsInRhYmxlIHtcblx0Ym9yZGVyOiAxcHggc29saWQgbGlnaHRlbigkY29yZS1ib3JkZXItY29sb3IsNSUpO1xufVxuXG50aCB7XG5cdEBleHRlbmQgc3Ryb25nO1xuXHRiYWNrZ3JvdW5kOiBsaWdodGVuKCRjb3JlLWJvcmRlci1jb2xvciwxMCUpO1xuXHRwYWRkaW5nOiAwLjVyZW07XG59XG5cbnRkIHtcblx0cGFkZGluZzogMC41cmVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCBsaWdodGVuKCRjb3JlLWJvcmRlci1jb2xvciw1JSk7IFxufVxuIiwiLmJ1dHRvbiB7XG5cdEBleHRlbmQgJWJ1dHRvbjtcblx0QGluY2x1ZGUgYnV0dG9uLWNvbG9yKCRjb3JlLWFjY2VudCk7XG59XG5cbi5idXR0b24tc2Vjb25kYXJ5IHtcblx0QGV4dGVuZCAlYnV0dG9uO1xuXHRAaW5jbHVkZSBidXR0b24tY29sb3IoJHNlY29uZGFyeS1saW5rKTtcbn0iLCIuYnVsbGV0cyB7XG5cdG1hcmdpbjogJGxlYWRpbmctbWFyZ2luIDA7XG5cdG1hcmdpbi1sZWZ0OiAtJGxlYWRpbmctbWFyZ2luIC8gMjtcblx0bWFyZ2luLXJpZ2h0OiAtJGxlYWRpbmctbWFyZ2luIC8gMjtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbi5idWxsZXQge1xuXHRmbG9hdDogbGVmdDtcblx0cGFkZGluZzogMCAkbGVhZGluZy1tYXJnaW4gLyAyO1xufVxuXG4udHdvLWNvbHVtbi1idWxsZXQge1xuXHRAaW5jbHVkZSBjb2x1bW5zKDIpO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG5cdFx0QGluY2x1ZGUgY29sdW1ucygxKTtcblx0fVxufVxuXG4udGhyZWUtY29sdW1uLWJ1bGxldCB7XG5cdEBpbmNsdWRlIGNvbHVtbnMoMyk7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcblx0XHRAaW5jbHVkZSBjb2x1bW5zKDEpO1xuXHR9XG59XG5cbi5mb3VyLWNvbHVtbi1idWxsZXQge1xuXHRAaW5jbHVkZSBjb2x1bW5zKDQpO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG5cdFx0QGluY2x1ZGUgY29sdW1ucygxKTtcblx0fVxufVxuXG4uYnVsbGV0LWljb24ge1xuXHRmbG9hdDogbGVmdDtcblx0YmFja2dyb3VuZDogJGJ1bGxldC1pY29uLWNvbG9yLTE7XG5cdHBhZGRpbmc6ICRidWxsZXQtaWNvbi1zaXplIC8gNDtcblx0d2lkdGg6ICRidWxsZXQtaWNvbi1zaXplO1xuXHRoZWlnaHQ6ICRidWxsZXQtaWNvbi1zaXplO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdGZvbnQtc2l6ZTogJGJ1bGxldC1pY29uLXNpemUgLyAyO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5idWxsZXQtaWNvbi0xIHtcblx0YmFja2dyb3VuZDogJGJ1bGxldC1pY29uLWNvbG9yLTE7XG59XG5cbi5idWxsZXQtaWNvbi0yIHtcblx0YmFja2dyb3VuZDogJGJ1bGxldC1pY29uLWNvbG9yLTI7XG59XG5cbi5idWxsZXQtaWNvbi0zIHtcblx0YmFja2dyb3VuZDogJGJ1bGxldC1pY29uLWNvbG9yLTM7XG59XG5cbi5idWxsZXQtY29udGVudCB7XG5cdG1hcmdpbi1sZWZ0OiAkYnVsbGV0LWljb24tc2l6ZSAqIDEuMztcbn0iLCIkc2lkZWJhci1jb2xvcjogICAgICMzMzM7XG4kcGFuZWwtcGFkZGluZzogICAgIDFyZW07XG4kcGFuZWwtdGV4dDogICAgICAgICNkZGQ7XG5cbi5zYi1zbGlkZWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItY29sb3IgIWltcG9ydGFudDtcbn1cblxuI3BhbmVsIHtcbiAgICBwYWRkaW5nLXRvcDogJHBhbmVsLXBhZGRpbmc7XG4gICAgY29sb3I6ICRwYW5lbC10ZXh0O1xuICAgIC5uYXZpZ2F0aW9uIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwYW5lbC10ZXh0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJHBhbmVsLXRleHQsMjAlKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRzaWRlYmFyLWNvbG9yLDUlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb3JlLXRleHQ7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb3JlLXRleHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbGlnaHRlbigkc2lkZWJhci1jb2xvciw0JSk7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBsaWdodGVuKCRzaWRlYmFyLWNvbG9yLDQlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkcGFuZWwtdGV4dCwgMTAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMnJlbSAxcmVtIDAuMnJlbSAycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbGkgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBsaSBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIlxuLy8gTW9kYWwgV2luZG93XG4ucG9ydGZvbGlvLW1vZGFsIC5jbG9zZS1tb2RhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLm1vZGFsIHtcbiAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwNTA7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgfVxuICAgICAgICBwLCB1bCB7XG4gICAgICAgICAgICBtYXJnaW46IDFyZW0gMDtcbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuaW4ge1xuICAgICAgICBvcGFjaXR5OiAxOyBcbiAgICB9XG4gICAgLmNsaWVudC1kZXRhaWxzIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29yZS1hY2NlbnQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogMzVyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcmVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuYmxvZy1oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuXG4gICAgJi5ibG9nLWhlYWRlci1pbWFnZSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcblxuICAgICAgICBoMSwgaDIge1xuICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItdGV4dDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiArIC5ibG9nLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmctdmVydDtcbiAgICB9XG59XG5cbi8vIExpc3QgQmxvZyBJdGVtXG4ubGlzdC1pdGVtIHtcblxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJGJvcmRlci1jb2xvciwgOCUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nLXZlcnQ7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgICAubGlzdC1ibG9nLWhlYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb3JlLWFjY2VudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpc3QtYmxvZy1kYXRlLCAubGlzdC1ibG9nLWF1dGhvciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGxpZ2h0LWdyYXksIDAuOSk7XG4gICAgICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICRjb3JlLXRleHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBCaWdnZXIgZmlyc3QgcGFyYVxuLmJsb2ctY29udGVudC1pdGVtIHtcbiAgICAubGlzdC1ibG9nLXBhZGRpbmcgPiBwOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGNvcmUtZm9udC1zaXplICsgMC40cmVtO1xuICAgIH1cbn1cblxuLy8gVGFnc1xuLnRhZ3Mge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkbGlnaHQtZ3JheSwgMC45KTtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogJGNvcmUtZm9udC1zaXplO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRlcjtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvcmUtdGV4dDtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiLFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBhOmFmdGVyIHtkaXNwbGF5OiBub25lO30gXG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuLy8gQXJjaGl2ZXMgJiBSZWxhdGVkLVBhZ2VzXG4uYXJjaGl2ZXMsIC5yZWxhdGVkLXBhZ2VzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjb3JlLWZvbnQtc2l6ZSArIDFyZW07XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGNvcmUtdGV4dDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGNvcmUtYWNjZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucmVsYXRlZC1wYWdlcyB7XG4gICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zY29yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICBmb250LXNpemU6IDg1JVxuICAgIH1cbn1cblxuLy8gU3luZGljYXRlXG4uc3luZGljYXRlIHtcbiAgICBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG59XG5cbi8vIEJyZWFkY3J1bWJzXG5kaXYjYnJlYWRjcnVtYnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBTaWRlYmFyXG4jc2lkZWJhciB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuc2lkZWJhci1jb250ZW50IHtcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgcCwgdWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgfVxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy12ZXJ0O1xuICAgIH1cbn1cblxuLy8gUGFnaW5hdGlvblxudWwucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAwIDAgJHBhZGRpbmctdmVydDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIFByZXYgLyBOZXh0XG4ucHJldi1uZXh0IHtcbiAgICBtYXJnaW4tdG9wOiA1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8vIE1vZHVsYXIgU2hvd2Nhc2Ugc3R5bGluZ1xuLmFyY2hpdmUtbGlzdCB7XG4gICAgaDQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDgwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgICAgICAgbWluLXdpZHRoOiA3MCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGV4dGFyZWEge1xuICAgICAgICBtaW4td2lkdGg6IDgwJTtcbiAgICAgICAgbWluLWhlaWdodDogMjVyZW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgICAgICAgbWluLXdpZHRoOiA5MCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRjb3JlLXRleHQsIDAuOCk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgICAgQGV4dGVuZCBoNDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgICAgIEBleHRlbmQgLmRlZmF1bHQtYW5pbWF0aW9uO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG59IiwiLy8gRXJyb3Igc3BlY2lmaWMgc3R5bGluZ1xuI2Vycm9yIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwYWRkaW5nLWJvdHRvbTogMTJyZW07XG5cblx0aDEge1xuXHRcdGZvbnQtc2l6ZTogJGNvcmUtZm9udC1zaXplICsgNC4wcmVtO1xuXHR9XG5cblx0cCB7XG5cdFx0bWFyZ2luOiAxcmVtIDA7XG5cdH1cbn1cblxuLmVycm9yICNib2R5IHtcblx0cGFkZGluZy10b3A6IDE2cmVtO1xufSIsIi5zaW1wbGVzZWFyY2gge1xuXG4gICAgaDEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5jZW50ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG5cbiAgICBpbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAzMHJlbTtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgIH1cblxuICAgIC5zZWFyY2gtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtZGV0YWlscyB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGNvcmUtdGV4dCwyMCUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBociB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuICAgIH1cblxufVxuIiwiLy8gWW91ciBjdXN0b20gU0NTUyBzaG91bGQgYmUgd3JpdHRlbiBoZXJlLi4uXG5cbi5ncmF2LWxpZ2h0c2xpZGVyIHtcbiAgICAubFNTbGlkZU91dGVyIHtcbiAgICAgICAgLmxTUGFnZXIubFNwZyB7XG4gICAgICAgICAgICA+IGxpIGEge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNib2R5ID4gc2NyaXB0OmZpcnN0LWNoaWxkICsgLmdyYXYtbGlnaHRzbGlkZXIge1xuICBtYXJnaW4tdG9wOiAtM3JlbTtcbn0iLCJAaW1wb3J0IFwic2hvd2Nhc2VcIjtcbkBpbXBvcnQgXCJmZWF0dXJlc1wiO1xuQGltcG9ydCBcImJvdHRvbVwiO1xuQGltcG9ydCBcImNvbnRhY3RcIjtcbkBpbXBvcnQgXCJ0ZXh0XCI7XG5AaW1wb3J0IFwidGVhbVwiO1xuQGltcG9ydCBcInBvcnRmb2xpb1wiO1xuXG4ubG9nbyB7XG4gICAgaDMge1xuICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbG9nbztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjb3JlLXRleHQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaDQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvZHktYm9yZGVyO1xuXG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgJi5zb2NpYWwtaWNvbnMge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMi4xcmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMi4xcmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOHJlbTtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjFyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkd2hpdGUsIDAuNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBtYWNib29rXG4gICAgLm5vdGVib29re1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1pbi13aWR0aDogMzMlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcC1yYW5nZSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtbW9iaWxlLXJhbmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogMTUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNS4xcmVtO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAubm90ZWJvb2sgLnNjcmVlbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogI0U1RUJFRDtcbiAgICAgICAgaGVpZ2h0OiAwLjI1cmVtO1xuICAgICAgICB3aWR0aDogMC4yNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwLjMxMjVyZW0gMCAwIDguNjI1cmVtO1xuICAgIH1cbiAgICAubm90ZWJvb2sgLnNjcmVlbntcbiAgICAgICAgYmFja2dyb3VuZDojNDY0QzUxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW0gMC41cmVtIDAgMDtcbiAgICAgICAgaGVpZ2h0OiAxMS43MnJlbTtcbiAgICAgICAgd2lkdGg6IDE4LjI4cmVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAuc2NyZWVuLWNvbnRlbnQge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMC4xcmVtO1xuICAgICAgICAgICAgd2lkdGg6IDE2LjczcmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuOHJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjhyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdFxuICAgICAgICB9XG4gICAgICAgIC5zY3JlZW4tY29udGVudC1ob3ZlciB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgICAgIGhlaWdodDogMTAuMXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxNi43M3JlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC44cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOHJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjNDY0QzUxO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvcmUtYWNjZW50O1xuICAgICAgICAgICAgLmZhLWFycm93LXVwLXJpZ2h0LWZyb20tc3F1YXJlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQuN3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubm90ZWJvb2sgLnNjcmVlbjphZnRlcntcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTYxQjIxO1xuICAgICAgICBoZWlnaHQ6IDEwcmVtO1xuICAgICAgICB3aWR0aDogMTYuNjNyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICAgICAgICBtYXJnaW46IDAuODc1cmVtIDAgMCAwLjgxMjVyZW07XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgLm5vdGVib29rIC5rZXlib2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNERkRDREM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwLjMxMjVyZW0gMC4zMTI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIHdpZHRoOiAyMS44OHJlbTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICAgIC5ub3RlYm9vayAua2V5Ym9hcmQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICM3NTc5Nzk7XG4gICAgICAgIGhlaWdodDogMC4zNzVyZW07XG4gICAgICAgIHdpZHRoOiAzLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA5LjM3NXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAuNXJlbSAwLjVyZW07XG4gICAgfVxuICAgIC5rZXlib2FyZDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMC41cmVtO1xuICAgICAgICB3aWR0aDogMjMuMTNyZW07XG4gICAgICAgIG1hcmdpbjogMC40Mzc1cmVtIDAgMCAtMC42MjVyZW07XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIH1cbiIsIi8vIE1vZHVsYXIgU2hvd2Nhc2Ugc3R5bGluZ1xuLm1vZHVsYXIge1xuXG4vLyBzcGVjaWFsIGNhc2UgZm9yIGhlYWRlclxuJi5oZWFkZXItaW1hZ2Uge1xuICAgICNoZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDApO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgICNsb2dvIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgI25hdmJhciBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRleHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4uc2xpZGVtZV9jb250YWluZXIge1xuICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgbWFyZ2luLXRvcDogLSAkaGVhZGVyLWhlaWdodCAtIDNyZW07XG4gICAgIHBhZGRpbmctdG9wOiAkaGVhZGVyLWhlaWdodCArIDNyZW07XG4gICAgIGhlaWdodDogMzQuN3JlbTtcbn1cbi5zaG93Y2FzZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICRoZWFkZXItdGV4dDtcbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAzcHggIzY1NjE2MTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy1ob3JpejtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmctaG9yaXo7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDRyZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRyZW07XG4gICAgICAgIH1cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29yZS1hY2NlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAzcHggIzY1NjE2MTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmctaG9yaXo7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDRyZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIEBleHRlbmQgLmRlZmF1bHQtYW5pbWF0aW9uO1xuICAgICAgICBjb2xvcjogJGhlYWRlci10ZXh0O1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRlcjtcbiAgICAgICAgcGFkZGluZzogMC4zcmVtIDFyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMCk7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRoZWFkZXItdGV4dDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGNvcmUtZm9udC1zaXplO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8gU2xpZGVzaG93IEFycm93cyBhbmQgUGFnaW5hdGlvblxuLnNsaWRlbWVfY29udGFpbmVyIHtcbiAgICAuYXJyb3cge1xuICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5wYWRkaW5nLWxlZnQ6IDAuOHJlbTtcbnBhZGRpbmctcmlnaHQ6IDAuOHJlbTtcbnBhZGRpbmctdG9wOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDUwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjhyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuOHJlbTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtvcGFjaXR5OiAxO31cbiAgICAgICAgJi5wcmV2IHtcbiAgICAgICAgICAgIGxlZnQ6IDRyZW07XG4gICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYubmV4dCB7XG4gICAgICAgICAgICByaWdodDogNHJlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpkaXNhYmxlZCB7b3BhY2l0eTogMC4xfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICB3aWR0aDogMi43cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjdyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFycm93Lm5leHQ6YmVmb3JlIHtjb250ZW50OiAnXFxmMDU0Jztmb250LWZhbWlseTogRm9udEF3ZXNvbWU7bWFyZ2luLWxlZnQ6IDAuNHJlbTt9XG4gICAgLmFycm93LnByZXY6YmVmb3JlIHtjb250ZW50OiAnXFxmMDUzJztmb250LWZhbWlseTogRm9udEF3ZXNvbWU7bWFyZ2luLXJpZ2h0OiAwLjVyZW07fVxuXG4gICAgLnBhZ2luYXRpb24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBib3R0b206IDUlO1xuICAgICAgICAubnVtYmVycyB7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbigwLjJzKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuMnJlbTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG59XG4iLCIvLyBNb2R1bGFyIFNob3djYXNlIHN0eWxpbmdcbi5tb2R1bGFyIHtcbiAgICAuZmVhdHVyZXMge1xuICAgICAgICBwYWRkaW5nOiA0cmVtIDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5OyBcbiAgICAgICAgfVxuXG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMXJlbSAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkY29yZS1mb250LXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb3JlLWFjY2VudDtcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRleHQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGNvcmUtZm9udC1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZlYXR1cmUtaXRlbXMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgICAgIEBzdXBwb3J0cyBub3QgKGZsZXgtd3JhcDogd3JhcCkge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmVhdHVyZSB7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS1tb2JpbGUtcmFuZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLW1vYmlsZS1yYW5nZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkuZmEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGNvcmUtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMC4ycmVtIDAgMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYmlnIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC5mZWF0dXJlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtbW9iaWxlLXJhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaS5mYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0LjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mZWF0dXJlLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcblxuICAgICAgICAgICAgICAgICYuaWNvbi1vZmZzZXQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCIvLyBNb2R1bGFyIEJvdHRvbSBzdHlsaW5nXG4ubW9kdWxhciB7XG4gICAgLmJvdHRvbSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7IFxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDFyZW0gMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGNvcmUtZm9udC1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb3JlLWFjY2VudDtcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRleHQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGNvcmUtZm9udC1zaXplO1xuICAgICAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvcmUtYWNjZW50LCAyMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYm9yZGVyYm90dG9tIHtcbiAgICAgICAgICAgIGhyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCBoNDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7ICBcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zZXJ2aWNlcyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgICAgIC5zZXJ2aWNlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZhIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogN3JlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2cmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDZyZW07XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDdyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5hYm91dCB7XG4gICAgaHIge1xuICAgICAgICBtYXJnaW46IDNyZW0gMDtcbiAgICB9XG59XG4iLCIvLyBNb2R1bGFyIENvbnRhY3Qgc3R5bGluZ1xuLmNvbnRhY3Qge1xuICAgIGg0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgaW5wdXQge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4MCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNzAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgbWluLXdpZHRoOiA4MCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1cmVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogOTAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5kcm9wem9uZSB7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgICAgICAgbWluLXdpZHRoOiA5MCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1lcnJvci1tZXNzYWdlIHtcbiAgICAgICAgdG9wOiAxNjBweDtcbiAgICB9XG4gICAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkY29yZS10ZXh0LCAwLjgpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkY29yZS10ZXh0LCAwLjg5KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICAgIEBleHRlbmQgaDQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gICAgYnV0dG9uIHtcbiAgICAgICAgQGV4dGVuZCAuYnV0dG9uO1xuICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAjc2ltcGxlX2Zvcm0tc3VjY2VzcywgI3NpbXBsZV9mb3JtLXN1Ym1pdCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICB9XG4gICAgICAgIC5jbG9zZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gdmFyaWFibGVzXG4kdGV4dC1iZzogICAgICAgICNFRUVFRUU7XG4kdGV4dC1wYWRkaW5nOiAgIDJyZW07XG4kaW1hZ2UtbWFyZ2luOiAgICAgIDJyZW07XG5cblxuLy8gc3R5bGluZ1xuLmNhbGxvdXQge1xuICAgIGJhY2tncm91bmQ6ICR0ZXh0LWJnO1xuICAgIHBhZGRpbmc6ICR0ZXh0LXBhZGRpbmcgJGNvbnRlbnQtcGFkZGluZztcbiAgICBwYWRkaW5nLXRvcDogJHRleHQtcGFkZGluZztcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGVhcjogYm90aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wLW9ubHkpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuY2FsbG91dC1saW5lIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHBhZ2UtYmc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDdyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgIH1cbiAgICAucHJpY2luZy1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMzFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLnByaWNpbmctaXRlbSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMHJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogM3JlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wLXJhbmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIyLjUlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWFpbi1iZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29yZS1hY2NlbnQ7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCBoNDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmluZm8ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItY29sb3IgMXB4IHNvbGlkO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRlcjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItY29sb3IgMXB4IHNvbGlkO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZvb3Qge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmRlZmF1bHQtYW5pbWF0aW9uO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb3JlLWFjY2VudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgaDQ7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmRlZmF1bHQtYW5pbWF0aW9uO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5cmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjc1KTtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkd2hpdGUsIDAuODUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3VwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyB2YXJpYWJsZXNcbiRtb2R1bGUtYmc6ICAgICAgICAjRUVFRUVFO1xuXG4vLyBzdHlsaW5nXG4udGVhbSB7XG4gICAgYmFja2dyb3VuZDogJG1vZHVsZS1iZztcbiAgICBwYWRkaW5nOiA0cmVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgfVxuICAgIC5tZW1iZXJzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICAubWVtYmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDI5JTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0NCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaHIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zb2NpYWwtaWNvbnMge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmRlZmF1bHQtYW5pbWF0aW9uO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyLjFyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyLjFyZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC44cmVtO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCR3aGl0ZSwgMC41KTtcbiAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvcmUtYWNjZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gdmFyaWFibGVzXG4kdGV4dC1iZzogICAgICAgICNFRUVFRUU7XG4kdGV4dC1wYWRkaW5nOiAgIDJyZW07XG4kaW1hZ2UtbWFyZ2luOiAgICAgIDJyZW07XG5cblxuLy8gc3R5bGluZ1xuLnBvcnRmb2xpbyB7XG4gICAgcGFkZGluZzogJHRleHQtcGFkZGluZyAkY29udGVudC1wYWRkaW5nO1xuICAgIHBhZGRpbmctdG9wOiAkdGV4dC1wYWRkaW5nO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3Atb25seSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIH1cbiAgICAubm90ZWJvb2tzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgICAgLm5vdGVib29rLXJvdyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggLTkwcHggMHB4IC0yMHB4ICRtYWluLWJnO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kcGFkZGluZy1ob3JpejtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRwYWRkaW5nLWhvcml6O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy1ob3JpejtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRleHQtYmc7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJHBhZGRpbmctaG9yaXogKyA0cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRwYWRkaW5nLWhvcml6ICsgNHJlbSA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ub3RlYm9vayB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyNCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcC1yYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDI0JTtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtbW9iaWxlLXJhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNzAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTQuN3JlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmRlc2Mge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjByZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3AtcmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1tb2JpbGUtcmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQTZGRUEsQU5NQSxPTU5PLENBaUNILEtBQUssQ0FJRCxFQUFFLEVBckNWLE9BQU8sQ0FpQ0gsS0FBSyxDQVdELEVBQUUsQUFDRyxhQUFhLEVBN0MxQixPQUFPLENBbURILFdBQVcsRUFuRGYsT0FBTyxDQXlJSCxPQUFPLENBWUgsRUFBRSxBQU1HLFdBQVcsRUEzSnhCLE9BQU8sQ0F5SUgsT0FBTyxDQXlGSCxpQkFBaUIsQ041TlQsRUFDZixRQUFRLEVBQUUsUUFBUSxFQUNsQixHQUFHLEVBQUUsR0FBRyxFMUJERCxpQkFBb0Is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 */
|