/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../../node_modules/.pnpm/css-loader@7.1.4_webpack@5.105.4/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!../../../node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.6_webpack@5.105.4/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!../../../node_modules/.pnpm/sass-loader@16.0.7_sass-embedded@1.93.3_sass@1.98.0_webpack@5.105.4/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/scss/fossbilling.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* -------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------- */
/*

------------------------------------------
------------------------------------------

----- WHMCS styles

------------------------------------------
------------------------------------------

*/
/* Reset */
.whmcscontainer .col-12.primary-content {
  padding-left: 0;
  padding-right: 0;
}

.whmcsbody.primary-bg-color {
  background: var(--background-body);
}

.whmcscontainer .container {
  max-width: 100%;
}

.whmcscontainer section#main-body {
  padding: 0;
}

.whmcscontainer a {
  text-decoration: none;
}

.whmcscontainer hr {
  border-top: var(--color-border) 1px solid;
  margin: 0 0 var(--spacing-child) 0;
}

.whmcscontainer .btn { /* WHMCS buttons styled to match .button1 */
  text-transform: capitalize;
  font-weight: bold;
  border-radius: var(--border-radius);
}

.whmcscontainer *:focus { /* Remove glow on click */
  box-shadow: none !important;
}

.whmcscontainer .btn-link {
  color: var(--color-body);
}

.whmcscontainer .text-muted {
  color: var(--color-body);
}

/* Slimmed cart enabled */
.whmcsbody.feature-slimmedcart .subbanner,
.whmcsbody.feature-slimmedcart .partnersmain,
.whmcsbody.feature-slimmedcart .cta-container,
.whmcsbody.feature-slimmedcart .footermain .footermain-background {
  display: none;
}

.whmcsbody.feature-slimmedcart .footermain {
  border-top: none;
}

/* Slimmed login enabled */
.whmcsbody.feature-slimmedlogin .headermain,
.whmcsbody.feature-slimmedlogin .subbanner,
.whmcsbody.feature-slimmedlogin .partnersmain,
.whmcsbody.feature-slimmedlogin .cta-container {
  display: none;
}

.whmcsbody.feature-slimmedlogin .logo-login {
  display: flex;
  justify-content: center;
  margin: 0 0 var(--spacing-child) 0;
}

.whmcsbody.feature-slimmedlogin .logo-login img {
  max-width: 300px;
}

/* Social buttons */
.whmcscontainer .providerPreLinking {
  min-height: 43px;
}

.whmcscontainer .btn-google img {
  display: inline;
}

/* WHMCS colors */
/* Borders */
.whmcscontainer .card-accent-gold,
.whmcscontainer .card-accent-green,
.whmcscontainer .card-accent-red,
.whmcscontainer .card-accent-blue,
.whmcscontainer .card-accent-orange .whmcscontainer .card-accent-pink,
.whmcscontainer .card-accent-purple,
.whmcscontainer .card-accent-lime,
.whmcscontainer .card-accent-magenta,
.whmcscontainer .card-accent-teal,
.whmcscontainer .card-accent-turquoise,
.whmcscontainer .card-accent-emerald,
.whmcscontainer .card-accent-amethyst,
.whmcscontainer .card-accent-wet-asphalt,
.whmcscontainer .card-accent-midnight-blue,
.whmcscontainer .card-accent-sun-flower,
.whmcscontainer .card-accent-pomegranate,
.whmcscontainer .card-accent-silver,
.whmcscontainer .card-accent-asbestos {
  border-color: var(--color-primary-background);
}

/* Backgrounds */
.whmcscontainer .bg-color-gold,
.whmcscontainer .bg-color-green,
.whmcscontainer .bg-color-red,
.whmcscontainer .bg-color-blue,
.whmcscontainer .bg-color-orange,
.whmcscontainer .bg-color-pink,
.whmcscontainer .bg-color-purple,
.whmcscontainer .bg-color-lime,
.whmcscontainer .bg-color-magenta,
.whmcscontainer .bg-color-teal,
.whmcscontainer .bg-color-turquoise,
.whmcscontainer .bg-color-emerald,
.whmcscontainer .bg-color-amethyst,
.whmcscontainer .bg-color-wet-asphalt,
.whmcscontainer .bg-color-midnight-blue,
.whmcscontainer .bg-color-sun-flower,
.whmcscontainer .bg-color-pomegranate,
.whmcscontainer .bg-color-silver,
.whmcscontainer .bg-color-asbestos {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
}

/* Card */
.whmcscontainer .card {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  margin-bottom: var(--spacing-child) !important;
  color: var(--color-box-foreground);
}

.whmcscontainer .card .card-header {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  color: var(--color-box-head-foreground);
}

.whmcscontainer .card .card-header .card-title,
.whmcscontainer .card .card-header .panel-title {
  color: var(--color-box-head-foreground) !important;
}

.whmcscontainer .home .card .card-title {
  color: var(--color-box-foreground-bold);
}

.whmcscontainer .card .card-body {
  padding: var(--spacing-inner) !important;
}

.whmcscontainer .card .card-footer {
  background: var(--color-box-footer-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-footer-background-gradient-top) 0, var(--color-box-footer-background-gradient-bottom) 100%);
  border-color: var(--color-box-footer-background-border);
  border-bottom-width: 0;
  color: var(--color-box-footer-foreground);
}

/* Sidebar */
.whmcscontainer .sidebar .list-group {
  display: block !important;
}

.whmcscontainer .sidebar .list-group-item-action {
  color: var(--color-box-foreground);
}

.whmcscontainer .sidebar .list-group-item {
  border-color: var(--color-box-background-border);
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-right-width: 0;
  border-left-width: 0;
}

.whmcscontainer .sidebar .list-group-item:hover {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
}

.whmcscontainer .sidebar .list-group-item.active {
  color: var(--color-box-active-foreground);
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border: none;
}

.whmcscontainer .sidebar .list-group-item .badge {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border: var(--color-box-active-background-border);
  color: var(--color-box-active-foreground);
}

.whmcscontainer .sidebar #Primary_Sidebar-Already_Registered-Already_Registered_Heading:hover,
.whmcscontainer .sidebar #Secondary_Sidebar-Client_Contacts-No_Contacts:hover { /* Remove hover from sidebar elements */
  background-color: transparent;
}

.whmcscontainer .sidebar-secondary { /* Fix spacing bug on mobile */
  padding-right: 0;
  padding-left: 0;
}

.whmcscontainer .list-group-item {
  background-color: transparent;
}

/* Headings */
.whmcscontainer h1,
.whmcscontainer h2,
.whmcscontainer h3,
.whmcscontainer h4,
.whmcscontainer h5,
.whmcscontainer h6 {
  font-weight: bold;
}

/* Alerts */
.whmcscontainer .alert {
  border-radius: 0;
  margin-bottom: var(--spacing-child) !important;
  border-radius: var(--border-radius);
  border-bottom-width: var(--border-bottom-width);
}

.whmcscontainer .network-issue-alert {
  padding: 10px;
}

/* Email Verification */
.whmcscontainer .email-verification {
  padding: 10px;
  margin-bottom: var(--spacing-child);
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  color: var(--color-box-foreground);
  font-weight: normal;
  border-radius: var(--border-radius);
}

/* Forms */
.whmcscontainer #registration .field,
.whmcscontainer #registration .form-control,
.whmcs-filename-cart .whmcscontainer #order-standard_cart .field,
.whmcs-filename-cart .whmcscontainer #order-standard_cart .form-control {
  border: var(--color-box-background-border) 1px solid;
  color: var(--color-body);
}

.whmcscontainer .form-control,
.modal-content .form-control {
  border: var(--color-box-background-border) 1px solid;
}

.whmcscontainer .input-group-text { /* Form icons */
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border: var(--color-box-active-background-border) 1px solid;
}

.whmcscontainer .bootstrap-switch { /* Switch form */
  display: block;
  margin-left: auto;
  margin-right: auto;
  border-color: var(--color-box-background-border);
}

.whmcscontainer .md-editor,
.whmcscontainer div.md-editor.active {
  border: var(--color-box-active-background-border) 1px solid;
}

.whmcscontainer .md-editor .form-control {
  border: none !important;
}

.whmcscontainer .md-editor > .md-preview,
.whmcscontainer .md-editor > textarea.markdown-editor {
  border-top: var(--color-box-background-border) 1px solid !important;
  border-bottom: var(--color-box-background-border) 1px solid !important;
}

.whmcscontainer .custom-file-label { /* Ticket Attachment */
  border: var(--color-box-background-border) 1px solid;
  border-radius: 0;
}

/* Pagination */
.whmcscontainer .page-link {
  border: var(--color-box-background-border) 1px solid;
}

.whmcscontainer .page-item:first-child .page-link,
.whmcscontainer .page-item:last-child .page-link {
  border-radius: 0;
}

.whmcscontainer .page-item .page-link {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-color: var(--color-box-background-border);
}

.whmcscontainer .page-item.active .page-link,
.whmcscontainer .pagination > .active > a,
.whmcscontainer .pagination > .active > a:focus,
.whmcscontainer .pagination > .active > a:hover,
.whmcscontainer .pagination > .active > span,
.whmcscontainer .pagination > .active > span:focus,
.whmcscontainer .pagination > .active > span:hover {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border-color: var(--color-box-background-border);
}

.whmcscontainer .page-item.active .page-link {
  color: var(--color-box-foreground);
  font-weight: bold;
}

/* Progress */
.whmcscontainer .progress {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
}

/* Table */
.whmcscontainer .table {
  border: var(--color-box-background-border) 1px solid !important;
  border-bottom-width: 3px !important;
  border-radius: var(--border-radius) !important;
  color: var(--color-box-foreground) !important;
}

.whmcscontainer .table th {
  border-top: none !important;
  border-bottom: none !important;
  background: var(--color-box-head-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%) !important;
  color: var(--color-box-head-foreground) !important;
  border-radius: 0 !important;
}

.whmcscontainer .table th.sorting_asc,
.whmcscontainer .table th.sorting_desc {
  background-color: var(--color-primary-background) !important;
  color: var(--color-primary-foreground) !important;
}

.whmcscontainer .table td {
  background: var(--color-box-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%) !important;
  border-top: var(--color-box-background-border) 1px solid !important;
}

/* Editor */
.whmcscontainer .md-editor {
  background: #fff;
}

/* Modal */
.whmcsbody .modal .modal-content {
  border-color: var(--color-box-background-border);
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-box-foreground);
  border-radius: var(--border-radius);
}

.whmcsbody .modal .modal-content .copy-to-clipboard img {
  display: inline;
}

.whmcsbody .modal .modal-header.bg-primary {
  background: var(--color-box-head-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%) !important;
  border-bottom: var(--color-box-head-background-border) 1px solid;
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius);
  color: var(--color-box-head-foreground);
}

.whmcsbody .modal .modal-title {
  color: var(--color-box-head-foreground);
}

.whmcsbody .modal .modal-footer {
  background: var(--color-box-footer-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-footer-background-gradient-top) 0, var(--color-box-footer-background-gradient-bottom) 100%);
  border-top: var(--color-box-footer-background-border) 1px solid;
  border-bottom-right-radius: var(--border-radius);
  border-bottom-left-radius: var(--border-radius);
}

/* Modal - Language selector */
.whmcsbody .modal-localisation .close {
  color: var(--body-default) !important;
}

.whmcsbody .modal-localisation .modal-content .pt-5 {
  padding-top: 0 !important;
}

.whmcsbody .modal-localisation .modal-content h5 {
  color: var(--color-box-foreground-bold);
  font-weight: bold;
  font-size: 1.5em;
}

.whmcsbody .modal-localisation .modal-content .item-selector .item {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  color: var(--color-secondary-foreground);
  border: var(--color-secondary-background-border) 1px solid;
  border-radius: var(--border-radius);
  text-decoration: none;
}

.whmcsbody .modal-localisation .modal-content .item-selector .item:hover,
.whmcsbody .modal-localisation .modal-content .item-selector .item.active {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  color: var(--color-primary-foreground);
  border: var(--color-primary-background-border) 1px solid;
}

/* Modal - Empty cart */
.whmcsbody .modal-remove-item .modal-content .modal-title {
  color: var(--color-box-foreground-bold);
}

/* Navtabs - Used on view cart (promo/taxes) */
.whmcscontainer .nav-tabs {
  border-color: var(--color-box-background-border);
}

.whmcscontainer .nav-tabs .nav-link {
  border-bottom: none;
  background-color: transparent;
}

.whmcscontainer .nav-tabs .nav-link.active {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-color: var(--color-box-background-border) var(--color-box-background-border) #fff;
  color: var(--color-box-foreground);
}

.whmcscontainer #order-standard_cart .view-cart-tabs .tab-content {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
}

/* Sub Menu (/includes/submenu-whmcs.tpl) */
.whmcsbody .whmcssubmenu {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-bottom: var(--color-box-background-border) 3px solid;
}

.whmcsbody .whmcssubmenu::after {
  clear: both;
  display: table;
  content: "";
}

.whmcsbody .whmcssubmenu header.header {
  background-color: transparent;
}

.whmcsbody .whmcssubmenu header.header .navbar a {
  color: var(--color-box-foreground-bold);
}

.whmcsbody .whmcssubmenu header.header .container {
  max-width: 100%;
}

.whmcsbody .whmcssubmenu header.header .navbar-light {
  display: none;
  float: right;
  padding-right: 0;
}

@media (max-width: 1199px) {
  .whmcsbody .whmcssubmenu header.header .navbar-light {
    display: block;
  }
}
/* Primary Button */
.whmcscontainer .btn-primary,
.whmcscontainer .btn-primary:visited,
.whmcscontainer .btn-primary:active,
.whmcscontainer .btn-success,
.whmcscontainer .btn-success:visited,
.whmcscontainer .btn-success:active,
.whmcscontainer .btn-warning,
.whmcscontainer .btn-warning:visited,
.whmcscontainer .btn-warning:active,
.whmcscontainer .btn-outline-primary,
.whmcscontainer .btn-outline-primary:visited,
.whmcscontainer .btn-outline-primary:active {
  color: var(--color-primary-foreground) !important;
  border: solid 1px var(--color-primary-background-border) !important;
  background: var(--color-primary-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%) !important;
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px !important;
}

.whmcscontainer .btn-primary:hover,
.whmcscontainer .btn-success:hover,
.whmcscontainer .btn-warning:hover,
.whmcscontainer .btn-warning:focus,
.whmcscontainer .btn-outline-primary:hover {
  color: var(--color-primary-active-foreground) !important;
  border: solid 1px var(--color-primary-active-background-border) !important;
  background: var(--color-primary-active-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%) !important;
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px !important;
}

/* Secondary Button */
.whmcscontainer .btn-info,
.whmcscontainer .btn-info:active,
.whmcscontainer .btn-info:visited,
.whmcscontainer .btn-danger,
.whmcscontainer .btn-danger:active,
.whmcscontainer .btn-danger:visited,
.whmcscontainer .btn-default,
.whmcscontainer .btn-default:active,
.whmcscontainer .btn-default:visited {
  color: var(--color-secondary-foreground) !important;
  border: solid 1px var(--color-secondary-background-border) !important;
  background: var(--color-secondary-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%) !important;
  text-shadow: var(--color-secondary-foreground-shadow) 1px 1px !important;
}

.whmcscontainer .btn-info:hover,
.whmcscontainer .btn-danger:hover,
.whmcscontainer .btn-default:hover,
.whmcscontainer .btn-default:focus {
  color: var(--color-secondary-active-foreground) !important;
  border: solid 1px var(--color-secondary-active-background-border) !important;
  background: var(--color-secondary-active-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-active-background-gradient-top) 0, var(--color-secondary-active-background-gradient-bottom) 100%) !important;
  text-shadow: var(--color-secondary-active-foreground-shadow) 1px 1px !important;
}

/* Steps - Highlight */
.whmcs-templatefile-products .navmain .steps .step-step1,
.whmcs-templatefile-addons .navmain .steps .step-step1,
.whmcs-templatefile-adddomain .navmain .steps .step-step1,
.whmcs-templatefile-domainregister .navmain .steps .step-step1,
.whmcs-templatefile-domaintransfer .navmain .steps .step-step1,
.whmcs-templatefile-configureproductdomain .navmain .steps .step-step2,
.whmcs-templatefile-configuredomains .navmain .steps .step-step2,
.whmcs-templatefile-configureproduct .navmain .steps .step-step2,
.whmcs-templatefile-domainrenewals .navmain .steps .step-step2,
.whmcs-templatefile-viewcart .navmain .steps .step-step3,
.whmcs-templatefile-store\/order .navmain .steps .step-step2 {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
}

.whmcs-templatefile-products .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-addons .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-adddomain .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-domainregister .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-domaintransfer .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-configureproductdomain .navmain .steps .step-step2 .step-text,
.whmcs-templatefile-configuredomains .navmain .steps .step-step2 .step-text,
.whmcs-templatefile-configureproduct .navmain .steps .step-step2 .step-text,
.whmcs-templatefile-domainrenewals .navmain .steps .step-step2 .step-text,
.whmcs-templatefile-viewcart .navmain .steps .step-step3 .step-text,
.whmcs-templatefile-store\/order .navmain .steps .step-step2 .step-text {
  color: var(--color-secondary-foreground);
}

.whmcs-templatefile-configureproductdomain .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-configuredomains .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-configureproduct .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-viewcart .navmain .steps .step-step1 .step-text,
.whmcs-templatefile-viewcart .navmain .steps .step-step2 .step-text,
.whmcs-templatefile-store\/order .navmain .steps .step-step1 .step-text {
  background: url("../images/cart-steps-check.png") right center no-repeat;
  background-size: 20px auto;
  padding-right: var(--spacing-child);
}

@media (max-width: 500px) {
  .whmcs-templatefile-configureproductdomain .navmain .steps .step-step1 .step-text,
  .whmcs-templatefile-configuredomains .navmain .steps .step-step1 .step-text,
  .whmcs-templatefile-configureproduct .navmain .steps .step-step1 .step-text,
  .whmcs-templatefile-viewcart .steps .navmain .step-step1 .step-text,
  .whmcs-templatefile-viewcart .steps .navmain .step-step2 .step-text {
    background-size: 15px auto;
    padding-right: var(--spacing-inner);
  }
}
/* Homepage (homepage.tpl) */
.whmcs-templatefile-homepage .whmcscontainer .action-icon-btns a {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-homepage .whmcscontainer .action-icon-btns a:hover {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border-color: var(--color-box-active-background-border);
  color: var(--color-box-active-foreground-bold);
}

.whmcs-templatefile-homepage .whmcscontainer .action-icon-btns a .ico-container i {
  color: var(--color-primary-background);
}

/* Login (login.tpl) */
.whmcs-templatefile-login .whmcscontainer .card .h3 {
  margin-bottom: 22px;
}

.whmcs-templatefile-login .whmcscontainer .social-signin-btns {
  margin-top: var(--spacing-parent);
}

/* Forgotten password (password-reset-container.tpl) */
.whmcs-templatefile-password-reset-container .whmcscontainer .card .h3 {
  margin-bottom: 22px;
}

/* Client Area Home (clientareahome.tpl) */
.whmcs-templatefile-clientareahome .whmcscontainer .tiles .tile {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-right: var(--color-box-background-border) 1px solid;
}

.whmcs-templatefile-clientareahome .whmcscontainer .tiles .tile i {
  color: var(--color-box-background-divider);
}

.whmcs-templatefile-clientareahome .whmcscontainer .tiles .tile:hover i {
  color: var(--color-box-head-background);
}

.whmcs-templatefile-clientareahome .whmcscontainer .tiles .tile .title {
  color: var(--color-box-foreground);
}

.whmcs-templatefile-clientareahome .whmcscontainer .primary-content .card .card-footer {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
}

.whmcs-templatefile-clientareahome .whmcscontainer .primary-content .client-home-cards .card .card-title .btn {
  padding: 1px 5px;
  margin: 0;
}

.whmcs-templatefile-clientareahome .whmcscontainer .primary-content .client-home-cards .card-body p {
  padding: 0;
  margin: 0;
}

/* Register (clientregister.tpl) */
.whmcs-templatefile-clientregister .whmcscontainer .social-signin-btns {
  margin-bottom: var(--spacing-child);
}

.whmcs-templatefile-clientregister .whmcscontainer .intl-tel-input.separate-dial-code .selected-flag {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
}

.whmcs-templatefile-clientregister .whmcscontainer .offset-md-2 { /* Fix capcha spacing bug */
  margin-left: 0;
}

.whmcs-templatefile-clientregister .sub-heading {
  display: none;
}

.whmcs-templatefile-clientregister #registration label {
  color: var(--color-body);
  font-size: 1em;
  font-weight: normal;
}

/* Affiliates Signup (affiliatessignup.tpl) */
.whmcs-templatefile-affiliatessignup .whmcscontainer .lead {
  text-align: center;
}

.whmcs-templatefile-affiliatessignup .whmcscontainer ul {
  padding: 0 !important;
  margin-bottom: 0;
}

.whmcs-templatefile-affiliatessignup .whmcscontainer ul li {
  background: url("../images/bullet-icon.png") left center no-repeat;
  background-size: auto 20px;
  padding: 15px 0 15px 30px;
}

.whmcs-templatefile-affiliatessignup .whmcscontainer p:last-child {
  margin-bottom: 0;
}

.whmcs-templatefile-affiliatessignup .whmcscontainer .card.extra-padding {
  padding-bottom: 0 !important;
}

/* Affiliates (affiliates.tpl) */
.whmcs-templatefile-affiliates .whmcscontainer .affiliate-stat {
  line-height: 2.2em;
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  border: var(--color-secondary-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-affiliates .whmcscontainer .affiliate-stat.alert-warning,
.whmcs-templatefile-affiliates .whmcscontainer .affiliate-stat.alert-info,
.whmcs-templatefile-affiliates .whmcscontainer .affiliate-stat.alert-success {
  color: var(--color-secondary-foreground);
}

.whmcs-templatefile-affiliates .whmcscontainer .card .h3 {
  text-align: center;
  margin-bottom: var(--spacing-child);
  font-family: var(--font-heading);
  color: var(--color-black);
  font-weight: bold;
}

.whmcs-templatefile-affiliates .whmcscontainer input[type=text] {
  text-align: center;
  font-weight: bold;
  width: 100%;
  max-width: 450px;
  margin: 0 auto;
  font-size: 1.2em;
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border-color: var(--color-box-active-background-border);
  color: var(--color-box-active-foreground);
}

/* Add Funds (clientareaaddfunds.tpl) */
.whmcs-templatefile-clientareaaddfunds .whmcscontainer .card .table {
  border: none !important;
  margin-bottom: 0;
}

/* Product Details (clientareaproductdetails.tpl) */
.whmcs-templatefile-clientareaproductdetails .whmcscontainer .mb-2 {
  margin-bottom: var(--spacing-child) !important;
}

.whmcs-templatefile-clientareaproductdetails .whmcscontainer .product-details .product-status h3 {
  margin-top: 20px;
}

.whmcs-templatefile-clientareaproductdetails .whmcscontainer .product-details .product-status h4 {
  margin-bottom: 0;
}

.whmcs-templatefile-clientareaproductdetails .whmcscontainer .product-details .product-status h3,
.whmcs-templatefile-clientareaproductdetails .whmcscontainer .product-details .product-status h4 {
  font-size: 0.4em;
}

/* View Ticket (viewticket.tpl) */
.whmcs-templatefile-viewticket .whmcscontainer .ticket-buttons {
  margin-bottom: var(--spacing-child);
  text-align: center;
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .posted-by {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  border: var(--color-secondary-background-border) 1px solid;
  color: var(--color-secondary-foreground);
  padding: 0.75rem 1.25rem;
  text-align: center;
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .posted-by .requestor-badge {
  background: var(--color-secondary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-active-background-gradient-top) 0, var(--color-secondary-active-background-gradient-bottom) 100%);
  color: var(--color-secondary-active-foreground);
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply.staff .posted-by {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply.staff .posted-by .requestor-badge {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  color: var(--color-primary-active-foreground);
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .message {
  padding: var(--spacing-inner) !important;
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .message hr {
  clear: both;
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .message .ticket-support {
  border-top: var(--color-box-background-divider) 1px solid;
  padding-top: var(--spacing-inner);
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .rating,
.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .rating-done {
  margin: 17px 0 0 0;
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .attachments {
  border-top: var(--color-box-background-divider) 1px solid;
  padding: var(--spacing-inner) !important;
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .attachment-list li {
  width: 150px;
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .attachment-list li a figure {
  margin: 0;
  background-color: transparent;
  line-height: 50px;
}

.whmcs-templatefile-viewticket .whmcscontainer .view-ticket .ticket-reply .attachment-list li a .caption {
  margin-top: 10px;
  overflow: hidden;
}

/* Client Area Security (clientareasecurity.tpl) */
.whmcs-templatefile-clientareasecurity .whmcscontainer .bootstrap-switch {
  margin-bottom: var(--spacing-child);
}

/* Client Area Details (clientareadetails.tpl) */
.whmcs-templatefile-clientareadetails .whmcscontainer input[type=reset].btn-default {
  display: none;
}

/* Client Area Domain Details (clientareadomaindetails.tpl) */
.whmcs-templatefile-clientareadomaindetails .whmcscontainer .col-lg-6 {
  text-align: center;
  margin-bottom: var(--spacing-child);
}

.whmcs-templatefile-clientareadomaindetails .whmcscontainer .col-lg-6 h5 {
  margin-bottom: 10px;
}

/* Account Contacts New (account-contacts-new.tpl) */
.whmcs-templatefile-account-contacts-new .whmcscontainer .btn-default {
  display: none;
}

/* Announcements (announcements.tpl) */
.whmcs-templatefile-announcements .whmcscontainer .primary-content .card .card-title {
  display: none;
}

.whmcs-templatefile-announcements .whmcscontainer .primary-content .card {
  background: none;
  border: none;
}

.whmcs-templatefile-announcements .whmcscontainer .primary-content .card .card-body {
  padding: 0 !important;
}

.whmcs-templatefile-announcements .whmcscontainer .announcements .announcement {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  margin-bottom: var(--spacing-child) !important;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-announcements .whmcscontainer .announcements .announcement::after {
  clear: both;
  display: table;
  content: "";
}

.whmcs-templatefile-announcements .whmcscontainer .announcements .announcement h1 {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  margin: 0 0 var(--spacing-child) 0;
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.whmcs-templatefile-announcements .whmcscontainer .announcements .announcement h1 a {
  color: var(--color-box-head-foreground);
  font-size: 0.8em;
  padding: 5px 0;
  display: block;
}

.whmcs-templatefile-announcements .whmcscontainer .announcements .announcement .list-inline {
  padding: 0 var(--spacing-inner);
  text-align: center;
}

.whmcs-templatefile-announcements .whmcscontainer .announcements .announcement article {
  margin: 0 var(--spacing-inner) var(--spacing-child) var(--spacing-inner);
}

.whmcs-templatefile-announcements .whmcscontainer .announcements .announcement .btn {
  margin: 0 var(--spacing-child) var(--spacing-child) 0;
  float: right;
}

/* View Announcement (announcements.tpl) */
.whmcs-templatefile-viewannouncement .whmcscontainer .primary-content .card {
  background: none;
  border: none;
}

.whmcs-templatefile-viewannouncement .whmcscontainer .primary-content .card .card-body {
  padding: 0 !important;
}

.whmcs-templatefile-viewannouncement .whmcscontainer .primary-content .card h1 {
  display: none;
}

.whmcs-templatefile-viewannouncement .whmcscontainer .py-5 {
  padding-top: 0 !important;
}

.whmcs-templatefile-viewannouncement .whmcscontainer .list-inline {
  text-align: center;
}

.whmcs-templatefile-viewannouncement .whmcscontainer .button1 {
  margin: 5px;
}

/* Marketconnect */
.whmcscontainer .bg-white {
  background: transparent !important;
}

.whmcscontainer .bg-light {
  background: var(--color-box-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%) !important;
}

.whmcscontainer .landing-page .navbar.navbar-expand-lg .navbar-nav > li > a {
  border-left-color: var(--color-box-background-divider) !important;
}

.whmcscontainer .landing-page .navbar.navbar-expand-lg .navbar-nav > li:last-child > a {
  border-right-color: var(--color-box-background-divider) !important;
}

.whmcscontainer .landing-page .navbar .navbar-nav > li > a {
  border-bottom-color: var(--color-box-background-border);
}

.whmcscontainer .navbar-light .navbar-nav .nav-link {
  color: var(--color-box-foreground);
}

.whmcscontainer .landing-page .navbar .navbar-nav > li.active > a {
  color: var(--color-box-active-foreground);
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
}

.whmcscontainer .navbar-light .navbar-nav .nav-link:hover {
  color: var(--color-primary-background);
}

.whmcscontainer .landing-page.marketgoo .feature-wrapper {
  border-radius: var(--border-radius);
}

.whmcscontainer .landing-page .text20 h2 {
  color: var(--color-heading);
}

/* Promo banner (displayed in clientareahome.tpl) */
.whmcscontainer .promo-container {
  border-color: var(--color-border);
}

.whmcscontainer .promo-banner.symantec,
.whmcscontainer .promo-banner.weebly,
.whmcscontainer .promo-banner.spamexperts,
.whmcscontainer .promo-banner.sitelock,
.whmcscontainer .promo-banner.codeguard,
.whmcscontainer .promo-banner.sitelockvpn,
.whmcscontainer .promo-banner.marketgoo,
.whmcscontainer .promo-banner.ox,
.whmcscontainer .promo-banner.sitebuilder {
  border-color: var(--color-primary-background);
}

.whmcscontainer .promo-banner a,
.whmcscontainer .promo-banner a:hover {
  color: var(--color-primary-background);
}

/* SSL Certificates */
.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .validation-levels {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .validation-levels h3 .whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl p.help-me-choose a,
.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl a.help-me-choose {
  color: var(--color-secondary-foreground);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .validation-levels .item {
  background-color: #fff;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .validation-levels .item p {
  color: var(--color-body);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .validation-levels .item .btn {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .validation-levels .item .btn:hover {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  border: var(--color-primary-active-background-border) 1px solid;
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .ssl-benefits i {
  color: var(--color-secondary-background);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .competitive-upgrade-promo {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  color: var(--color-secondary-foreground);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .standout-2 {
  color: var(--color-body);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .detailed-info {
  padding: 0;
  background-color: transparent;
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .accordion {
  border: none;
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .detailed-info .card {
  border: none;
  border-radius: 0;
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .detailed-info .card-header {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  border-radius: 0;
  border-bottom: none;
  color: var(--color-box-head-foreground);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .detailed-info .card-header h4 {
  color: var(--color-box-head-foreground);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .detailed-info .card-body {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-box-foreground);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl .detailed-info .card-body h4 {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/ssl\/index .whmcscontainer .landing-page.ssl ul.ssl-certs-all li {
  border-bottom: var(--color-box-background-divider) 1px solid;
}

/* SSL sub pages */
.whmcscontainer .landing-page.ssl .ideal-for.dv i {
  color: var(--color-secondary-background);
}

.whmcscontainer .landing-page.ssl .certificate-options {
  background: var(--color-secondary-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%) !important;
  color: var(--color-secondary-foreground) !important;
  border-radius: var(--border-radius) !important;
}

.whmcscontainer .landing-page.ssl .certificate-options h3,
.whmcscontainer .landing-page.ssl .row-pricing-table .header h4 {
  color: var(--color-secondary-foreground);
}

.whmcscontainer .landing-page.ssl .certificate-options .col-md-3.sidebar ul li,
.whmcscontainer .landing-page.ssl .certificate-options .col-md-4.sidebar ul li,
.whmcscontainer .landing-page.ssl .certificate-options .col-md-6.sidebar ul li {
  color: var(--color-secondary-foreground);
  border-color: #fff !important;
}

.whmcscontainer .landing-page.ssl .row-pricing-table ul li:first-child {
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.whmcscontainer .landing-page.ssl .row-pricing-table ul li:last-child {
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.whmcscontainer .landing-page.ssl .certificate-options .btn {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
  border-radius: var(--border-radius);
}

.whmcscontainer .landing-page.ssl .certificate-options .btn:hover {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  border: var(--color-primary-active-background-border) 1px solid;
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
}

.whmcscontainer .landing-page.ssl .features {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  color: var(--color-box-foreground);
  border-radius: var(--border-radius);
  padding: 50px var(--spacing-inner) 50px;
}

.whmcscontainer .landing-page.ssl .features h3 {
  color: var(--color-box-foreground-bold);
}

.whmcscontainer .landing-page.ssl .features .feature,
.whmcscontainer .landing-page.ssl .features .feature:hover {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  font-size: 1.2em;
  color: var(--color-box-active-foreground-bold);
  border-radius: var(--border-radius);
}

.whmcscontainer .landing-page.ssl .features .feature i {
  color: var(--color-box-active-foreground-bold);
}

/* VPN */
.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .dividing-line {
  background-color: var(--color-border);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .hero {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .hero-bg {
  padding-left: var(--spacing-child);
  padding-right: var(--spacing-child);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .hero h1 {
  color: var(--color-secondary-foreground);
  text-shadow: var(--color-secondary-foreground-shadow) 1px 1px;
  text-align: left;
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .hero h2 {
  color: var(--color-secondary-foreground);
  text-align: left;
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .btn-start {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .btn-start:hover {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  border: var(--color-primary-active-background-border) 1px solid;
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.alternate-bg {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-box-foreground);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.pricing {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.pricing h2 {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.pricing .pricing-box {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border: var(--color-box-active-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  color: var(--color-box-active-foreground);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.pricing .cycle {
  background: var(--color-box-active-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-head-background-gradient-top) 0, var(--color-box-active-head-background-gradient-bottom) 100%);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  color: var(--color-box-active-head-foreground);
  border-bottom: var(--color-box-active-head-background-border) 1px solid;
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.pricing .price {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.pricing ul li {
  border-color: var(--color-box-background-divider);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature .label-info {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  color: var(--color-secondary-foreground);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .btn-signup {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  color: var(--color-secondary-foreground);
  border: var(--color-secondary-background-border) 1px solid;
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.world span {
  color: var(--color-primary-background);
}

.whmcs-templatefile-store\/sitelockvpn\/index .whmcscontainer .landing-page.sitelockvpn .feature.countries {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
}

/* Website Builder */
.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .features {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .features h4 {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page.weebly .weebly-lite-plan {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  padding: var(--spacing-inner);
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page.weebly .weebly-lite-plan h4,
.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page.weebly .weebly-lite-plan h5 {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page.weebly .weebly-lite-plan .btn-signup {
  background: var(--color-primary-background) !important;
  border: var(--color-primary-background-border) 1px solid !important;
  color: var(--color-primary-foreground) !important;
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px !important;
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page.weebly .weebly-lite-plan .btn-signup:hover {
  background: var(--color-primary-active-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%) !important;
  border: var(--color-primary-active-background-border) 1px solid !important;
  color: var(--color-primary-active-foreground) !important;
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px !important;
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .pricing-item {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .pricing-item .header {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  padding: 11px;
  margin-bottom: var(--spacing-child);
  border-bottom: var(--color-box-head-background-border) 1px solid;
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .pricing-item .header h4,
.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .pricing-item .header h5 {
  color: var(--color-box-head-foreground);
  margin: 0;
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .pricing-item .price {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .pricing-item .feature-heading {
  color: var(--color-box-foreground-bold);
  background-color: transparent;
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page .pricing-item ul li {
  border-color: var(--color-box-background-divider);
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page.weebly .faq {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page.weebly .faq h3,
.whmcs-templatefile-store\/weebly\/index .whmcscontainer .landing-page.weebly .faq h4 {
  color: var(--color-box-foreground-bold);
}

/* Website Backup */
.whmcs-templatefile-store\/codeguard\/index .whmcscontainer .landing-page.codeguard .strong-green span {
  color: var(--color-primary-background);
}

.whmcs-templatefile-store\/codeguard\/index .whmcscontainer .landing-page.codeguard .overview-features li {
  border-color: var(--color-border);
}

.whmcs-templatefile-store\/codeguard\/index .whmcscontainer .landing-page.codeguard .overview-features span {
  color: var(--color-body);
}

.whmcs-templatefile-store\/codeguard\/index .whmcscontainer .landing-page.codeguard .pricing {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  color: var(--color-secondary-foreground);
}

.whmcs-templatefile-store\/codeguard\/index .whmcscontainer .landing-page.codeguard .pricing h2 {
  color: var(--color-secondary-foreground);
}

.whmcs-templatefile-store\/codeguard\/index .whmcscontainer .landing-page.codeguard .order-btn {
  background: var(--color-primary-background) !important;
  border: var(--color-primary-background-border) 1px solid !important;
  color: var(--color-primary-foreground) !important;
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px !important;
}

.whmcs-templatefile-store\/codeguard\/index .whmcscontainer .landing-page.codeguard .order-btn:hover {
  background: var(--color-primary-active-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%) !important;
  border: var(--color-primary-active-background-border) 1px solid !important;
  color: var(--color-primary-active-foreground) !important;
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px !important;
}

.whmcs-templatefile-store\/codeguard\/index .whmcscontainer .landing-page.codeguard .faqs {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-box-foreground);
}

/* Website Security */
.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans h2,
.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans h3 {
  color: var(--color-secondary-foreground);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border: var(--color-box-active-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  color: var(--color-box-active-foreground);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan .header {
  background: var(--color-box-active-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-head-background-gradient-top) 0, var(--color-box-active-head-background-gradient-bottom) 100%);
  border-bottom: var(--color-box-active-head-background-border) 1px solid;
  color: var(--color-box-active-head-foreground);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan .header h4,
.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan .header p {
  color: var(--color-box-active-head-foreground);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan .header h4 {
  font-weight: bold;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan ul li {
  color: var(--color-box-active-foreground);
  border-color: var(--color-box-active-background-divider);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan ul li span {
  color: var(--color-box-active-foreground);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan .btn {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .plans .plan .btn:hover {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  border: var(--color-primary-active-background-border) 1px solid;
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .features .fas,
.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .features .far {
  color: var(--color-secondary-background);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .emergency {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
  padding: 80px 20px;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .emergency h2.text-danger {
  color: var(--color-box-foreground-bold) !important;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .emergency h3 {
  color: var(--color-box-foreground);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock h4 {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .emergency .fas,
.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .emergency .far {
  color: var(--color-box-active-foreground-bold);
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .emergency .btn {
  background: var(--color-primary-background) !important;
  border: var(--color-primary-background-border) 1px solid !important;
  color: var(--color-primary-foreground) !important;
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px !important;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .emergency .btn:hover {
  background: var(--color-primary-active-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%) !important;
  border: var(--color-primary-active-background-border) 1px solid !important;
  color: var(--color-primary-active-foreground) !important;
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px !important;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .landing-page.sitelock .faq .accordion {
  border: none;
  padding: 0;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .card .card-header h4 {
  color: var(--color-box-head-foreground) !important;
}

.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .accordion > .card:not(:last-of-type),
.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .accordion > .mc-promo-login:not(:last-of-type),
.whmcs-templatefile-store\/sitelock\/index .whmcscontainer .accordion > .mc-promo-manage:not(:last-of-type) {
  border-bottom: var(--color-box-background-border) var(--border-bottom-width) solid;
}

/* Email Security */
.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page.mail-services .product-options {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page.mail-services .product-options .item {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .product-options h4,
.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .product-options i {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page.mail-services .product-options .price {
  color: var(--color-primary-background);
  font-weight: bold;
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .product-options .item .btn {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  border: var(--color-secondary-background-border) 1px solid;
  color: var(--color-secondary-foreground);
  text-shadow: var(--color-secondary-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .product-options .item .btn:hover {
  background: var(--color-secondary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-active-background-gradient-top) 0, var(--color-secondary-active-background-gradient-bottom) 100%);
  border: var(--color-secondary-active-background-border) 1px solid;
  color: var(--color-secondary-active-foreground);
  text-shadow: var(--color-secondary-active-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page.mail-services .product-options .btn-buy {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page.mail-services .product-options .btn-buy:hover {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  border: var(--color-primary-active-background-border) 1px solid;
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .light-grey-bg {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-body);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .tab-content {
  padding: 0;
  background-color: transparent;
  color: var(--color-box-foreground);
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page.mail-services .benefits {
  background-color: transparent;
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .get-started {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  color: var(--color-box-active-foreground);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .get-started h2,
.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .get-started h4,
.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .get-started .price {
  color: var(--color-box-active-foreground-bold);
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .faq h3 {
  color: var(--color-heading);
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .get-started .btn-order-now {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-store\/spamexperts\/index .whmcscontainer .landing-page .get-started .btn-order-now:hover {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  border: var(--color-primary-active-background-border) 1px solid;
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
}

/* SEO Tools */
.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .video-banner {
  background-color: #46b7fb;
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .plan ul {
  border-top-color: var(--color-border);
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .plan.labels ul li {
  border-right-color: var(--color-border);
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .plan ul li {
  border-bottom-color: var(--color-border);
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .plan.marketgoo_pro .header h4 {
  color: var(--color-primary-background);
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .plan .header .best-value {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  color: var(--color-primary-foreground);
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .plan.marketgoo_pro ul {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  color: var(--color-box-active-foreground);
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .testimonials .testimonial {
  color: var(--color-body);
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .carousel .carousel-indicators li {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
}

.whmcs-templatefile-store\/marketgoo\/index .whmcscontainer .landing-page.marketgoo .faqs {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-radius: var(--border-radius);
}

/* Professional Email */
.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .header {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .header h1 {
  color: var(--color-secondary-foreground);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .stand-out {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-box-foreground);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .stand-out h2 {
  color: var(--color-box-foreground-bold);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox h3 {
  color: var(--color-primary-background);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .faqs {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-box-foreground);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .pricing table {
  color: var(--color-box-foreground);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .pricing table tr:nth-child(2n) td:first-child {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .pricing td:not(.no-border),
.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .pricing th {
  border-color: var(--color-box-background-border);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .pricing .pricing-label {
  color: var(--color-heading);
}

.whmcs-templatefile-store\/ox\/index .whmcscontainer .landing-page.ox .pricing th {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  color: var(--color-box-head-foreground);
}

/* Site Builder */
.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .bold-line {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .hero {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .intro {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-box-foreground);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .nav-tabs > li > a {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  color: var(--color-box-foreground-bold);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .nav-tabs > li > a:hover,
.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .nav-tabs > li > a.active {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  color: var(--color-box-active-foreground-bold);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .features p {
  color: var(--color-body);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .templates {
  border-top-color: var(--color-border);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .templates .previews img,
.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .templates .previews .show-more div {
  border-color: var(--color-border);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .templates .previews .tplname {
  color: var(--color-heading);
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .pricing {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  height: 893px;
}

.whmcs-templatefile-store\/sitebuilder\/index .whmcscontainer .landing-page.sitebuilder .pricing h2, .landing-page.sitebuilder .pricing p {
  color: var(--color-secondary-foreground);
}

/* Cart - Standard Cart */
.whmcs-filename-cart #order-standard_cart label {
  color: var(--color-body);
  font-size: 1em;
  font-weight: normal;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart {
  font-size: 1em; /* Unset pixel font */
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .cart-sidebar { /* Remove sidebar */
  display: none !important;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .cart-body {
  width: 100%;
  float: none;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .sidebar-collapsed { /* Remove mobile categories */
  display: none;
}

.whmcs-templatefile-domainrenew.whmcs-filename-cart .whmcscontainer #order-standard_cart.domain-renewals-show-sidebar .cart-sidebar,
.whmcs-templatefile-domainrenewals.whmcs-filename-cart .whmcscontainer #order-standard_cart.domain-renewals-show-sidebar .cart-sidebar {
  display: block !important;
}

.whmcs-templatefile-domainrenew.whmcs-filename-cart .whmcscontainer #order-standard_cart.domain-renewals-show-sidebar .cart-body,
.whmcs-templatefile-domainrenewals.whmcs-filename-cart .whmcscontainer #order-standard_cart.domain-renewals-show-sidebar .cart-body {
  width: 75%;
  float: right;
}

.whmcs-templatefile-domainrenew.whmcs-filename-cart .whmcscontainer #order-standard_cart.domain-renewals-show-sidebar .sidebar-collapsed,
.whmcs-templatefile-domainrenewals.whmcs-filename-cart .whmcscontainer #order-standard_cart.domain-renewals-show-sidebar .sidebar-collapsed {
  display: none;
}

@media only screen and (max-width: 1199px) {
  .whmcs-templatefile-domainrenew.whmcs-filename-cart .whmcscontainer #order-standard_cart.domain-renewals-show-sidebar .cart-sidebar,
  .whmcs-templatefile-domainrenewals.whmcs-filename-cart .whmcscontainer #order-standard_cart.domain-renewals-show-sidebar .cart-sidebar {
    display: none !important;
  }
  .whmcs-templatefile-domainrenew.whmcs-filename-cart .whmcscontainer #order-standard_cart.domain-renewals-show-sidebar .cart-body,
  .whmcs-templatefile-domainrenewals.whmcs-filename-cart .whmcscontainer #order-standard_cart.domain-renewals-show-sidebar .cart-body {
    width: 100%;
    float: none;
  }
  .whmcs-templatefile-domainrenew.whmcs-filename-cart .whmcscontainer #order-standard_cart.domain-renewals-show-sidebar .sidebar-collapsed,
  .whmcs-templatefile-domainrenewals.whmcs-filename-cart .whmcscontainer #order-standard_cart.domain-renewals-show-sidebar .sidebar-collapsed {
    display: block;
  }
}
.whmcs-filename-cart .whmcscontainer #order-standard_cart .font-size-36 { /* H1 */
  font-size: 2em;
  position: relative;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .font-size-36::before {
  content: "";
  position: absolute;
  bottom: -10px;
  width: 40px;
  height: 2px;
  background: url("../images/heading-background.png") left top no-repeat;
  text-align: center;
}

/* Subheading */
.whmcs-filename-cart .whmcscontainer #order-standard_cart .sub-heading,
.whmcs-filename-cart .whmcscontainer #order-standard_cart .sub-heading-borderless {
  height: auto;
  border: none;
  margin: 0;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .sub-heading span,
.whmcs-filename-cart .whmcscontainer #order-standard_cart .sub-heading-borderless span {
  display: block;
  position: static;
  padding: 0;
  font-size: 1.5em;
  line-height: 1.2em;
  text-transform: capitalize;
  color: var(--color-black);
  font-weight: bold;
  margin: 0 0 var(--spacing-child) 0;
  font-family: var(--font-heading);
  text-align: center;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .addon-promo-container {
  border-color: var(--color-border);
  border-radius: var(--border-radius);
}

/* Order Summary */
.whmcs-filename-cart .whmcscontainer #order-standard_cart .order-summary {
  margin: 0 0 20px 0;
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  border: var(--color-box-head-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .order-summary,
.whmcs-filename-cart .whmcscontainer #order-standard_cart #orderSummary {
  margin-top: 0 !important; /* Stops the scroll effect which is too buggy to keep active */
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .order-summary h2 {
  padding: 15px;
  color: var(--color-box-head-foreground);
  font-size: 1.4em;
  font-weight: bold;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .summary-container {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-radius: 0;
  padding: var(--spacing-inner);
  font-size: 0.9em;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .order-summary .summary-totals {
  border-top: var(--color-box-background-divider) 1px solid;
  border-bottom: var(--color-box-background-divider) 1px solid;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .order-summary .loader {
  top: 15px;
  color: var(--color-box-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .order-summary .btn-continue-shopping {
  color: var(--color-box-foreground);
}

/* Product Info */
.whmcs-filename-cart .whmcscontainer #order-standard_cart .product-info {
  margin: 0 0 var(--spacing-child) 0;
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  padding: var(--spacing-child);
  color: var(--color-box-foreground);
  border-radius: var(--border-radius);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .product-info .product-title {
  color: var(--color-box-foreground-bold);
  font-weight: bold;
  margin-bottom: 15px;
}

/* Addons */
.whmcs-filename-cart .whmcscontainer #order-standard_cart .panel-addon {
  font-size: 0.9em;
  border-bottom-width: 0;
  color: var(--color-box-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .panel-addon .panel-body {
  border-radius: 0;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .panel-addon .panel-body label {
  font-size: 1.2em;
  color: var(--color-box-foreground-bold);
  text-transform: capitalize;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .panel-addon .panel-price {
  padding: 5px var(--spacing-inner);
  background: var(--color-box-footer-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-footer-background-gradient-top) 0, var(--color-box-footer-background-gradient-bottom) 100%);
  border-top: var(--color-box-footer-background-border) 1px solid;
  color: var(--color-box-footer-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .panel-addon .panel-add {
  padding: 5px var(--spacing-inner);
  border-radius: 0;
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
  font-weight: bold;
  text-transform: capitalize;
  border-bottom: var(--color-primary-border) 3px solid;
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

/* Selected */
.whmcs-filename-cart .whmcscontainer #order-standard_cart .panel-addon-selected {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border-color: var(--color-box-active-border);
  color: var(--color-box-active-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .panel-addon-selected .panel-add {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .panel-addon-selected .panel-price {
  background: var(--color-box-active-footer-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-footer-background-gradient-top) 0, var(--color-box-active-footer-background-gradient-bottom) 100%);
  border-top: var(--color-box-active-footer-background-border) 1px solid;
  color: var(--color-box-active-footer-foreground);
}

/* Domain Select - Used when ordering a product with domain - also styles the table/results on domainregister.tpl */
.whmcs-filename-cart .whmcscontainer #order-standard_cart .domain-selection-options .option {
  margin-bottom: 15px;
  padding: var(--spacing-inner);
  border-radius: 0;
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .domain-selection-options .option-selected {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border: var(--color-box-active-background-border) 1px solid;
  color: var(--color-box-active-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .domain-selection-options .option label {
  margin-bottom: 0;
  font-size: 1em;
  font-weight: normal;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .domain-selection-options .option-selected label {
  font-weight: bold;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .domain-input-group {
  margin: 20px 0 0 0;
}

/* Domain Results */
.whmcs-filename-cart .whmcscontainer #order-standard_cart .domain-checker-available {
  color: var(--color-primary-background);
  margin-bottom: 10px;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .spotlight-tlds {
  padding: 0;
  background-color: transparent;
  margin: 15px 0 var(--spacing-child) 0;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .spotlight-tld-container-2 {
  width: 33.33%;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .spotlight-tld {
  height: auto;
  padding: var(--spacing-inner);
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .spotlight-tld .spotlight-tld-sale,
.whmcs-filename-cart .whmcscontainer #order-standard_cart .spotlight-tld .spotlight-tld-hot,
.whmcs-filename-cart .whmcscontainer #order-standard_cart .spotlight-tld .spotlight-tld-new {
  width: 105px;
  top: 2px;
  right: -34px;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .spotlight-tld .btn:not(.domain-contact-support) {
  border-radius: var(--border-radius);
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border-color: var(--color-primary-background-border);
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
  font-weight: bold;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .suggested-domains .panel-heading {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  border: var(--color-box-head-background-border) 1px solid;
  border-bottom-width: 1px;
  font-weight: bold;
  text-align: center;
  color: var(--color-box-head-foreground);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .suggested-domains .list-group-item {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-top: none;
  color: var(--color-box-foreground);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .suggested-domains .list-group-item .extension {
  color: var(--color-box-foreground-bold);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .suggested-domains .list-group-item .price {
  color: var(--color-box-foreground-bold);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .suggested-domains .list-group-item .btn:not(.domain-contact-support) {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
  border-radius: var(--border-radius);
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .suggested-domains .list-group-item .btn:not(.domain-contact-support):hover {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  border: var(--color-primary-active-background-border) 1px solid;
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
}

.whmcs-filename-cart .whmcscontainer #order-standard_cart .suggested-domains .card-footer {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

/* Configure Domains (configuredomains.tpl) */
.whmcs-templatefile-configuredomains .whmcscontainer #order-standard_cart .addon-products {
  margin-bottom: var(--spacing-child);
  border-bottom: var(--color-border) 1px solid;
}

.whmcs-templatefile-configuredomains .whmcscontainer #order-standard_cart .addon-products .panel {
  margin-bottom: var(--spacing-child);
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: 0;
  color: var(--color-box-foreground);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-configuredomains .whmcscontainer #order-standard_cart .addon-products .panel .panel-body {
  padding: var(--spacing-inner);
}

/* Configure Product (configureproduct.tpl) */
.whmcs-templatefile-configureproduct .whmcscontainer #order-standard_cart #inputBillingcycle {
  width: 100%;
}

/* Configure Product Store (store/order) */
.whmcs-templatefile-store\/order .whmcscontainer .btn-default {
  display: none;
}

.whmcs-templatefile-store\/order .whmcscontainer .card.mt-5 {
  display: none;
}

.whmcs-templatefile-store\/order .whmcscontainer .store-promoted-product {
  display: none;
}

.whmcs-templatefile-store\/order .whmcscontainer .store-order-container .nav-tabs {
  border-color: var(--color-border);
}

.whmcs-templatefile-store\/order .whmcscontainer .store-order-container .nav-tabs .nav-link.active {
  border-color: var(--color-border) var(--color-border) #fff;
}

.whmcs-templatefile-store\/order .whmcscontainer .store-order-container .store-domain-tab-content {
  border-color: var(--color-border);
}

/* Products (products.tpl) */
.whmcs-templatefile-products .whmcscontainer #order-standard_cart .products .product {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border-color: var(--color-box-background-border);
  border-bottom-width: var(--border-bottom-width);
  border-radius: var(--border-radius);
  color: var(--color-box-foreground);
  padding: 0;
}

.whmcs-templatefile-products .whmcscontainer #order-standard_cart .products .product header {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  border-bottom: var(--color-box-head-background-border) 1px solid;
  margin: 0 0 5px 0;
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.whmcs-templatefile-products .whmcscontainer #order-standard_cart .products .product header span {
  color: var(--color-box-head-foreground);
}

.whmcs-templatefile-products .whmcscontainer #order-standard_cart .products .product div.product-desc {
  font-size: 1em;
}

/* Hover */
.whmcs-templatefile-products .whmcscontainer #order-standard_cart .products .product:hover {
  background: var(--color-box-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-background-gradient-top) 0, var(--color-box-active-background-gradient-bottom) 100%);
  border-color: var(--color-box-active-background-border);
  color: var(--color-box-active-foreground);
}

.whmcs-templatefile-products .whmcscontainer #order-standard_cart .products .product:hover header {
  background: var(--color-box-active-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-active-head-background-gradient-top) 0, var(--color-box-active-head-background-gradient-bottom) 100%);
  border-color: var(--color-box-active-head-background-border);
}

.whmcs-templatefile-products .whmcscontainer #order-standard_cart .products .product:hover header span {
  color: var(--color-box-active-head-foreground);
}

/* Register Domain (domain-pricing.tpl) */
.whmcs-templatefile-domain-pricing .whmcscontainer .featured-tld {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  margin-bottom: var(--spacing-child);
  box-shadow: var(--shadow);
}

.whmcs-templatefile-domain-pricing .whmcscontainer .tld-filters a {
  padding: 10px;
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  border: var(--color-secondary-background-border) 1px solid;
  color: var(--color-secondary-foreground);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-domain-pricing .whmcscontainer .tld-filters a.badge-success {
  background: var(--color-secondary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-active-background-gradient-top) 0, var(--color-secondary-active-background-gradient-bottom) 100%);
  border-color: var(--color-secondary-active-background-border);
  color: var(--color-secondary-active-foreground);
}

/* Domain Register (domainregister.tpl) */
.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-checker-container {
  background: var(--background-banner) url("../images/background5.jpg") center center no-repeat;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-checker-container .input-group-box {
  border-radius: 0;
  background-color: transparent;
  padding: 0;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-checker-container .input-group-lg > .form-control {
  border-radius: var(--border-radius) 0 0 var(--border-radius);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-checker-bg {
  padding: var(--spacing-parent) 0;
  background-image: none;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .featured-tld {
  margin: 0 0 var(--spacing-child) 0;
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: 0;
  box-shadow: none;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .featured-tld .img-container img {
  display: inline;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .featured-tld .price {
  padding: 5px var(--spacing-inner);
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
  font-weight: bold;
  text-transform: capitalize;
  border-bottom: var(--color-primary-background-border) 3px solid;
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .font-size-18 {
  font-size: 1.7em;
  line-height: 1.2em;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .tld-filters a {
  padding: 13px 20px;
  color: var(--color-secondary-foreground);
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  border: var(--color-secondary-background-border) 1px solid;
  margin: 8px 5px 8px 0;
  font-weight: bold;
  font-size: 1.1em;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .tld-filters a.badge-success { /* Active button */
  color: var(--color-secondary-active-foreground);
  background: var(--color-secondary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-active-background-gradient-top) 0, var(--color-secondary-active-background-gradient-bottom) 100%);
  border-color: var(--color-secondary-active-background-border);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .bg-white {
  margin-bottom: var(--spacing-child);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  background: var(--color-box-background) !important;
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%) !important;
  color: var(--color-box-foreground);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-pricing .tld-pricing-header div:nth-child(2n+1),
.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-pricing .tld-pricing-header .col-xs-4 {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  color: var(--color-box-head-foreground);
  border: none;
  border-radius: 0;
  font-weight: bold;
  padding: 5px 0;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-pricing .two-row-center {
  border: none !important;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-pricing .tld-row {
  padding: 8px 0;
  border-bottom: var(--color-box-background-divider) 1px solid;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-pricing .tld-row.highlighted {
  background: transparent;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-promo-box {
  margin: 0 0 var(--spacing-child) 0;
  padding: var(--spacing-inner);
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  color: var(--color-box-foreground);
  border-radius: var(--border-radius);
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-promo-box h3 {
  font-size: 1.8em;
  line-height: 1.1em;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-promo-box h3,
.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-promo-box p {
  margin: 0 0 15px 0;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-promo-box p {
  font-size: 1em;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-promo-box .small {
  margin: 15px 0 0 0;
}

.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-promo-box .text-primary,
.whmcs-templatefile-domainregister .whmcscontainer #order-standard_cart .domain-promo-box .text-warning {
  color: var(--color-primary-background) !important;
}

/* Domain Transfer (domaintransfer.tpl) */
.whmcs-templatefile-domaintransfer .whmcscontainer #order-standard_cart .font-size-36,
.whmcs-templatefile-domaintransfer .whmcscontainer #order-standard_cart .font-size-30 {
  display: none;
}

.whmcs-templatefile-domaintransfer .whmcscontainer #order-standard_cart p {
  margin-bottom: 0;
}

/* Knowledgebase style */
.whmcs-templatefile-knowledgebasearticle .mainmain article ul li {
  padding: 7px 0 7px 0;
  list-style: disc inside;
}

.whmcs-templatefile-knowledgebasearticle .mainmain article ol li {
  padding: 7px 0 7px 0;
  list-style: numberd inside;
}

.whmcs-templatefile-knowledgebasearticle .mainmain article table td {
  border: #000 1px solid;
  padding: 5px;
}

/* View Cart (viewcart.tpl) */
.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .view-cart-items-header {
  padding: 15px 15px;
  color: var(--color-box-head-foreground);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
  border: var(--color-box-head-background-border) 1px solid;
  border-bottom-width: 0;
  font-weight: bold;
  font-size: 1em;
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .view-cart-items {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  color: var(--color-box-foreground);
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .view-cart-items .item {
  background: transparent;
  border-bottom: var(--color-box-background-divider) 1px solid;
  padding: var(--spacing-inner);
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .view-cart-items .item:last-child {
  border-bottom: none;
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .view-cart-items .item-title {
  color: var(--color-box-foreground-bold);
  font-weight: bold;
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .view-cart-items .item-domain {
  color: var(--color-primary-background);
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .empty-cart {
  margin: 0 0 var(--spacing-child) 0;
  text-align: center;
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .empty-cart .btn {
  background: var(--color-secondary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-background-gradient-top) 0, var(--color-secondary-background-gradient-bottom) 100%);
  border: var(--color-secondary-background-border) 1px solid;
  color: var(--color-secondary-foreground);
  text-shadow: var(--color-secondary-foreground-shadow) 1px 1px;
  border-radius: var(--border-radius);
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .empty-cart .btn:hover {
  background: var(--color-secondary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-secondary-active-background-gradient-top) 0, var(--color-secondary-active-background-gradient-bottom) 100%);
  border-color: var(--color-secondary-active-background-border);
  color: var(--color-secondary-active-foreground);
  text-shadow: var(--color-secondary-active-foreground-shadow) 1px 1px;
  text-decoration: none;
}

/* Checkout (viewcart.tpl - even on the checkout page) */
.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .checkout-security-msg {
  display: none;
}

.whmcs-templatefile-viewcart .whmcscontainer #order-standard_cart .field-container {
  margin-bottom: 0;
}

.whmcs-templatefile-viewcart #order-standard_cart .cc-input-container {
  padding: 0;
  background-color: transparent;
  margin-top: var(--spacing-child);
  padding-top: var(--spacing-child);
  border: unset;
  border-top: var(--color-border) 1px solid;
  border-radius: 0;
}

.whmcs-templatefile-viewcart #order-standard_cart .account-select-container {
  border: none;
}

.whmcs-templatefile-viewcart #order-standard_cart .account-select-container div.account.border-bottom {
  border: none !important;
}

.whmcs-templatefile-viewcart #order-standard_cart .account-select-container div.account {
  padding: 0;
  border: none;
  margin-bottom: 15px;
}

.whmcs-templatefile-viewcart #order-standard_cart .account-select-container div.account.active {
  background: transparent;
}

.whmcs-templatefile-viewcart #order-standard_cart #containerNewUserSecurity {
  margin-top: 15px;
}

.whmcs-templatefile-viewcart #order-standard_cart .marketing-email-optin {
  margin-bottom: var(--spacing-child);
}

/* Cart - Premium Comparison */
.whmcs-templatefile-products #order-premium_comparison .price-table-container ul li {
  background-image: none;
}

.whmcs-templatefile-products #order-premium_comparison .price-table-container .price-table {
  background: var(--color-box-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-background-gradient-top) 0, var(--color-box-background-gradient-bottom) 100%);
  border: var(--color-box-background-border) 1px solid;
  border-bottom-width: var(--border-bottom-width);
  color: var(--color-box-foreground);
  border-radius: var(--border-radius);
  box-shadow: none;
}

.whmcs-templatefile-products #order-premium_comparison .price-table-container .price-table .top-head {
  background: var(--color-box-head-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-head-background-gradient-top) 0, var(--color-box-head-background-gradient-bottom) 100%);
}

.whmcs-templatefile-products #order-premium_comparison .price-table-container .price-table .top-head .top-area h4 {
  color: var(--color-box-head-foreground);
  text-shadow: var(--color-box-head-foreground-shadow) 1px 1px;
}

.whmcs-templatefile-products #order-premium_comparison .price-table-container .price-table .top-head .top-area {
  border-bottom: var(--color-box-head-background-border) 1px solid;
}

.whmcs-templatefile-products #order-premium_comparison .price-table-container .price-table .top-head .price-area {
  background: var(--color-box-footer-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-box-footer-background-gradient-top) 0, var(--color-box-footer-background-gradient-bottom) 100%);
  border-top: none;
  border-bottom: var(--color-box-footer-background-border) 1px solid;
  color: var(--color-box-footer-foreground);
  text-shadow: var(--color-box-footer-foreground-shadow);
}

.whmcs-templatefile-products #order-premium_comparison .price-table-container .order-button {
  background: var(--color-primary-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-background-gradient-top) 0, var(--color-primary-background-gradient-bottom) 100%);
  border: var(--color-primary-background-border) 1px solid;
  color: var(--color-primary-foreground);
  text-shadow: var(--color-primary-foreground-shadow) 1px 1px;
  border-radius: var(--border-radius);
  box-shadow: none;
  font-weight: bold;
}

.whmcs-templatefile-products #order-premium_comparison .price-table-container .order-button:hover {
  background: var(--color-primary-active-background);
  background: linear-gradient(var(--gradient-degrees), var(--color-primary-active-background-gradient-top) 0, var(--color-primary-active-background-gradient-bottom) 100%);
  border: var(--color-primary-active-background-border) 1px solid;
  color: var(--color-primary-active-foreground);
  text-shadow: var(--color-primary-active-foreground-shadow) 1px 1px;
  border-radius: var(--border-radius);
  box-shadow: none;
  font-weight: bold;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2Zvc3NiaWxsaW5nLWJ1bmRsZS41YTI5NjUuY3NzIiwibWFwcGluZ3MiOiI7OztBQUFBO3FIQUFBO0FBR0E7Ozs7Ozs7Ozs7Q0FBQTtBQVlBO0FBRUE7RUFDQztFQUNBO0FBRkQ7O0FBS0E7RUFDQztBQUZEOztBQUtBO0VBQ0M7QUFGRDs7QUFLQTtFQUNDO0FBRkQ7O0FBS0E7RUFDQztBQUZEOztBQUtBO0VBQ0M7RUFDQTtBQUZEOztBQUtBO0VBQ0M7RUFDQTtFQUNBO0FBRkQ7O0FBS0E7RUFDQztBQUZEOztBQUtBO0VBQ0M7QUFGRDs7QUFLQTtFQUNDO0FBRkQ7O0FBS0E7QUFFQTs7OztFQUlDO0FBSEQ7O0FBTUE7RUFDQztBQUhEOztBQU1BO0FBRUE7Ozs7RUFJQztBQUpEOztBQU9BO0VBQ0M7RUFDQTtFQUNBO0FBSkQ7O0FBT0E7RUFDQztBQUpEOztBQU9BO0FBRUE7RUFDSTtBQUxKOztBQVFBO0VBQ0M7QUFMRDs7QUFRQTtBQUVBO0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CQztBQVJEOztBQVdBO0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkM7RUFDQTtBQVREOztBQVlBO0FBRUE7RUFDQztFQUNBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQVZKOztBQWFBO0VBQ0M7RUFDQTtFQUNBO0FBVkQ7O0FBYUE7O0VBRUM7QUFWRDs7QUFhQTtFQUNDO0FBVkQ7O0FBYUE7RUFDQztBQVZEOztBQWFBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQVZEOztBQWFBO0FBRUE7RUFDQztBQVhEOztBQWNBO0VBQ0M7QUFYRDs7QUFjQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFYRDs7QUFjQTtFQUNDO0VBQ0E7QUFYRDs7QUFjQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBWEQ7O0FBY0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBQVhEOztBQWNBO2dGQUNnRjtFQUMvRTtBQVhEOztBQWNBO0VBQ0M7RUFDQTtBQVhEOztBQWNBO0VBQ0M7QUFYRDs7QUFjQTtBQUVBOzs7Ozs7RUFNQztBQVpEOztBQWVBO0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBQWJEOztBQWdCQTtFQUNDO0FBYkQ7O0FBZ0JBO0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFkRDs7QUFpQkE7QUFFQTs7OztFQUlDO0VBQ0E7QUFmRDs7QUFrQkE7O0VBRUM7QUFmRDs7QUFrQkE7RUFDQztFQUNBO0VBQ0E7QUFmRDs7QUFrQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBQWZEOztBQWtCQTs7RUFFQztBQWZEOztBQWtCQTtFQUNDO0FBZkQ7O0FBa0JBOztFQUVDO0VBQ0E7QUFmRDs7QUFrQkE7RUFDQztFQUNBO0FBZkQ7O0FBa0JBO0FBRUE7RUFDQztBQWhCRDs7QUFtQkE7O0VBRUM7QUFoQkQ7O0FBbUJBO0VBQ0M7RUFDQTtFQUNBO0FBaEJEOztBQW1CQTs7Ozs7OztFQU9DO0VBQ0E7RUFDQTtBQWhCRDs7QUFtQkE7RUFDQztFQUNBO0FBaEJEOztBQW1CQTtBQUVBO0VBQ0M7RUFDQTtBQWpCRDs7QUFvQkE7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBbEJEOztBQXFCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWxCRDs7QUFxQkE7O0VBRUM7RUFDQTtBQWxCRDs7QUFxQkE7RUFDQztFQUNBO0VBQ0E7QUFsQkQ7O0FBcUJBO0FBRUE7RUFDQztBQW5CRDs7QUFzQkE7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFwQkQ7O0FBdUJBO0VBQ0M7QUFwQkQ7O0FBdUJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBcEJEOztBQXVCQTtFQUNDO0FBcEJEOztBQXVCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFwQkQ7O0FBdUJBO0FBRUE7RUFDQztBQXJCRDs7QUF3QkE7RUFDQztBQXJCRDs7QUF3QkE7RUFDQztFQUNBO0VBQ0E7QUFyQkQ7O0FBd0JBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBckJEOztBQXdCQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtBQXJCRDs7QUF3QkE7QUFFQTtFQUNDO0FBdEJEOztBQXlCQTtBQUVBO0VBQ0M7QUF2QkQ7O0FBMEJBO0VBQ0M7RUFDQTtBQXZCRDs7QUEwQkE7RUFDQztFQUNBO0VBQ0c7RUFDQTtBQXZCSjs7QUEwQkE7RUFDQztFQUNBO0FBdkJEOztBQTBCQTtBQUVBO0VBQ0M7RUFDQTtFQUNBO0FBeEJEOztBQTJCQTtFQUNDO0VBQ0E7RUFDQTtBQXhCRDs7QUEyQkE7RUFDQztBQXhCRDs7QUEyQkE7RUFDQztBQXhCRDs7QUEyQkE7RUFDQztBQXhCRDs7QUEyQkE7RUFDQztFQUNBO0VBQ0E7QUF4QkQ7O0FBMkJBO0VBRUM7SUFDQztFQXpCQTtBQUNGO0FBNkJBO0FBRUE7Ozs7Ozs7Ozs7OztFQVlDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE1QkQ7O0FBK0JBOzs7OztFQUtDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE1QkQ7O0FBK0JBO0FBRUE7Ozs7Ozs7OztFQVNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE3QkQ7O0FBZ0NBOzs7O0VBSUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTdCRDs7QUFnQ0E7QUFFQTs7Ozs7Ozs7Ozs7RUFXQztFQUNBO0FBOUJEOztBQWlDQTs7Ozs7Ozs7Ozs7RUFXQztBQTlCRDs7QUFpQ0E7Ozs7OztFQU1DO0VBQ0E7RUFDQTtBQTlCRDs7QUFpQ0E7RUFFQzs7Ozs7SUFLQztJQUNBO0VBL0JBO0FBQ0Y7QUFtQ0E7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWxDRDs7QUFxQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBQWxDRDs7QUFxQ0E7RUFDQztBQWxDRDs7QUFxQ0E7QUFFQTtFQUNDO0FBbkNEOztBQXNDQTtFQUNDO0FBbkNEOztBQXNDQTtBQUVBO0VBQ0M7QUFwQ0Q7O0FBdUNBO0FBRUE7RUFDQztFQUNBO0VBQ0E7QUFyQ0Q7O0FBd0NBO0VBQ0M7QUFyQ0Q7O0FBd0NBO0VBQ0M7QUFyQ0Q7O0FBd0NBO0VBQ0M7QUFyQ0Q7O0FBd0NBO0VBQ0M7RUFDQTtBQXJDRDs7QUF5Q0E7RUFDQztFQUNBO0FBdENEOztBQXlDQTtFQUNDO0VBQ0E7QUF0Q0Q7O0FBeUNBO0FBRUE7RUFDQztBQXZDRDs7QUEwQ0E7RUFDQztFQUNBO0FBdkNEOztBQTBDQTtFQUNDO0FBdkNEOztBQTBDQTtFQUNDO0FBdkNEOztBQTBDQTtFQUNJO0VBQ0E7RUFDQTtBQXZDSjs7QUEwQ0E7QUFFQTtFQUNDO0FBeENEOztBQTJDQTtFQUNDO0VBQ0E7QUF4Q0Q7O0FBMkNBO0VBQ0M7RUFDQTtFQUNBO0FBeENEOztBQTJDQTtFQUNDO0FBeENEOztBQTJDQTtFQUNDO0FBeENEOztBQTJDQTtBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBekNEOztBQTRDQTs7O0VBR0M7QUF6Q0Q7O0FBNENBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXpDRDs7QUE0Q0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXpDRDs7QUE0Q0E7QUFFQTtFQUNDO0VBQ0E7QUExQ0Q7O0FBNkNBO0FBRUE7RUFDQztBQTNDRDs7QUE4Q0E7RUFDQztBQTNDRDs7QUE4Q0E7RUFDQztBQTNDRDs7QUE4Q0E7O0VBRUM7QUEzQ0Q7O0FBOENBO0FBRUE7RUFDQztFQUNBO0FBNUNEOztBQStDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTVDRDs7QUErQ0E7RUFDQztFQUNBO0VBQ0E7QUE1Q0Q7O0FBK0NBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QUE1Q0Q7O0FBK0NBO0VBQ0M7RUFDQTtFQUNBO0FBNUNEOztBQStDQTtFQUNDO0FBNUNEOztBQStDQTtFQUNDO0FBNUNEOztBQStDQTtFQUNDO0VBQ0E7QUE1Q0Q7O0FBK0NBOztFQUVDO0FBNUNEOztBQStDQTtFQUNJO0VBQ0E7QUE1Q0o7O0FBK0NBO0VBQ0k7QUE1Q0o7O0FBK0NBO0VBQ0k7RUFDQTtFQUNBO0FBNUNKOztBQStDQTtFQUNDO0VBQ0E7QUE1Q0Q7O0FBK0NBO0FBRUE7RUFDQztBQTdDRDs7QUFnREE7QUFFQTtFQUNDO0FBOUNEOztBQWlEQTtBQUVBO0VBQ0k7RUFDQTtBQS9DSjs7QUFrREE7RUFDSTtBQS9DSjs7QUFrREE7QUFFQTtFQUNDO0FBaEREOztBQW1EQTtBQUVBO0VBQ0M7QUFqREQ7O0FBb0RBO0VBQ0k7RUFDQTtBQWpESjs7QUFvREE7RUFDQztBQWpERDs7QUFvREE7RUFDQztFQUNBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QUFqREo7O0FBb0RBO0VBQ0M7RUFDQTtFQUNBO0FBakREOztBQW9EQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBakREOztBQW9EQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBakREOztBQW9EQTtFQUNDO0VBQ0E7QUFqREQ7O0FBb0RBO0VBQ0M7QUFqREQ7O0FBb0RBO0VBQ0M7RUFDQTtBQWpERDs7QUFvREE7QUFFQTtFQUNJO0VBQ0E7QUFsREo7O0FBcURBO0VBQ0M7QUFsREQ7O0FBcURBO0VBQ0M7QUFsREQ7O0FBcURBO0VBQ0M7QUFsREQ7O0FBcURBO0VBQ0M7QUFsREQ7O0FBcURBO0VBQ0M7QUFsREQ7O0FBcURBO0FBRUE7RUFDQztBQW5ERDs7QUFzREE7RUFDQztFQUNBO0FBbkREOztBQXNEQTtFQUNJO0FBbkRKOztBQXNEQTtFQUNJO0FBbkRKOztBQXNEQTtFQUNJO0FBbkRKOztBQXFEQTtFQUNJO0FBbERKOztBQXFEQTtFQUNJO0VBQ0g7RUFDQTtBQWxERDs7QUFxREE7RUFDQztBQWxERDs7QUFxREE7RUFDQztBQWxERDs7QUFxREE7RUFDQztBQWxERDs7QUFxREE7QUFFQTtFQUNDO0FBbkREOztBQXNEQTs7Ozs7Ozs7O0VBU0M7QUFuREQ7O0FBc0RBOztFQUVJO0FBbkRKOztBQXNEQTtBQUVBO0VBQ0M7RUFDQTtBQXBERDs7QUF1REE7O0VBR0k7QUFyREo7O0FBd0RBO0VBQ0k7RUFDQTtBQXJESjs7QUF3REE7RUFDQztBQXJERDs7QUF3REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFyREQ7O0FBd0RBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBckREOztBQXdEQTtFQUNDO0FBckREOztBQXdEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBckREOztBQXdEQTtFQUNDO0FBckREOztBQXdEQTtFQUNDO0VBQ0E7QUFyREQ7O0FBd0RBO0VBQ0M7QUFyREQ7O0FBd0RBO0VBQ0M7RUFDQTtBQXJERDs7QUF3REE7RUFDQztFQUNBO0VBQ0c7RUFDQTtFQUNBO0FBckRKOztBQXdEQTtFQUNJO0FBckRKOztBQXdEQTtFQUNDO0VBQ0E7RUFDQTtBQXJERDs7QUF3REE7RUFDQztBQXJERDs7QUF3REE7RUFDSTtBQXJESjs7QUF3REE7QUFFQTtFQUNDO0FBdEREOztBQXlEQTtFQUNDO0VBQ0E7RUFDRztFQUNBO0FBdERKOztBQXlEQTs7RUFFQztBQXRERDs7QUF5REE7OztFQUdDO0VBQ0E7QUF0REQ7O0FBeURBO0VBQ0k7QUF0REo7O0FBeURBO0VBQ0k7QUF0REo7O0FBeURBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBdEREOztBQXlEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF0REQ7O0FBeURBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF0REQ7O0FBeURBO0VBQ0M7QUF0REQ7O0FBeURBOztFQUVDO0VBQ0E7RUFDRztFQUNBO0VBQ0E7QUF0REo7O0FBeURBO0VBQ0M7QUF0REQ7O0FBeURBO0FBRUE7RUFDQztBQXZERDs7QUEwREE7RUFDQztFQUNBO0FBdkREOztBQTBEQTtFQUNDO0VBQ0E7QUF2REQ7O0FBMERBO0VBQ0M7RUFDQTtFQUNBO0FBdkREOztBQTBEQTtFQUNDO0VBQ0E7QUF2REQ7O0FBMERBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBdkREOztBQTBEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF2REQ7O0FBMERBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QUF2REQ7O0FBMERBO0VBQ0M7RUFDQTtFQUNBO0FBdkREOztBQTBEQTtFQUNDO0FBdkREOztBQTBEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXZERDs7QUEwREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBdkREOztBQTBEQTtFQUNDO0FBdkREOztBQTBEQTtFQUNDO0FBdkREOztBQTBEQTtFQUNDO0VBQ0E7RUFDQTtBQXZERDs7QUEwREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBQXZERDs7QUEwREE7RUFDQztBQXZERDs7QUEwREE7RUFDQztFQUNBO0FBdkREOztBQTBEQTtBQUVBO0VBQ0M7RUFDQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0FBeERKOztBQTJEQTtFQUNDO0FBeEREOztBQTJEQTtFQUNDO0VBQ0E7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBeERKOztBQTJEQTs7RUFFQztBQXhERDs7QUEyREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBQXhERDs7QUEyREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBeEREOztBQTJEQTtFQUNDO0VBQ0E7RUFDRztFQUNBO0VBQ0E7RUFDQTtBQXhESjs7QUEyREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBeEREOztBQTJEQTs7RUFFQztFQUNBO0FBeEREOztBQTJEQTtFQUNDO0FBeEREOztBQTJEQTtFQUNDO0VBQ0E7QUF4REQ7O0FBMkRBO0VBQ0k7QUF4REo7O0FBMkRBO0VBQ0M7RUFDQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF4REo7O0FBMkRBOztFQUVDO0FBeEREOztBQTJEQTtBQUVBO0VBQ0M7QUF6REQ7O0FBNERBO0VBQ0M7QUF6REQ7O0FBNERBO0VBQ0M7QUF6REQ7O0FBNERBO0VBQ0M7RUFDQTtFQUNBO0FBekREOztBQTREQTtFQUNDO0FBekREOztBQTREQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBekREOztBQTREQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF6REQ7O0FBNERBO0VBQ0M7RUFDQTtFQUNBO0FBekREOztBQTREQTtBQUVBO0VBQ0M7RUFDQTtBQTFERDs7QUE2REE7O0VBRUk7QUExREo7O0FBNkRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBMUREOztBQTZEQTtFQUNDO0VBQ0E7RUFDQTtFQUNHO0FBMURKOztBQTZEQTs7RUFFQztBQTFERDs7QUE2REE7RUFDQztBQTFERDs7QUE2REE7RUFDSTtFQUNBO0FBMURKOztBQTZEQTtFQUNJO0FBMURKOztBQTZEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUExREQ7O0FBNkRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTFERDs7QUE2REE7O0VBRUM7QUExREQ7O0FBNkRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUExREQ7O0FBNkRBO0VBQ0M7QUExREQ7O0FBNkRBO0VBQ0M7QUExREQ7O0FBNkRBO0VBQ0M7QUExREQ7O0FBNkRBOztFQUVDO0FBMUREOztBQTZEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBMUREOztBQTZEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUExREQ7O0FBNkRBO0VBQ0M7RUFDQTtBQTFERDs7QUE2REE7RUFDQztBQTFERDs7QUE2REE7OztFQUdDO0FBMUREOztBQTZEQTtBQUVBO0VBQ0M7RUFDQTtFQUNBO0FBM0REOztBQThEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTNERDs7QUE4REE7O0VBRUM7QUEzREQ7O0FBOERBO0VBQ0k7RUFDQTtBQTNESjs7QUE4REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBM0REOztBQThEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEzREQ7O0FBOERBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTNERDs7QUE4REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBM0REOztBQThEQTtFQUNDO0VBQ0E7RUFDRztFQUNBO0FBM0RKOztBQThEQTtFQUNJO0VBQ0E7RUFDQTtBQTNESjs7QUE4REE7RUFDQztBQTNERDs7QUE4REE7RUFDQztFQUNBO0VBQ0c7RUFDQTtBQTNESjs7QUE4REE7OztFQUdDO0FBM0REOztBQThEQTtFQUNDO0FBM0REOztBQThEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEzREQ7O0FBOERBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTNERDs7QUE4REE7QUFFQTtFQUNDO0FBNUREOztBQStEQTtFQUNJO0FBNURKOztBQStEQTtFQUNJO0FBNURKOztBQThEQTtFQUNJO0FBM0RKOztBQThEQTtFQUNDO0FBM0REOztBQThEQTtFQUNDO0VBQ0E7RUFDQTtBQTNERDs7QUE4REE7RUFDQztFQUNBO0VBQ0c7QUEzREo7O0FBOERBO0VBQ0M7QUEzREQ7O0FBOERBO0VBQ0M7RUFDQTtBQTNERDs7QUE4REE7RUFDQztFQUNBO0VBQ0E7QUEzREQ7O0FBOERBO0FBRUE7RUFDQztFQUNBO0VBQ0c7QUE1REo7O0FBK0RBO0VBQ0M7QUE1REQ7O0FBK0RBO0VBQ0M7RUFDQTtFQUNHO0VBQ0E7QUE1REo7O0FBK0RBO0VBQ0M7QUE1REQ7O0FBK0RBO0VBQ0k7QUE1REo7O0FBK0RBO0VBQ0M7RUFDQTtFQUNHO0VBQ0E7QUE1REo7O0FBK0RBO0VBQ0M7QUE1REQ7O0FBK0RBO0VBQ0M7RUFDQTtBQTVERDs7QUErREE7O0VBRUk7QUE1REo7O0FBK0RBO0VBQ0M7QUE1REQ7O0FBK0RBO0VBQ0M7RUFDQTtFQUNHO0FBNURKOztBQStEQTtBQUVBO0VBQ0M7RUFDQTtBQTdERDs7QUFnRUE7RUFDQztFQUNBO0FBN0REOztBQWdFQTtFQUNDO0VBQ0E7RUFDRztBQTdESjs7QUFnRUE7RUFDQztFQUNBO0VBQ0c7RUFDQTtBQTdESjs7QUFnRUE7O0VBRUM7RUFDQTtFQUNHO0FBN0RKOztBQWdFQTtFQUNDO0FBN0REOztBQWdFQTtFQUNJO0FBN0RKOztBQWdFQTs7RUFFQztBQTdERDs7QUFnRUE7RUFDQztBQTdERDs7QUFnRUE7RUFDQztFQUNBO0VBQ0c7QUE3REo7O0FBZ0VBO0VBQ0k7QUE3REo7O0FBZ0VBO0FBRUE7RUFDQztFQUNBO0VBQ0E7QUE5REQ7O0FBaUVBO0VBQ0M7QUE5REQ7O0FBaUVBO0VBQ0M7QUE5REQ7O0FBaUVBO0VBQ0M7RUFDQTtBQTlERDs7QUFpRUE7RUFDQztBQTlERDs7QUFpRUE7O0VBRUM7QUE5REQ7O0FBaUVBOztFQUVDO0VBQ0E7QUE5REQ7O0FBaUVBOztFQUVDO0FBOUREOztBQWlFQTtFQUNDOztJQUVDO0VBOURBO0VBaUVEOztJQUVDO0lBQ0E7RUEvREE7RUFrRUQ7O0lBRUM7RUFoRUE7QUFDRjtBQW1FQTtFQUNDO0VBQ0E7QUFqRUQ7O0FBb0VBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFqRUQ7O0FBb0VBO0FBRUE7O0VBRUk7RUFDQTtFQUNBO0FBbEVKOztBQXFFQTs7RUFFQztFQUNBO0VBQ0c7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBbEVEOztBQXFFQTtFQUNDO0VBQ0E7QUFsRUQ7O0FBcUVBO0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDRztFQUNBO0VBQ0E7QUFuRUo7O0FBc0VBOztFQUVDO0VBQ0E7RUFDQTtBQW5FRDs7QUFzRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQW5FSjs7QUFzRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBbkVEOztBQXNFQTtFQUNJO0VBQ0E7QUFuRUo7O0FBc0VBO0VBQ0k7RUFDQTtBQW5FSjs7QUFzRUE7RUFDSTtBQW5FSjs7QUFzRUE7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFwRUQ7O0FBdUVBO0VBQ0M7RUFDQTtFQUNBO0FBcEVEOztBQXVFQTtBQUVBO0VBQ0k7RUFDQTtFQUNBO0FBckVKOztBQXdFQTtFQUNJO0FBckVKOztBQXdFQTtFQUNJO0VBQ0E7RUFDQTtBQXJFSjs7QUF3RUE7RUFDSTtFQUNIO0VBQ0E7RUFDRztFQUNBO0FBckVKOztBQXdFQTtFQUNJO0VBQ0E7RUFDSDtFQUNBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBckVKOztBQXdFQTtBQUVBO0VBQ0M7RUFDQTtFQUNHO0VBQ0E7QUF0RUo7O0FBeUVBO0VBQ0M7RUFDQTtFQUNHO0VBQ0E7QUF0RUo7O0FBeUVBO0VBQ0M7RUFDQTtFQUNHO0VBQ0E7QUF0RUo7O0FBeUVBO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF2RUQ7O0FBMEVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QUF2RUQ7O0FBMEVBO0VBQ0M7RUFDQTtFQUNBO0FBdkVEOztBQTBFQTtFQUNDO0FBdkVEOztBQTBFQTtFQUNDO0FBdkVEOztBQTBFQTtBQUVBO0VBQ0M7RUFDQTtBQXhFRDs7QUEyRUE7RUFDQztFQUNBO0VBQ0E7QUF4RUQ7O0FBMkVBO0VBQ0M7QUF4RUQ7O0FBMkVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0c7RUFDQTtBQXhFSjs7QUEyRUE7OztFQUdJO0VBQ0E7RUFDQTtBQXhFSjs7QUEyRUE7RUFDSTtFQUNIO0VBQ0E7RUFDRztFQUNBO0VBQ0E7RUFDQTtBQXhFSjs7QUEyRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBeEVEOztBQTJFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF4RUQ7O0FBMkVBO0VBQ0M7QUF4RUQ7O0FBMkVBO0VBQ0M7QUF4RUQ7O0FBMkVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBeEVEOztBQTJFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF4RUQ7O0FBMkVBO0VBQ0M7RUFDQTtFQUNBO0FBeEVEOztBQTJFQTtBQUVBO0VBQ0M7RUFDQTtBQXpFRDs7QUE0RUE7RUFDQztFQUNBO0VBQ0E7RUFDRztFQUNBO0VBQ0E7RUFDQTtBQXpFSjs7QUE0RUE7RUFDQztBQXpFRDs7QUE0RUE7QUFFQTtFQUNDO0FBMUVEOztBQTZFQTtBQUVBO0VBQ0M7QUEzRUQ7O0FBOEVBO0VBQ0M7QUEzRUQ7O0FBOEVBO0VBQ0M7QUEzRUQ7O0FBOEVBO0VBQ0M7QUEzRUQ7O0FBOEVBO0VBQ0M7QUEzRUQ7O0FBOEVBO0VBQ0M7QUEzRUQ7O0FBOEVBO0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTVFRDs7QUErRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBNUVEOztBQStFQTtFQUNDO0FBNUVEOztBQStFQTtFQUNDO0FBNUVEOztBQStFQTtBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QUE3RUQ7O0FBZ0ZBO0VBQ0M7RUFDQTtFQUNBO0FBN0VEOztBQWdGQTtFQUNDO0FBN0VEOztBQWdGQTtBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QUE5RUQ7O0FBaUZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBOUVEOztBQWlGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBOUVEOztBQWlGQTtBQUVBO0VBQ0M7RUFDQTtBQS9FRDs7QUFrRkE7RUFDQztFQUNBO0VBQ0E7QUEvRUQ7O0FBa0ZBO0VBQ0M7QUEvRUQ7O0FBa0ZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QUEvRUQ7O0FBa0ZBO0VBQ0k7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNHO0VBQ0E7QUEvRUo7O0FBa0ZBO0VBQ0M7QUEvRUQ7O0FBa0ZBO0VBQ0k7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNHO0FBL0VKOztBQWtGQTtFQUNDO0VBQ0E7QUEvRUQ7O0FBa0ZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBL0VEOztBQWtGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBL0VEOztBQWtGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBL0VEOztBQWtGQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQS9FRDs7QUFrRkE7RUFDQztBQS9FRDs7QUFrRkE7RUFDQztFQUNHO0FBL0VKOztBQWtGQTtFQUNDO0FBL0VEOztBQWtGQTtFQUNDO0VBQ0c7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNHO0VBQ0E7QUEvRUo7O0FBa0ZBO0VBQ0M7RUFDQTtBQS9FRDs7QUFrRkE7O0VBRUM7QUEvRUQ7O0FBa0ZBO0VBQ0M7QUEvRUQ7O0FBa0ZBO0VBQ0M7QUEvRUQ7O0FBa0ZBOztFQUVDO0FBL0VEOztBQWtGQTtBQUVBOztFQUVDO0FBaEZEOztBQW1GQTtFQUNDO0FBaEZEOztBQW1GQTtBQUVBO0VBQ0M7RUFDQTtBQWpGRDs7QUFvRkE7RUFDQztFQUNBO0FBakZEOztBQW9GQTtFQUNDO0VBQ0E7QUFqRkQ7O0FBb0ZBO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFsRkQ7O0FBcUZBO0VBQ0M7RUFDQTtFQUNHO0VBQ0E7RUFDQTtBQWxGSjs7QUFxRkE7RUFDQztFQUNBO0VBQ0E7QUFsRkQ7O0FBcUZBO0VBQ0M7QUFsRkQ7O0FBcUZBO0VBQ0M7RUFDQTtBQWxGRDs7QUFxRkE7RUFDQztBQWxGRDs7QUFxRkE7RUFDQztFQUNBO0FBbEZEOztBQXFGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWxGRDs7QUFxRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFsRkQ7O0FBcUZBO0FBRUE7RUFDQztBQW5GRDs7QUFzRkE7RUFDQztBQW5GRDs7QUFzRkE7RUFDSTtFQUNBO0VBQ0g7RUFDQTtFQUNBO0VBQ0E7RUFDRztBQW5GSjs7QUFzRkE7RUFDQztBQW5GRDs7QUFzRkE7RUFDQztBQW5GRDs7QUFzRkE7RUFDQztFQUNBO0VBQ0E7QUFuRkQ7O0FBc0ZBO0VBQ0M7QUFuRkQ7O0FBc0ZBO0VBQ0M7QUFuRkQ7O0FBc0ZBO0VBQ0M7QUFuRkQ7O0FBc0ZBO0FBRUE7RUFDQztBQXBGRDs7QUF1RkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXBGRDs7QUF1RkE7RUFDQztFQUNBO0FBcEZEOztBQXVGQTtFQUNDO0VBQ0E7QUFwRkQ7O0FBdUZBO0VBQ0M7QUFwRkQ7O0FBdUZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBcEZEOztBQXVGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFwRkQ7O0FBdUZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXBGRCxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vc3VsdHBvaW50Ly4vYXNzZXRzL3Njc3MvZm9zc2JpbGxpbmcuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi0tLS0tIFdITUNTIHN0eWxlc1xuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHRcbiovXG5cbi8qIFJlc2V0ICovXG5cbi53aG1jc2NvbnRhaW5lciAuY29sLTEyLnByaW1hcnktY29udGVudCB7XG5cdHBhZGRpbmctbGVmdDogMDtcblx0cGFkZGluZy1yaWdodDogMDtcbn1cblxuLndobWNzYm9keS5wcmltYXJ5LWJnLWNvbG9yIHtcblx0YmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1ib2R5KTtcbn1cblxuLndobWNzY29udGFpbmVyIC5jb250YWluZXIge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi53aG1jc2NvbnRhaW5lciBzZWN0aW9uI21haW4tYm9keSB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi53aG1jc2NvbnRhaW5lciBhIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ud2htY3Njb250YWluZXIgaHIge1xuXHRib3JkZXItdG9wOiB2YXIoLS1jb2xvci1ib3JkZXIpIDFweCBzb2xpZDtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc3BhY2luZy1jaGlsZCkgMDtcbn1cblxuLndobWNzY29udGFpbmVyIC5idG4geyAvKiBXSE1DUyBidXR0b25zIHN0eWxlZCB0byBtYXRjaCAuYnV0dG9uMSAqL1xuXHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2htY3Njb250YWluZXIgKjpmb2N1cyB7IC8qIFJlbW92ZSBnbG93IG9uIGNsaWNrICovXG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLndobWNzY29udGFpbmVyIC5idG4tbGluayB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib2R5KTtcbn1cblxuLndobWNzY29udGFpbmVyIC50ZXh0LW11dGVkIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJvZHkpO1xufVxuXG4vKiBTbGltbWVkIGNhcnQgZW5hYmxlZCAqL1xuXG4ud2htY3Nib2R5LmZlYXR1cmUtc2xpbW1lZGNhcnQgLnN1YmJhbm5lcixcbi53aG1jc2JvZHkuZmVhdHVyZS1zbGltbWVkY2FydCAucGFydG5lcnNtYWluLFxuLndobWNzYm9keS5mZWF0dXJlLXNsaW1tZWRjYXJ0IC5jdGEtY29udGFpbmVyLFxuLndobWNzYm9keS5mZWF0dXJlLXNsaW1tZWRjYXJ0IC5mb290ZXJtYWluIC5mb290ZXJtYWluLWJhY2tncm91bmQge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ud2htY3Nib2R5LmZlYXR1cmUtc2xpbW1lZGNhcnQgLmZvb3Rlcm1haW4ge1xuXHRib3JkZXItdG9wOiBub25lO1xufVxuXG4vKiBTbGltbWVkIGxvZ2luIGVuYWJsZWQgKi9cblxuLndobWNzYm9keS5mZWF0dXJlLXNsaW1tZWRsb2dpbiAuaGVhZGVybWFpbixcbi53aG1jc2JvZHkuZmVhdHVyZS1zbGltbWVkbG9naW4gLnN1YmJhbm5lcixcbi53aG1jc2JvZHkuZmVhdHVyZS1zbGltbWVkbG9naW4gLnBhcnRuZXJzbWFpbixcbi53aG1jc2JvZHkuZmVhdHVyZS1zbGltbWVkbG9naW4gLmN0YS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ud2htY3Nib2R5LmZlYXR1cmUtc2xpbW1lZGxvZ2luIC5sb2dvLWxvZ2luIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNwYWNpbmctY2hpbGQpIDA7XG59XG5cbi53aG1jc2JvZHkuZmVhdHVyZS1zbGltbWVkbG9naW4gLmxvZ28tbG9naW4gaW1nIHtcblx0bWF4LXdpZHRoOiAzMDBweDtcbn1cblxuLyogU29jaWFsIGJ1dHRvbnMgKi9cblxuLndobWNzY29udGFpbmVyIC5wcm92aWRlclByZUxpbmtpbmcge1xuICAgIG1pbi1oZWlnaHQ6IDQzcHg7XG59XG5cbi53aG1jc2NvbnRhaW5lciAuYnRuLWdvb2dsZSBpbWcge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi8qIFdITUNTIGNvbG9ycyAqL1xuXG4vKiBCb3JkZXJzICovXG5cbi53aG1jc2NvbnRhaW5lciAuY2FyZC1hY2NlbnQtZ29sZCxcbi53aG1jc2NvbnRhaW5lciAuY2FyZC1hY2NlbnQtZ3JlZW4sXG4ud2htY3Njb250YWluZXIgLmNhcmQtYWNjZW50LXJlZCxcbi53aG1jc2NvbnRhaW5lciAuY2FyZC1hY2NlbnQtYmx1ZSxcbi53aG1jc2NvbnRhaW5lciAuY2FyZC1hY2NlbnQtb3JhbmdlXG4ud2htY3Njb250YWluZXIgLmNhcmQtYWNjZW50LXBpbmssXG4ud2htY3Njb250YWluZXIgLmNhcmQtYWNjZW50LXB1cnBsZSxcbi53aG1jc2NvbnRhaW5lciAuY2FyZC1hY2NlbnQtbGltZSxcbi53aG1jc2NvbnRhaW5lciAuY2FyZC1hY2NlbnQtbWFnZW50YSxcbi53aG1jc2NvbnRhaW5lciAuY2FyZC1hY2NlbnQtdGVhbCxcbi53aG1jc2NvbnRhaW5lciAuY2FyZC1hY2NlbnQtdHVycXVvaXNlLFxuLndobWNzY29udGFpbmVyIC5jYXJkLWFjY2VudC1lbWVyYWxkLFxuLndobWNzY29udGFpbmVyIC5jYXJkLWFjY2VudC1hbWV0aHlzdCxcbi53aG1jc2NvbnRhaW5lciAuY2FyZC1hY2NlbnQtd2V0LWFzcGhhbHQsXG4ud2htY3Njb250YWluZXIgLmNhcmQtYWNjZW50LW1pZG5pZ2h0LWJsdWUsXG4ud2htY3Njb250YWluZXIgLmNhcmQtYWNjZW50LXN1bi1mbG93ZXIsXG4ud2htY3Njb250YWluZXIgLmNhcmQtYWNjZW50LXBvbWVncmFuYXRlLFxuLndobWNzY29udGFpbmVyIC5jYXJkLWFjY2VudC1zaWx2ZXIsXG4ud2htY3Njb250YWluZXIgLmNhcmQtYWNjZW50LWFzYmVzdG9zIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpO1xufSBcblxuLyogQmFja2dyb3VuZHMgKi9cblxuLndobWNzY29udGFpbmVyIC5iZy1jb2xvci1nb2xkLFxuLndobWNzY29udGFpbmVyIC5iZy1jb2xvci1ncmVlbixcbi53aG1jc2NvbnRhaW5lciAuYmctY29sb3ItcmVkLFxuLndobWNzY29udGFpbmVyIC5iZy1jb2xvci1ibHVlLFxuLndobWNzY29udGFpbmVyIC5iZy1jb2xvci1vcmFuZ2UsXG4ud2htY3Njb250YWluZXIgLmJnLWNvbG9yLXBpbmssXG4ud2htY3Njb250YWluZXIgLmJnLWNvbG9yLXB1cnBsZSxcbi53aG1jc2NvbnRhaW5lciAuYmctY29sb3ItbGltZSxcbi53aG1jc2NvbnRhaW5lciAuYmctY29sb3ItbWFnZW50YSxcbi53aG1jc2NvbnRhaW5lciAuYmctY29sb3ItdGVhbCxcbi53aG1jc2NvbnRhaW5lciAuYmctY29sb3ItdHVycXVvaXNlLFxuLndobWNzY29udGFpbmVyIC5iZy1jb2xvci1lbWVyYWxkLFxuLndobWNzY29udGFpbmVyIC5iZy1jb2xvci1hbWV0aHlzdCxcbi53aG1jc2NvbnRhaW5lciAuYmctY29sb3Itd2V0LWFzcGhhbHQsXG4ud2htY3Njb250YWluZXIgLmJnLWNvbG9yLW1pZG5pZ2h0LWJsdWUsXG4ud2htY3Njb250YWluZXIgLmJnLWNvbG9yLXN1bi1mbG93ZXIsXG4ud2htY3Njb250YWluZXIgLmJnLWNvbG9yLXBvbWVncmFuYXRlLFxuLndobWNzY29udGFpbmVyIC5iZy1jb2xvci1zaWx2ZXIsXG4ud2htY3Njb250YWluZXIgLmJnLWNvbG9yLWFzYmVzdG9zIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbn1cblxuLyogQ2FyZCAqL1xuXG4ud2htY3Njb250YWluZXIgLmNhcmQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuICAgIGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLWJvdHRvbS13aWR0aCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1jaGlsZCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3Njb250YWluZXIgLmNhcmQgLmNhcmQtaGVhZGVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1oZWFkLWZvcmVncm91bmQpO1xufVxuXG4ud2htY3Njb250YWluZXIgLmNhcmQgLmNhcmQtaGVhZGVyIC5jYXJkLXRpdGxlLFxuLndobWNzY29udGFpbmVyIC5jYXJkIC5jYXJkLWhlYWRlciAucGFuZWwtdGl0bGUge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWhlYWQtZm9yZWdyb3VuZCkgIWltcG9ydGFudDtcbn1cblxuLndobWNzY29udGFpbmVyIC5ob21lIC5jYXJkIC5jYXJkLXRpdGxlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kLWJvbGQpO1xufVxuXG4ud2htY3Njb250YWluZXIgLmNhcmQgLmNhcmQtYm9keSB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctaW5uZXIpICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jc2NvbnRhaW5lciAuY2FyZCAuY2FyZC1mb290ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtZm9vdGVyLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1mb290ZXItYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1mb290ZXItYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJveC1mb290ZXItYmFja2dyb3VuZC1ib3JkZXIpO1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvb3Rlci1mb3JlZ3JvdW5kKTtcbn1cblxuLyogU2lkZWJhciAqL1xuXG4ud2htY3Njb250YWluZXIgLnNpZGViYXIgLmxpc3QtZ3JvdXAge1xuXHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4ud2htY3Njb250YWluZXIgLnNpZGViYXIgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3Njb250YWluZXIgLnNpZGViYXIgLmxpc3QtZ3JvdXAtaXRlbSB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuXHRib3JkZXItbGVmdC13aWR0aDogMDtcdFxufVxuXG4ud2htY3Njb250YWluZXIgLnNpZGViYXIgLmxpc3QtZ3JvdXAtaXRlbTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG59XG5cbi53aG1jc2NvbnRhaW5lciAuc2lkZWJhciAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWZvcmVncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi53aG1jc2NvbnRhaW5lciAuc2lkZWJhciAubGlzdC1ncm91cC1pdGVtIC5iYWRnZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWZvcmVncm91bmQpO1xufVxuXG4ud2htY3Njb250YWluZXIgLnNpZGViYXIgI1ByaW1hcnlfU2lkZWJhci1BbHJlYWR5X1JlZ2lzdGVyZWQtQWxyZWFkeV9SZWdpc3RlcmVkX0hlYWRpbmc6aG92ZXIsXG4ud2htY3Njb250YWluZXIgLnNpZGViYXIgI1NlY29uZGFyeV9TaWRlYmFyLUNsaWVudF9Db250YWN0cy1Ob19Db250YWN0czpob3ZlciB7IC8qIFJlbW92ZSBob3ZlciBmcm9tIHNpZGViYXIgZWxlbWVudHMgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi53aG1jc2NvbnRhaW5lciAuc2lkZWJhci1zZWNvbmRhcnkgeyAvKiBGaXggc3BhY2luZyBidWcgb24gbW9iaWxlICovXG5cdHBhZGRpbmctcmlnaHQ6IDA7XG5cdHBhZGRpbmctbGVmdDogMDtcbn1cblxuLndobWNzY29udGFpbmVyIC5saXN0LWdyb3VwLWl0ZW0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogSGVhZGluZ3MgKi9cblxuLndobWNzY29udGFpbmVyIGgxLFxuLndobWNzY29udGFpbmVyIGgyLFxuLndobWNzY29udGFpbmVyIGgzLFxuLndobWNzY29udGFpbmVyIGg0LFxuLndobWNzY29udGFpbmVyIGg1LFxuLndobWNzY29udGFpbmVyIGg2IHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIEFsZXJ0cyAqL1xuXG4ud2htY3Njb250YWluZXIgLmFsZXJ0IHtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1jaGlsZCkgIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xufVxuXG4ud2htY3Njb250YWluZXIgLm5ldHdvcmstaXNzdWUtYWxlcnQge1xuXHRwYWRkaW5nOiAxMHB4O1xufVxuXG4vKiBFbWFpbCBWZXJpZmljYXRpb24gKi9cblxuLndobWNzY29udGFpbmVyIC5lbWFpbC12ZXJpZmljYXRpb24ge1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWNoaWxkKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLWJvdHRvbS13aWR0aCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vKiBGb3JtcyAqL1xuXG4ud2htY3Njb250YWluZXIgI3JlZ2lzdHJhdGlvbiAuZmllbGQsXG4ud2htY3Njb250YWluZXIgI3JlZ2lzdHJhdGlvbiAuZm9ybS1jb250cm9sLFxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5maWVsZCxcbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZm9ybS1jb250cm9sIHtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJvZHkpO1xufVxuXG4ud2htY3Njb250YWluZXIgLmZvcm0tY29udHJvbCxcbi5tb2RhbC1jb250ZW50IC5mb3JtLWNvbnRyb2wge1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xufVxuXG4ud2htY3Njb250YWluZXIgLmlucHV0LWdyb3VwLXRleHQgeyAvKiBGb3JtIGljb25zICovXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1x0XG59XG5cbi53aG1jc2NvbnRhaW5lciAuYm9vdHN0cmFwLXN3aXRjaCB7IC8qIFN3aXRjaCBmb3JtICovXG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcik7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubWQtZWRpdG9yLCAvKiBFZGl0b3IgKi9cbi53aG1jc2NvbnRhaW5lciBkaXYubWQtZWRpdG9yLmFjdGl2ZSB7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xufVxuXG4ud2htY3Njb250YWluZXIgLm1kLWVkaXRvciAuZm9ybS1jb250cm9sIHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubWQtZWRpdG9yID4gLm1kLXByZXZpZXcsXG4ud2htY3Njb250YWluZXIgLm1kLWVkaXRvciA+IHRleHRhcmVhLm1hcmtkb3duLWVkaXRvciB7XG5cdGJvcmRlci10b3A6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkICFpbXBvcnRhbnQ7XHRcbn1cblxuLndobWNzY29udGFpbmVyIC5jdXN0b20tZmlsZS1sYWJlbCB7IC8qIFRpY2tldCBBdHRhY2htZW50ICovXG5cdGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8qIFBhZ2luYXRpb24gKi9cblxuLndobWNzY29udGFpbmVyIC5wYWdlLWxpbmsge1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1x0XG59XG5cbi53aG1jc2NvbnRhaW5lciAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmssXG4ud2htY3Njb250YWluZXIgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuXHRib3JkZXItcmFkaXVzOiAwO1xufVxuXG4ud2htY3Njb250YWluZXIgLnBhZ2UtaXRlbSAucGFnZS1saW5rIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpO1xufVxuXG4ud2htY3Njb250YWluZXIgLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayxcbi53aG1jc2NvbnRhaW5lciAucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBhLFxuLndobWNzY29udGFpbmVyIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGE6Zm9jdXMsXG4ud2htY3Njb250YWluZXIgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYTpob3Zlcixcbi53aG1jc2NvbnRhaW5lciAucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBzcGFuLFxuLndobWNzY29udGFpbmVyIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW46Zm9jdXMsXG4ud2htY3Njb250YWluZXIgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3Bhbjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKTtcbn1cblxuLndobWNzY29udGFpbmVyIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogUHJvZ3Jlc3MgKi9cblxuLndobWNzY29udGFpbmVyIC5wcm9ncmVzcyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG59XG5cbi8qIFRhYmxlICovXG5cbi53aG1jc2NvbnRhaW5lciAudGFibGUge1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IDNweCAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpICFpbXBvcnRhbnQ7XHRcbn1cblxuLndobWNzY29udGFpbmVyIC50YWJsZSB0aCB7XG5cdGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSkgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1oZWFkLWZvcmVncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cblxuLndobWNzY29udGFpbmVyIC50YWJsZSB0aC5zb3J0aW5nX2FzYyxcbi53aG1jc2NvbnRhaW5lciAudGFibGUgdGguc29ydGluZ19kZXNjIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1xufVxuXG4ud2htY3Njb250YWluZXIgLnRhYmxlIHRkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpICFpbXBvcnRhbnQ7XG5cdGJvcmRlci10b3A6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG59XG5cbi8qIEVkaXRvciAqL1xuXG4ud2htY3Njb250YWluZXIgLm1kLWVkaXRvciB7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi8qIE1vZGFsICovXG5cbi53aG1jc2JvZHkgLm1vZGFsIC5tb2RhbC1jb250ZW50IHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpOyBcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XHRcbn1cblxuLndobWNzYm9keSAubW9kYWwgLm1vZGFsLWNvbnRlbnQgLmNvcHktdG8tY2xpcGJvYXJkIGltZyB7XG5cdGRpc3BsYXk6IGlubGluZTtcbn1cblxuLndobWNzYm9keSAubW9kYWwgLm1vZGFsLWhlYWRlci5iZy1wcmltYXJ5IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZCkgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XHRcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1oZWFkLWZvcmVncm91bmQpO1x0XG59XG5cbi53aG1jc2JvZHkgLm1vZGFsIC5tb2RhbC10aXRsZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzYm9keSAubW9kYWwgLm1vZGFsLWZvb3RlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1mb290ZXItYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWZvb3Rlci1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWZvb3Rlci1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlci10b3A6IHZhcigtLWNvbG9yLWJveC1mb290ZXItYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcdFxufVxuXG4vKiBNb2RhbCAtIExhbmd1YWdlIHNlbGVjdG9yICovXG5cbi53aG1jc2JvZHkgLm1vZGFsLWxvY2FsaXNhdGlvbiAuY2xvc2Uge1xuXHRjb2xvcjogdmFyKC0tYm9keS1kZWZhdWx0KSAhaW1wb3J0YW50O1xufVxuXG4ud2htY3Nib2R5IC5tb2RhbC1sb2NhbGlzYXRpb24gLm1vZGFsLWNvbnRlbnQgLnB0LTUge1xuXHRwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4ud2htY3Nib2R5IC5tb2RhbC1sb2NhbGlzYXRpb24gLm1vZGFsLWNvbnRlbnQgaDUge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQtYm9sZCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRmb250LXNpemU6IDEuNWVtO1xufVxuXG4ud2htY3Nib2R5IC5tb2RhbC1sb2NhbGlzYXRpb24gLm1vZGFsLWNvbnRlbnQgLml0ZW0tc2VsZWN0b3IgLml0ZW0ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ud2htY3Nib2R5IC5tb2RhbC1sb2NhbGlzYXRpb24gLm1vZGFsLWNvbnRlbnQgLml0ZW0tc2VsZWN0b3IgLml0ZW06aG92ZXIsXG4ud2htY3Nib2R5IC5tb2RhbC1sb2NhbGlzYXRpb24gLm1vZGFsLWNvbnRlbnQgLml0ZW0tc2VsZWN0b3IgLml0ZW0uYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZCk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xufVxuXG4vKiBNb2RhbCAtIEVtcHR5IGNhcnQgKi9cblxuLndobWNzYm9keSAubW9kYWwtcmVtb3ZlLWl0ZW0gLm1vZGFsLWNvbnRlbnQgLm1vZGFsLXRpdGxlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kLWJvbGQpO1xufVxuXG4vKiBOYXZ0YWJzIC0gVXNlZCBvbiB2aWV3IGNhcnQgKHByb21vL3RheGVzKSAqL1xuXG4ud2htY3Njb250YWluZXIgLm5hdi10YWJzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpO1xufVxuXG4ud2htY3Njb250YWluZXIgLm5hdi10YWJzIC5uYXYtbGluayB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ud2htY3Njb250YWluZXIgLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpICNmZmY7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTsgICAgXG59XG5cbi53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAudmlldy1jYXJ0LXRhYnMgLnRhYi1jb250ZW50IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbn1cblxuLyogU3ViIE1lbnUgKC9pbmNsdWRlcy9zdWJtZW51LXdobWNzLnRwbCkgKi9cblxuLndobWNzYm9keSAud2htY3NzdWJtZW51IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyLWJvdHRvbTogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAzcHggc29saWQ7XHRcdFxufVxuXG4ud2htY3Nib2R5IC53aG1jc3N1Ym1lbnU6OmFmdGVyIHtcblx0Y2xlYXI6IGJvdGg7XG5cdGRpc3BsYXk6IHRhYmxlO1xuXHRjb250ZW50OiBcIlwiO1xufVxuXG4ud2htY3Nib2R5IC53aG1jc3N1Ym1lbnUgaGVhZGVyLmhlYWRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ud2htY3Nib2R5IC53aG1jc3N1Ym1lbnUgaGVhZGVyLmhlYWRlciAubmF2YmFyIGEge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQtYm9sZCk7XG59XG5cbi53aG1jc2JvZHkgLndobWNzc3VibWVudSBoZWFkZXIuaGVhZGVyIC5jb250YWluZXIge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi53aG1jc2JvZHkgLndobWNzc3VibWVudSBoZWFkZXIuaGVhZGVyIC5uYXZiYXItbGlnaHQge1xuXHRkaXNwbGF5OiBub25lO1xuXHRmbG9hdDogcmlnaHQ7XG5cdHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcblxuXHQud2htY3Nib2R5IC53aG1jc3N1Ym1lbnUgaGVhZGVyLmhlYWRlciAubmF2YmFyLWxpZ2h0IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXHRcbn1cblxuLyogUHJpbWFyeSBCdXR0b24gKi9cblxuLndobWNzY29udGFpbmVyIC5idG4tcHJpbWFyeSxcbi53aG1jc2NvbnRhaW5lciAuYnRuLXByaW1hcnk6dmlzaXRlZCxcbi53aG1jc2NvbnRhaW5lciAuYnRuLXByaW1hcnk6YWN0aXZlLFxuLndobWNzY29udGFpbmVyIC5idG4tc3VjY2Vzcyxcbi53aG1jc2NvbnRhaW5lciAuYnRuLXN1Y2Nlc3M6dmlzaXRlZCxcbi53aG1jc2NvbnRhaW5lciAuYnRuLXN1Y2Nlc3M6YWN0aXZlLFxuLndobWNzY29udGFpbmVyIC5idG4td2FybmluZyxcbi53aG1jc2NvbnRhaW5lciAuYnRuLXdhcm5pbmc6dmlzaXRlZCxcbi53aG1jc2NvbnRhaW5lciAuYnRuLXdhcm5pbmc6YWN0aXZlLFxuLndobWNzY29udGFpbmVyIC5idG4tb3V0bGluZS1wcmltYXJ5LFxuLndobWNzY29udGFpbmVyIC5idG4tb3V0bGluZS1wcmltYXJ5OnZpc2l0ZWQsXG4ud2htY3Njb250YWluZXIgLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZCkgIWltcG9ydGFudDtcblx0Ym9yZGVyOiBzb2xpZCAxcHggdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWJvcmRlcikgIWltcG9ydGFudDsgXG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCkgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKSAhaW1wb3J0YW50O1x0XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4ICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jc2NvbnRhaW5lciAuYnRuLXByaW1hcnk6aG92ZXIsXG4ud2htY3Njb250YWluZXIgLmJ0bi1zdWNjZXNzOmhvdmVyLFxuLndobWNzY29udGFpbmVyIC5idG4td2FybmluZzpob3Zlcixcbi53aG1jc2NvbnRhaW5lciAuYnRuLXdhcm5pbmc6Zm9jdXMsXG4ud2htY3Njb250YWluZXIgLmJ0bi1vdXRsaW5lLXByaW1hcnk6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZCkgIWltcG9ydGFudDtcblx0Ym9yZGVyOiBzb2xpZCAxcHggdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKSAhaW1wb3J0YW50O1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHggIWltcG9ydGFudDtcdFxufVxuXG4vKiBTZWNvbmRhcnkgQnV0dG9uICovXG5cbi53aG1jc2NvbnRhaW5lciAuYnRuLWluZm8sXG4ud2htY3Njb250YWluZXIgLmJ0bi1pbmZvOmFjdGl2ZSxcbi53aG1jc2NvbnRhaW5lciAuYnRuLWluZm86dmlzaXRlZCxcbi53aG1jc2NvbnRhaW5lciAuYnRuLWRhbmdlcixcbi53aG1jc2NvbnRhaW5lciAuYnRuLWRhbmdlcjphY3RpdmUsXG4ud2htY3Njb250YWluZXIgLmJ0bi1kYW5nZXI6dmlzaXRlZCxcbi53aG1jc2NvbnRhaW5lciAuYnRuLWRlZmF1bHQsXG4ud2htY3Njb250YWluZXIgLmJ0bi1kZWZhdWx0OmFjdGl2ZSxcbi53aG1jc2NvbnRhaW5lciAuYnRuLWRlZmF1bHQ6dmlzaXRlZCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZCkgIWltcG9ydGFudDtcblx0Ym9yZGVyOiBzb2xpZCAxcHggdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtYm9yZGVyKSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZCkgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSkgIWltcG9ydGFudDtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweCAhaW1wb3J0YW50O1x0XG59XG5cbi53aG1jc2NvbnRhaW5lciAuYnRuLWluZm86aG92ZXIsXG4ud2htY3Njb250YWluZXIgLmJ0bi1kYW5nZXI6aG92ZXIsXG4ud2htY3Njb250YWluZXIgLmJ0bi1kZWZhdWx0OmhvdmVyLFxuLndobWNzY29udGFpbmVyIC5idG4tZGVmYXVsdDpmb2N1cyB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWZvcmVncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogc29saWQgMXB4IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZCkgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKSAhaW1wb3J0YW50O1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweCAhaW1wb3J0YW50O1x0XHRcbn1cblxuLyogU3RlcHMgLSBIaWdobGlnaHQgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1wcm9kdWN0cyAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDEsXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFkZG9ucyAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDEsXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFkZGRvbWFpbiAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDEsXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMSxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWludHJhbnNmZXIgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAxLFxuLndobWNzLXRlbXBsYXRlZmlsZS1jb25maWd1cmVwcm9kdWN0ZG9tYWluIC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMixcbi53aG1jcy10ZW1wbGF0ZWZpbGUtY29uZmlndXJlZG9tYWlucyAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDIsXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNvbmZpZ3VyZXByb2R1Y3QgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAyLFxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZW5ld2FscyAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDIsXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdjYXJ0IC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMyxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9vcmRlciAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXByb2R1Y3RzIC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMSAuc3RlcC10ZXh0LFxuLndobWNzLXRlbXBsYXRlZmlsZS1hZGRvbnMgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAxIC5zdGVwLXRleHQsXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFkZGRvbWFpbiAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDEgLnN0ZXAtdGV4dCxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAxIC5zdGVwLXRleHQsXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnRyYW5zZmVyIC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMSAuc3RlcC10ZXh0LFxuLndobWNzLXRlbXBsYXRlZmlsZS1jb25maWd1cmVwcm9kdWN0ZG9tYWluIC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMiAuc3RlcC10ZXh0LFxuLndobWNzLXRlbXBsYXRlZmlsZS1jb25maWd1cmVkb21haW5zIC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMiAuc3RlcC10ZXh0LFxuLndobWNzLXRlbXBsYXRlZmlsZS1jb25maWd1cmVwcm9kdWN0IC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMiAuc3RlcC10ZXh0LFxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZW5ld2FscyAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDIgLnN0ZXAtdGV4dCxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAzIC5zdGVwLXRleHQsXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvb3JkZXIgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAyIC5zdGVwLXRleHQge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNvbmZpZ3VyZXByb2R1Y3Rkb21haW4gLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAxIC5zdGVwLXRleHQsXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNvbmZpZ3VyZWRvbWFpbnMgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAxIC5zdGVwLXRleHQsXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNvbmZpZ3VyZXByb2R1Y3QgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAxIC5zdGVwLXRleHQsXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdjYXJ0IC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMSAuc3RlcC10ZXh0LFxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDIgLnN0ZXAtdGV4dCxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9vcmRlciAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDEgLnN0ZXAtdGV4dCB7XG5cdGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9jYXJ0LXN0ZXBzLWNoZWNrLnBuZ1wiKSByaWdodCBjZW50ZXIgbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IDIwcHggYXV0bztcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1jaGlsZCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuXHRcblx0LndobWNzLXRlbXBsYXRlZmlsZS1jb25maWd1cmVwcm9kdWN0ZG9tYWluIC5uYXZtYWluIC5zdGVwcyAuc3RlcC1zdGVwMSAuc3RlcC10ZXh0LFxuXHQud2htY3MtdGVtcGxhdGVmaWxlLWNvbmZpZ3VyZWRvbWFpbnMgLm5hdm1haW4gLnN0ZXBzIC5zdGVwLXN0ZXAxIC5zdGVwLXRleHQsXG5cdC53aG1jcy10ZW1wbGF0ZWZpbGUtY29uZmlndXJlcHJvZHVjdCAubmF2bWFpbiAuc3RlcHMgLnN0ZXAtc3RlcDEgLnN0ZXAtdGV4dCxcblx0LndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAuc3RlcHMgLm5hdm1haW4gLnN0ZXAtc3RlcDEgLnN0ZXAtdGV4dCxcblx0LndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAuc3RlcHMgLm5hdm1haW4gLnN0ZXAtc3RlcDIgLnN0ZXAtdGV4dCB7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAxNXB4IGF1dG87XG5cdFx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1pbm5lcik7XG5cdH1cblxufVxuXG4vKiBIb21lcGFnZSAoaG9tZXBhZ2UudHBsKSAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWhvbWVwYWdlIC53aG1jc2NvbnRhaW5lciAuYWN0aW9uLWljb24tYnRucyBhIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcdFxuXHRib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1ob21lcGFnZSAud2htY3Njb250YWluZXIgLmFjdGlvbi1pY29uLWJ0bnMgYTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcik7XHRcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1ob21lcGFnZSAud2htY3Njb250YWluZXIgLmFjdGlvbi1pY29uLWJ0bnMgYSAuaWNvLWNvbnRhaW5lciBpIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG59XG5cbi8qIExvZ2luIChsb2dpbi50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtbG9naW4gLndobWNzY29udGFpbmVyIC5jYXJkIC5oMyB7XG5cdG1hcmdpbi1ib3R0b206IDIycHg7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtbG9naW4gLndobWNzY29udGFpbmVyIC5zb2NpYWwtc2lnbmluLWJ0bnMge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLXBhcmVudCk7XG59XG5cbi8qIEZvcmdvdHRlbiBwYXNzd29yZCAocGFzc3dvcmQtcmVzZXQtY29udGFpbmVyLnRwbCkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1wYXNzd29yZC1yZXNldC1jb250YWluZXIgLndobWNzY29udGFpbmVyIC5jYXJkIC5oMyB7XG5cdG1hcmdpbi1ib3R0b206IDIycHg7XG59XG5cbi8qIENsaWVudCBBcmVhIEhvbWUgKGNsaWVudGFyZWFob21lLnRwbCkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1jbGllbnRhcmVhaG9tZSAud2htY3Njb250YWluZXIgLnRpbGVzIC50aWxlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyLXJpZ2h0OiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNsaWVudGFyZWFob21lIC53aG1jc2NvbnRhaW5lciAudGlsZXMgLnRpbGUgaSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1kaXZpZGVyKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1jbGllbnRhcmVhaG9tZSAud2htY3Njb250YWluZXIgLnRpbGVzIC50aWxlOmhvdmVyIGkge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY2xpZW50YXJlYWhvbWUgLndobWNzY29udGFpbmVyIC50aWxlcyAudGlsZSAudGl0bGUge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNsaWVudGFyZWFob21lIC53aG1jc2NvbnRhaW5lciAucHJpbWFyeS1jb250ZW50IC5jYXJkIC5jYXJkLWZvb3RlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG59XG5cblxuLndobWNzLXRlbXBsYXRlZmlsZS1jbGllbnRhcmVhaG9tZSAud2htY3Njb250YWluZXIgLnByaW1hcnktY29udGVudCAuY2xpZW50LWhvbWUtY2FyZHMgLmNhcmQgLmNhcmQtdGl0bGUgLmJ0biB7XG5cdHBhZGRpbmc6IDFweCA1cHg7XG5cdG1hcmdpbjogMDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1jbGllbnRhcmVhaG9tZSAud2htY3Njb250YWluZXIgLnByaW1hcnktY29udGVudCAuY2xpZW50LWhvbWUtY2FyZHMgLmNhcmQtYm9keSBwIHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiBSZWdpc3RlciAoY2xpZW50cmVnaXN0ZXIudHBsKSAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNsaWVudHJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAuc29jaWFsLXNpZ25pbi1idG5zIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1jaGlsZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY2xpZW50cmVnaXN0ZXIgLndobWNzY29udGFpbmVyIC5pbnRsLXRlbC1pbnB1dC5zZXBhcmF0ZS1kaWFsLWNvZGUgLnNlbGVjdGVkLWZsYWcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNsaWVudHJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAub2Zmc2V0LW1kLTIgeyAvKiBGaXggY2FwY2hhIHNwYWNpbmcgYnVnICovXG5cdG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNsaWVudHJlZ2lzdGVyIC5zdWItaGVhZGluZyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY2xpZW50cmVnaXN0ZXIgI3JlZ2lzdHJhdGlvbiBsYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJvZHkpO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHRcbn1cblxuLyogQWZmaWxpYXRlcyBTaWdudXAgKGFmZmlsaWF0ZXNzaWdudXAudHBsKSAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFmZmlsaWF0ZXNzaWdudXAgLndobWNzY29udGFpbmVyIC5sZWFkIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFmZmlsaWF0ZXNzaWdudXAgLndobWNzY29udGFpbmVyIHVsIHtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFmZmlsaWF0ZXNzaWdudXAgLndobWNzY29udGFpbmVyIHVsIGxpIHtcblx0YmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2J1bGxldC1pY29uLnBuZ1wiKSBsZWZ0IGNlbnRlciBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogYXV0byAyMHB4O1xuXHRwYWRkaW5nOiAxNXB4IDAgMTVweCAzMHB4O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFmZmlsaWF0ZXNzaWdudXAgLndobWNzY29udGFpbmVyIHA6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtYWZmaWxpYXRlc3NpZ251cCAud2htY3Njb250YWluZXIgLmNhcmQuZXh0cmEtcGFkZGluZyB7XG5cdHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIEFmZmlsaWF0ZXMgKGFmZmlsaWF0ZXMudHBsKSAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFmZmlsaWF0ZXMgLndobWNzY29udGFpbmVyIC5hZmZpbGlhdGUtc3RhdCB7XG5cdGxpbmUtaGVpZ2h0OiAyLjJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLWJvdHRvbS13aWR0aCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFmZmlsaWF0ZXMgLndobWNzY29udGFpbmVyIC5hZmZpbGlhdGUtc3RhdC5hbGVydC13YXJuaW5nLFxuLndobWNzLXRlbXBsYXRlZmlsZS1hZmZpbGlhdGVzIC53aG1jc2NvbnRhaW5lciAuYWZmaWxpYXRlLXN0YXQuYWxlcnQtaW5mbyxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtYWZmaWxpYXRlcyAud2htY3Njb250YWluZXIgLmFmZmlsaWF0ZS1zdGF0LmFsZXJ0LXN1Y2Nlc3Mge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFmZmlsaWF0ZXMgLndobWNzY29udGFpbmVyIC5jYXJkIC5oMyB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1jaGlsZCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1hZmZpbGlhdGVzIC53aG1jc2NvbnRhaW5lciBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDQ1MHB4O1xuXHRtYXJnaW46IDAgYXV0bztcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtYm9yZGVyKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9yZWdyb3VuZCk7XG59XG5cbi8qIEFkZCBGdW5kcyAoY2xpZW50YXJlYWFkZGZ1bmRzLnRwbCkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1jbGllbnRhcmVhYWRkZnVuZHMgLndobWNzY29udGFpbmVyIC5jYXJkIC50YWJsZSB7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBQcm9kdWN0IERldGFpbHMgKGNsaWVudGFyZWFwcm9kdWN0ZGV0YWlscy50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY2xpZW50YXJlYXByb2R1Y3RkZXRhaWxzIC53aG1jc2NvbnRhaW5lciAubWItMiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctY2hpbGQpICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY2xpZW50YXJlYXByb2R1Y3RkZXRhaWxzIC53aG1jc2NvbnRhaW5lciAucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LXN0YXR1cyBoMyB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY2xpZW50YXJlYXByb2R1Y3RkZXRhaWxzIC53aG1jc2NvbnRhaW5lciAucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LXN0YXR1cyBoNCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY2xpZW50YXJlYXByb2R1Y3RkZXRhaWxzIC53aG1jc2NvbnRhaW5lciAucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LXN0YXR1cyBoMywgXG4ud2htY3MtdGVtcGxhdGVmaWxlLWNsaWVudGFyZWFwcm9kdWN0ZGV0YWlscyAud2htY3Njb250YWluZXIgLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1zdGF0dXMgaDQge1xuXHRmb250LXNpemU6IDAuNGVtO1xufVxuXG4vKiBWaWV3IFRpY2tldCAodmlld3RpY2tldC50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld3RpY2tldCAud2htY3Njb250YWluZXIgLnRpY2tldC1idXR0b25zIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1jaGlsZCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3dGlja2V0IC53aG1jc2NvbnRhaW5lciAudmlldy10aWNrZXQgLnRpY2tldC1yZXBseSAucG9zdGVkLWJ5IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kKTtcblx0cGFkZGluZzogLjc1cmVtIDEuMjVyZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3dGlja2V0IC53aG1jc2NvbnRhaW5lciAudmlldy10aWNrZXQgLnRpY2tldC1yZXBseSAucG9zdGVkLWJ5IC5yZXF1ZXN0b3ItYmFkZ2Uge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3dGlja2V0IC53aG1jc2NvbnRhaW5lciAudmlldy10aWNrZXQgLnRpY2tldC1yZXBseS5zdGFmZiAucG9zdGVkLWJ5IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXd0aWNrZXQgLndobWNzY29udGFpbmVyIC52aWV3LXRpY2tldCAudGlja2V0LXJlcGx5LnN0YWZmIC5wb3N0ZWQtYnkgLnJlcXVlc3Rvci1iYWRnZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3dGlja2V0IC53aG1jc2NvbnRhaW5lciAudmlldy10aWNrZXQgLnRpY2tldC1yZXBseSAubWVzc2FnZSB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctaW5uZXIpICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld3RpY2tldCAud2htY3Njb250YWluZXIgLnZpZXctdGlja2V0IC50aWNrZXQtcmVwbHkgLm1lc3NhZ2UgaHIge1xuXHRjbGVhcjogYm90aDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3dGlja2V0IC53aG1jc2NvbnRhaW5lciAudmlldy10aWNrZXQgLnRpY2tldC1yZXBseSAubWVzc2FnZSAudGlja2V0LXN1cHBvcnQge1xuXHRib3JkZXItdG9wOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1kaXZpZGVyKSAxcHggc29saWQ7IFxuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1pbm5lcik7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld3RpY2tldCAud2htY3Njb250YWluZXIgLnZpZXctdGlja2V0IC50aWNrZXQtcmVwbHkgLnJhdGluZyxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld3RpY2tldCAud2htY3Njb250YWluZXIgLnZpZXctdGlja2V0IC50aWNrZXQtcmVwbHkgLnJhdGluZy1kb25lIHtcblx0bWFyZ2luOiAxN3B4IDAgMCAwO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXd0aWNrZXQgLndobWNzY29udGFpbmVyIC52aWV3LXRpY2tldCAudGlja2V0LXJlcGx5IC5hdHRhY2htZW50cyB7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZGl2aWRlcikgMXB4IHNvbGlkO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctaW5uZXIpICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld3RpY2tldCAud2htY3Njb250YWluZXIgLnZpZXctdGlja2V0IC50aWNrZXQtcmVwbHkgLmF0dGFjaG1lbnQtbGlzdCBsaSB7XG4gICAgd2lkdGg6IDE1MHB4O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXd0aWNrZXQgLndobWNzY29udGFpbmVyIC52aWV3LXRpY2tldCAudGlja2V0LXJlcGx5IC5hdHRhY2htZW50LWxpc3QgbGkgYSBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3dGlja2V0IC53aG1jc2NvbnRhaW5lciAudmlldy10aWNrZXQgLnRpY2tldC1yZXBseSAuYXR0YWNobWVudC1saXN0IGxpIGEgLmNhcHRpb24ge1xuXHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBDbGllbnQgQXJlYSBTZWN1cml0eSAoY2xpZW50YXJlYXNlY3VyaXR5LnRwbCkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1jbGllbnRhcmVhc2VjdXJpdHkgLndobWNzY29udGFpbmVyIC5ib290c3RyYXAtc3dpdGNoIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1jaGlsZCk7XG59XG5cbi8qIENsaWVudCBBcmVhIERldGFpbHMgKGNsaWVudGFyZWFkZXRhaWxzLnRwbCkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1jbGllbnRhcmVhZGV0YWlscyAud2htY3Njb250YWluZXIgaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ0bi1kZWZhdWx0IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogQ2xpZW50IEFyZWEgRG9tYWluIERldGFpbHMgKGNsaWVudGFyZWFkb21haW5kZXRhaWxzLnRwbCkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1jbGllbnRhcmVhZG9tYWluZGV0YWlscyAud2htY3Njb250YWluZXIgLmNvbC1sZy02IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1jaGlsZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY2xpZW50YXJlYWRvbWFpbmRldGFpbHMgLndobWNzY29udGFpbmVyIC5jb2wtbGctNiBoNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLyogQWNjb3VudCBDb250YWN0cyBOZXcgKGFjY291bnQtY29udGFjdHMtbmV3LnRwbCkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1hY2NvdW50LWNvbnRhY3RzLW5ldyAud2htY3Njb250YWluZXIgLmJ0bi1kZWZhdWx0IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogQW5ub3VuY2VtZW50cyAoYW5ub3VuY2VtZW50cy50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtYW5ub3VuY2VtZW50cyAud2htY3Njb250YWluZXIgLnByaW1hcnktY29udGVudCAuY2FyZCAuY2FyZC10aXRsZSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtYW5ub3VuY2VtZW50cyAud2htY3Njb250YWluZXIgLnByaW1hcnktY29udGVudCAuY2FyZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG59ICAgIFxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFubm91bmNlbWVudHMgLndobWNzY29udGFpbmVyIC5wcmltYXJ5LWNvbnRlbnQgLmNhcmQgLmNhcmQtYm9keSB7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1hbm5vdW5jZW1lbnRzIC53aG1jc2NvbnRhaW5lciAuYW5ub3VuY2VtZW50cyAuYW5ub3VuY2VtZW50IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctY2hpbGQpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtYW5ub3VuY2VtZW50cyAud2htY3Njb250YWluZXIgLmFubm91bmNlbWVudHMgLmFubm91bmNlbWVudDo6YWZ0ZXIge1xuXHRjbGVhcjogYm90aDtcblx0ZGlzcGxheTogdGFibGU7XG5cdGNvbnRlbnQ6IFwiXCI7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtYW5ub3VuY2VtZW50cyAud2htY3Njb250YWluZXIgLmFubm91bmNlbWVudHMgLmFubm91bmNlbWVudCBoMSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNwYWNpbmctY2hpbGQpIDA7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDAgMDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1hbm5vdW5jZW1lbnRzIC53aG1jc2NvbnRhaW5lciAuYW5ub3VuY2VtZW50cyAuYW5ub3VuY2VtZW50IGgxIGEge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWhlYWQtZm9yZWdyb3VuZCk7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdHBhZGRpbmc6IDVweCAwO1xuXHRkaXNwbGF5OiBibG9jaztcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFubm91bmNlbWVudHMgLndobWNzY29udGFpbmVyIC5hbm5vdW5jZW1lbnRzIC5hbm5vdW5jZW1lbnQgLmxpc3QtaW5saW5lIHtcblx0cGFkZGluZzogMCB2YXIoLS1zcGFjaW5nLWlubmVyKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWFubm91bmNlbWVudHMgLndobWNzY29udGFpbmVyIC5hbm5vdW5jZW1lbnRzIC5hbm5vdW5jZW1lbnQgYXJ0aWNsZSB7XG5cdG1hcmdpbjogMCB2YXIoLS1zcGFjaW5nLWlubmVyKSB2YXIoLS1zcGFjaW5nLWNoaWxkKSB2YXIoLS1zcGFjaW5nLWlubmVyKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1hbm5vdW5jZW1lbnRzIC53aG1jc2NvbnRhaW5lciAuYW5ub3VuY2VtZW50cyAuYW5ub3VuY2VtZW50IC5idG4ge1xuXHRtYXJnaW46IDAgdmFyKC0tc3BhY2luZy1jaGlsZCkgdmFyKC0tc3BhY2luZy1jaGlsZCkgMDtcblx0ZmxvYXQ6IHJpZ2h0O1x0XG59XG5cbi8qIFZpZXcgQW5ub3VuY2VtZW50IChhbm5vdW5jZW1lbnRzLnRwbCkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3YW5ub3VuY2VtZW50IC53aG1jc2NvbnRhaW5lciAucHJpbWFyeS1jb250ZW50IC5jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbn0gICAgXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2Fubm91bmNlbWVudCAud2htY3Njb250YWluZXIgLnByaW1hcnktY29udGVudCAuY2FyZCAuY2FyZC1ib2R5IHtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdhbm5vdW5jZW1lbnQgLndobWNzY29udGFpbmVyIC5wcmltYXJ5LWNvbnRlbnQgLmNhcmQgaDEge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdhbm5vdW5jZW1lbnQgLndobWNzY29udGFpbmVyIC5weS01IHtcblx0cGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3YW5ub3VuY2VtZW50IC53aG1jc2NvbnRhaW5lciAubGlzdC1pbmxpbmUge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2Fubm91bmNlbWVudCAud2htY3Njb250YWluZXIgLmJ1dHRvbjEge1xuXHRtYXJnaW46IDVweDtcbn1cblxuLyogTWFya2V0Y29ubmVjdCAqL1xuXG4ud2htY3Njb250YWluZXIgLmJnLXdoaXRlIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxuXG4ud2htY3Njb250YWluZXIgLmJnLWxpZ2h0IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5uYXZiYXIubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWRpdmlkZXIpICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5uYXZiYXIubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiA+IGxpOmxhc3QtY2hpbGQgPiBhIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWRpdmlkZXIpICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcik7XG59XG4ud2htY3Njb250YWluZXIgLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5uYXZiYXIgLm5hdmJhci1uYXYgPiBsaS5hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbn1cblxuLndobWNzY29udGFpbmVyIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm1hcmtldGdvbyAuZmVhdHVyZS13cmFwcGVyIHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC50ZXh0MjAgaDIge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItaGVhZGluZyk7XG59XG5cbi8qIFByb21vIGJhbm5lciAoZGlzcGxheWVkIGluIGNsaWVudGFyZWFob21lLnRwbCkgKi9cblxuLndobWNzY29udGFpbmVyIC5wcm9tby1jb250YWluZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi53aG1jc2NvbnRhaW5lciAucHJvbW8tYmFubmVyLnN5bWFudGVjLFxuLndobWNzY29udGFpbmVyIC5wcm9tby1iYW5uZXIud2VlYmx5LFxuLndobWNzY29udGFpbmVyIC5wcm9tby1iYW5uZXIuc3BhbWV4cGVydHMsXG4ud2htY3Njb250YWluZXIgLnByb21vLWJhbm5lci5zaXRlbG9jayxcbi53aG1jc2NvbnRhaW5lciAucHJvbW8tYmFubmVyLmNvZGVndWFyZCxcbi53aG1jc2NvbnRhaW5lciAucHJvbW8tYmFubmVyLnNpdGVsb2NrdnBuLFxuLndobWNzY29udGFpbmVyIC5wcm9tby1iYW5uZXIubWFya2V0Z29vLFxuLndobWNzY29udGFpbmVyIC5wcm9tby1iYW5uZXIub3gsXG4ud2htY3Njb250YWluZXIgLnByb21vLWJhbm5lci5zaXRlYnVpbGRlciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbn1cblxuLndobWNzY29udGFpbmVyIC5wcm9tby1iYW5uZXIgYSxcbi53aG1jc2NvbnRhaW5lciAucHJvbW8tYmFubmVyIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpO1xufVxuXG4vKiBTU0wgQ2VydGlmaWNhdGVzICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zc2xcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLnZhbGlkYXRpb24tbGV2ZWxzIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NzbFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAudmFsaWRhdGlvbi1sZXZlbHMgaDNcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zc2xcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgcC5oZWxwLW1lLWNob29zZSBhLFxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NzbFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCBhLmhlbHAtbWUtY2hvb3NlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3NsXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc3NsIC52YWxpZGF0aW9uLWxldmVscyAuaXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NzbFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAudmFsaWRhdGlvbi1sZXZlbHMgLml0ZW0gcCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib2R5KTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NzbFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAudmFsaWRhdGlvbi1sZXZlbHMgLml0ZW0gLmJ0biB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kKTtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3NsXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc3NsIC52YWxpZGF0aW9uLWxldmVscyAuaXRlbSAuYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZCk7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zc2xcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLnNzbC1iZW5lZml0cyBpIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NzbFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAuY29tcGV0aXRpdmUtdXBncmFkZS1wcm9tbyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufSAgICBcblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NzbFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAuc3RhbmRvdXQtMiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib2R5KTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NzbFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAuZGV0YWlsZWQtaW5mbyB7XG5cdHBhZGRpbmc6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3NsXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc3NsIC5hY2NvcmRpb24ge1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zc2xcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmRldGFpbGVkLWluZm8gLmNhcmQge1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zc2xcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmRldGFpbGVkLWluZm8gLmNhcmQtaGVhZGVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1oZWFkLWZvcmVncm91bmQpOyAgICBcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NzbFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAuZGV0YWlsZWQtaW5mbyAuY2FyZC1oZWFkZXIgaDQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NzbFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAuZGV0YWlsZWQtaW5mbyAuY2FyZC1ib2R5IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NzbFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAuZGV0YWlsZWQtaW5mbyAuY2FyZC1ib2R5IGg0IHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kLWJvbGQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3NsXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc3NsIHVsLnNzbC1jZXJ0cy1hbGwgbGkge1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWRpdmlkZXIpIDFweCBzb2xpZDtcbn1cblxuLyogU1NMIHN1YiBwYWdlcyAqL1xuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmlkZWFsLWZvci5kdiBpIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbn1cblxuLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc3NsIC5jZXJ0aWZpY2F0ZS1vcHRpb25zIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAuY2VydGlmaWNhdGUtb3B0aW9ucyBoMyxcbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAucm93LXByaWNpbmctdGFibGUgLmhlYWRlciBoNCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAuY2VydGlmaWNhdGUtb3B0aW9ucyAuY29sLW1kLTMuc2lkZWJhciB1bCBsaSxcbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAuY2VydGlmaWNhdGUtb3B0aW9ucyAuY29sLW1kLTQuc2lkZWJhciB1bCBsaSxcbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAuY2VydGlmaWNhdGUtb3B0aW9ucyAuY29sLW1kLTYuc2lkZWJhciB1bCBsaSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZCk7XG5cdGJvcmRlci1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLnJvdy1wcmljaW5nLXRhYmxlIHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDA7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAucm93LXByaWNpbmctdGFibGUgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmNlcnRpZmljYXRlLW9wdGlvbnMgLmJ0biB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kKTtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1x0XG59XG5cbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAuY2VydGlmaWNhdGUtb3B0aW9ucyAuYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZCk7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcdFxufVxuXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmZlYXR1cmVzIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLWJvdHRvbS13aWR0aCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRwYWRkaW5nOiA1MHB4IHZhcigtLXNwYWNpbmctaW5uZXIpIDUwcHg7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAuZmVhdHVyZXMgaDMge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQtYm9sZCk7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAuZmVhdHVyZXMgLmZlYXR1cmUsXG4ud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zc2wgLmZlYXR1cmVzIC5mZWF0dXJlOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWZvcmVncm91bmQtYm9sZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNzbCAuZmVhdHVyZXMgLmZlYXR1cmUgaSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWZvcmVncm91bmQtYm9sZCk7XG59XG5cbi8qIFZQTiAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2t2cG5cXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9ja3ZwbiAuZGl2aWRpbmctbGluZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja3ZwblxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrdnBuIC5oZXJvIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrdnBuXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2t2cG4gLmhlcm8tYmcge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctY2hpbGQpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWNoaWxkKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrdnBuXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2t2cG4gLmhlcm8gaDEge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpO1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2t2cG5cXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9ja3ZwbiAuaGVybyBoMiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZCk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja3ZwblxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrdnBuIC5idG4tc3RhcnQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZCk7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrdnBuXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2t2cG4gLmJ0bi1zdGFydDpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQpO1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja3ZwblxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrdnBuIC5mZWF0dXJlLmFsdGVybmF0ZS1iZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDAgMDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrdnBuXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2t2cG4gLmZlYXR1cmUucHJpY2luZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrdnBuXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2t2cG4gLmZlYXR1cmUucHJpY2luZyBoMiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrdnBuXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2t2cG4gLmZlYXR1cmUucHJpY2luZyAucHJpY2luZy1ib3gge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLWJvdHRvbS13aWR0aCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrdnBuXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2t2cG4gLmZlYXR1cmUucHJpY2luZyAuY3ljbGUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWhlYWQtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDA7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWhlYWQtZm9yZWdyb3VuZCk7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtaGVhZC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2t2cG5cXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9ja3ZwbiAuZmVhdHVyZS5wcmljaW5nIC5wcmljZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrdnBuXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2t2cG4gLmZlYXR1cmUucHJpY2luZyB1bCBsaSB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZGl2aWRlcik7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja3ZwblxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrdnBuIC5mZWF0dXJlIC5sYWJlbC1pbmZvIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrdnBuXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2t2cG4gLmJ0bi1zaWdudXAge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1x0XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja3ZwblxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrdnBuIC5mZWF0dXJlLndvcmxkIHNwYW4ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrdnBuXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2t2cG4gLmZlYXR1cmUuY291bnRyaWVzIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbn1cblxuLyogV2Vic2l0ZSBCdWlsZGVyICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC93ZWVibHlcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAuZmVhdHVyZXMge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3dlZWJseVxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5mZWF0dXJlcyBoNCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3dlZWJseVxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLndlZWJseSAud2VlYmx5LWxpdGUtcGxhbiB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcbiAgICBib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctaW5uZXIpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvd2VlYmx5XFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uud2VlYmx5IC53ZWVibHktbGl0ZS1wbGFuIGg0LFxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3dlZWJseVxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLndlZWJseSAud2VlYmx5LWxpdGUtcGxhbiBoNSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3dlZWJseVxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLndlZWJseSAud2VlYmx5LWxpdGUtcGxhbiAuYnRuLXNpZ251cCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCkgIWltcG9ydGFudDtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZCkgIWltcG9ydGFudDtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHggIWltcG9ydGFudDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3dlZWJseVxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLndlZWJseSAud2VlYmx5LWxpdGUtcGxhbiAuYnRuLXNpZ251cDpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKSAhaW1wb3J0YW50O1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQpICFpbXBvcnRhbnQ7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweCAhaW1wb3J0YW50O1x0XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC93ZWVibHlcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAucHJpY2luZy1pdGVtIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xuICAgIGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLWJvdHRvbS13aWR0aCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC93ZWVibHlcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAucHJpY2luZy1pdGVtIC5oZWFkZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRwYWRkaW5nOiAxMXB4O1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWNoaWxkKTtcblx0Ym9yZGVyLWJvdHRvbTogdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3dlZWJseVxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5wcmljaW5nLWl0ZW0gLmhlYWRlciBoNCxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC93ZWVibHlcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAucHJpY2luZy1pdGVtIC5oZWFkZXIgaDUge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWhlYWQtZm9yZWdyb3VuZCk7XG5cdG1hcmdpbjogMDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3dlZWJseVxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5wcmljaW5nLWl0ZW0gLnByaWNlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kLWJvbGQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvd2VlYmx5XFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UgLnByaWNpbmctaXRlbSAuZmVhdHVyZS1oZWFkaW5nIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kLWJvbGQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3dlZWJseVxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5wcmljaW5nLWl0ZW0gdWwgbGkge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZGl2aWRlcik7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC93ZWVibHlcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS53ZWVibHkgLmZhcSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcbiAgICBib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1x0XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC93ZWVibHlcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS53ZWVibHkgLmZhcSBoMyxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC93ZWVibHlcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS53ZWVibHkgLmZhcSBoNCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLyogV2Vic2l0ZSBCYWNrdXAgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL2NvZGVndWFyZFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLmNvZGVndWFyZCAuc3Ryb25nLWdyZWVuIHNwYW4ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL2NvZGVndWFyZFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLmNvZGVndWFyZCAub3ZlcnZpZXctZmVhdHVyZXMgbGkge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9jb2RlZ3VhcmRcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5jb2RlZ3VhcmQgLm92ZXJ2aWV3LWZlYXR1cmVzIHNwYW4ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm9keSk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9jb2RlZ3VhcmRcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5jb2RlZ3VhcmQgLnByaWNpbmcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvY29kZWd1YXJkXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UuY29kZWd1YXJkIC5wcmljaW5nIGgyIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL2NvZGVndWFyZFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLmNvZGVndWFyZCAub3JkZXItYnRuIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZCAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweCAhaW1wb3J0YW50O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvY29kZWd1YXJkXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UuY29kZWd1YXJkIC5vcmRlci1idG46aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSkgIWltcG9ydGFudDtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHggIWltcG9ydGFudDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL2NvZGVndWFyZFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLmNvZGVndWFyZCAuZmFxcyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG59XG5cbi8qIFdlYnNpdGUgU2VjdXJpdHkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLnBsYW5zIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLnBsYW5zIGgyLFxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLnBsYW5zIGgzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9jayAucGxhbnMgLnBsYW4ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLWJvdHRvbS13aWR0aCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLnBsYW5zIC5wbGFuIC5oZWFkZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWhlYWQtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItYm90dG9tOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWhlYWQtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1oZWFkLWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9jayAucGxhbnMgLnBsYW4gLmhlYWRlciBoNCxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrIC5wbGFucyAucGxhbiAuaGVhZGVyIHAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1oZWFkLWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9jayAucGxhbnMgLnBsYW4gLmhlYWRlciBoNCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9jayAucGxhbnMgLnBsYW4gdWwgbGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWZvcmVncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWRpdmlkZXIpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9jayAucGxhbnMgLnBsYW4gdWwgbGkgc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrIC5wbGFucyAucGxhbiAuYnRuIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQpO1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9jayAucGxhbnMgLnBsYW4gLmJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQpO1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XHRcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLmZlYXR1cmVzIC5mYXMsXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9jayAuZmVhdHVyZXMgLmZhciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrIC5lbWVyZ2VuY3kge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG5cdHBhZGRpbmc6IDgwcHggMjBweDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLmVtZXJnZW5jeSBoMi50ZXh0LWRhbmdlciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKSAhaW1wb3J0YW50O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9jayAuZW1lcmdlbmN5IGgzIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlbG9jayBoNCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLmVtZXJnZW5jeSAuZmFzLFxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLmVtZXJnZW5jeSAuZmFyIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWxvY2sgLmVtZXJnZW5jeSAuYnRuIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZCAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweCAhaW1wb3J0YW50O1x0XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrIC5lbWVyZ2VuY3kgLmJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKSAhaW1wb3J0YW50O1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQpICFpbXBvcnRhbnQ7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweCAhaW1wb3J0YW50O1x0XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVsb2NrIC5mYXEgLmFjY29yZGlvbiB7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVsb2NrXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5jYXJkIC5jYXJkLWhlYWRlciBoNCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1mb3JlZ3JvdW5kKSAhaW1wb3J0YW50O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWxvY2tcXC9pbmRleCAud2htY3Njb250YWluZXIgLmFjY29yZGlvbiA+IC5jYXJkOm5vdCg6bGFzdC1vZi10eXBlKSxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAuYWNjb3JkaW9uID4gLm1jLXByb21vLWxvZ2luOm5vdCg6bGFzdC1vZi10eXBlKSxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlbG9ja1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAuYWNjb3JkaW9uID4gLm1jLXByb21vLW1hbmFnZTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuXHRib3JkZXItYm90dG9tOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpIHNvbGlkO1xufVxuXG4vKiBFbWFpbCBTZWN1cml0eSAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3BhbWV4cGVydHNcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5tYWlsLXNlcnZpY2VzIC5wcm9kdWN0LW9wdGlvbnMge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zcGFtZXhwZXJ0c1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm1haWwtc2VydmljZXMgLnByb2R1Y3Qtb3B0aW9ucyAuaXRlbSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NwYW1leHBlcnRzXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UgLnByb2R1Y3Qtb3B0aW9ucyBoNCxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zcGFtZXhwZXJ0c1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5wcm9kdWN0LW9wdGlvbnMgaSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NwYW1leHBlcnRzXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UubWFpbC1zZXJ2aWNlcyAucHJvZHVjdC1vcHRpb25zIC5wcmljZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zcGFtZXhwZXJ0c1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5wcm9kdWN0LW9wdGlvbnMgLml0ZW0gLmJ0biB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZCk7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XHRcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NwYW1leHBlcnRzXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UgLnByb2R1Y3Qtb3B0aW9ucyAuaXRlbSAuYnRuOmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWZvcmVncm91bmQpO1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3BhbWV4cGVydHNcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5tYWlsLXNlcnZpY2VzIC5wcm9kdWN0LW9wdGlvbnMgLmJ0bi1idXkge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZCk7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1x0XHRcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NwYW1leHBlcnRzXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UubWFpbC1zZXJ2aWNlcyAucHJvZHVjdC1vcHRpb25zIC5idG4tYnV5OmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZCk7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcdFx0XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zcGFtZXhwZXJ0c1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5saWdodC1ncmV5LWJnIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm9keSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cykgMCAwO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3BhbWV4cGVydHNcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAudGFiLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NwYW1leHBlcnRzXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UubWFpbC1zZXJ2aWNlcyAuYmVuZWZpdHMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NwYW1leHBlcnRzXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UgLmdldC1zdGFydGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zcGFtZXhwZXJ0c1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5nZXQtc3RhcnRlZCBoMixcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zcGFtZXhwZXJ0c1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5nZXQtc3RhcnRlZCBoNCxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zcGFtZXhwZXJ0c1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlIC5nZXQtc3RhcnRlZCAucHJpY2Uge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb3JlZ3JvdW5kLWJvbGQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3BhbWV4cGVydHNcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAuZmFxIGgzIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWhlYWRpbmcpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc3BhbWV4cGVydHNcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZSAuZ2V0LXN0YXJ0ZWQgLmJ0bi1vcmRlci1ub3cge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZCk7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1x0XHRcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NwYW1leHBlcnRzXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UgLmdldC1zdGFydGVkIC5idG4tb3JkZXItbm93OmhvdmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZCk7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcdFx0XG59XG5cbi8qIFNFTyBUb29scyAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvbWFya2V0Z29vXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UubWFya2V0Z29vIC52aWRlby1iYW5uZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjNDZiN2ZiO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvbWFya2V0Z29vXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UubWFya2V0Z29vIC5wbGFuIHVsIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvbWFya2V0Z29vXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2UubWFya2V0Z29vIC5wbGFuLmxhYmVscyB1bCBsaSB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL21hcmtldGdvb1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm1hcmtldGdvbyAucGxhbiB1bCBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL21hcmtldGdvb1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm1hcmtldGdvbyAucGxhbi5tYXJrZXRnb29fcHJvIC5oZWFkZXIgaDQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL21hcmtldGdvb1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm1hcmtldGdvbyAucGxhbiAuaGVhZGVyIC5iZXN0LXZhbHVlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9tYXJrZXRnb29cXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5tYXJrZXRnb28gLnBsYW4ubWFya2V0Z29vX3BybyB1bCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9tYXJrZXRnb29cXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5tYXJrZXRnb28gLnRlc3RpbW9uaWFscyAudGVzdGltb25pYWwge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm9keSk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9tYXJrZXRnb29cXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5tYXJrZXRnb28gLmNhcm91c2VsIC5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL21hcmtldGdvb1xcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm1hcmtldGdvbyAuZmFxcyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vKiBQcm9mZXNzaW9uYWwgRW1haWwgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL294XFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uub3ggLmhlYWRlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cykgMCAwO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvb3hcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5veCAuaGVhZGVyIGgxIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL294XFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uub3ggLnN0YW5kLW91dCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cyk7ICAgIFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvb3hcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5veCAuc3RhbmQtb3V0IGgyIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kLWJvbGQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvb3hcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5veCBoMyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9veFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm94IC5mYXFzIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpOyAgXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7ICBcbn0gXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9veFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm94IC5wcmljaW5nIHRhYmxlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL294XFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uub3ggLnByaWNpbmcgdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB0ZDpmaXJzdC1jaGlsZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9veFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm94IC5wcmljaW5nIHRkOm5vdCgubm8tYm9yZGVyKSxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9veFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm94IC5wcmljaW5nIHRoIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcik7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9veFxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLm94IC5wcmljaW5nIC5wcmljaW5nLWxhYmVsIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWhlYWRpbmcpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvb3hcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5veCAucHJpY2luZyB0aCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1oZWFkLWZvcmVncm91bmQpO1xufVxuXG4vKiBTaXRlIEJ1aWxkZXIgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVidWlsZGVyXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWJ1aWxkZXIgLmJvbGQtbGluZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlYnVpbGRlclxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVidWlsZGVyIC5oZXJvIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVidWlsZGVyXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWJ1aWxkZXIgLmludHJvIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1x0XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlYnVpbGRlclxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVidWlsZGVyIC5uYXYtdGFicyA+IGxpID4gYSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kLWJvbGQpO1x0XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlYnVpbGRlclxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVidWlsZGVyIC5uYXYtdGFicyA+IGxpID4gYTpob3Zlcixcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlYnVpbGRlclxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVidWlsZGVyIC5uYXYtdGFicyA+IGxpID4gYS5hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWZvcmVncm91bmQtYm9sZCk7XHRcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVidWlsZGVyXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWJ1aWxkZXIgLmZlYXR1cmVzIHAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm9keSk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlYnVpbGRlclxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVidWlsZGVyIC50ZW1wbGF0ZXMge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlYnVpbGRlclxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVidWlsZGVyIC50ZW1wbGF0ZXMgLnByZXZpZXdzIGltZyxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlYnVpbGRlclxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVidWlsZGVyIC50ZW1wbGF0ZXMgLnByZXZpZXdzIC5zaG93LW1vcmUgZGl2IHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1x0XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtc3RvcmVcXC9zaXRlYnVpbGRlclxcL2luZGV4IC53aG1jc2NvbnRhaW5lciAubGFuZGluZy1wYWdlLnNpdGVidWlsZGVyIC50ZW1wbGF0ZXMgLnByZXZpZXdzIC50cGxuYW1lIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWhlYWRpbmcpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvc2l0ZWJ1aWxkZXJcXC9pbmRleCAud2htY3Njb250YWluZXIgLmxhbmRpbmctcGFnZS5zaXRlYnVpbGRlciAucHJpY2luZyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgaGVpZ2h0OiA4OTNweDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL3NpdGVidWlsZGVyXFwvaW5kZXggLndobWNzY29udGFpbmVyIC5sYW5kaW5nLXBhZ2Uuc2l0ZWJ1aWxkZXIgLnByaWNpbmcgaDIsIC5sYW5kaW5nLXBhZ2Uuc2l0ZWJ1aWxkZXIgLnByaWNpbmcgcCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kKTtcbn1cblxuLyogQ2FydCAtIFN0YW5kYXJkIENhcnQgKi9cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgI29yZGVyLXN0YW5kYXJkX2NhcnQgbGFiZWwge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm9keSk7XG5cdGZvbnQtc2l6ZTogMWVtO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQge1xuXHRmb250LXNpemU6IDFlbTsgLyogVW5zZXQgcGl4ZWwgZm9udCAqL1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmNhcnQtc2lkZWJhciB7IC8qIFJlbW92ZSBzaWRlYmFyICovXG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5jYXJ0LWJvZHkge1xuXHR3aWR0aDogMTAwJTtcblx0ZmxvYXQ6IG5vbmU7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuc2lkZWJhci1jb2xsYXBzZWQgeyAvKiBSZW1vdmUgbW9iaWxlIGNhdGVnb3JpZXMgKi9cblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZW5ldy53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydC5kb21haW4tcmVuZXdhbHMtc2hvdy1zaWRlYmFyIC5jYXJ0LXNpZGViYXIsXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlbmV3YWxzLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0LmRvbWFpbi1yZW5ld2Fscy1zaG93LXNpZGViYXIgLmNhcnQtc2lkZWJhciB7XG5cdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVuZXcud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQuZG9tYWluLXJlbmV3YWxzLXNob3ctc2lkZWJhciAuY2FydC1ib2R5LFxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZW5ld2Fscy53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydC5kb21haW4tcmVuZXdhbHMtc2hvdy1zaWRlYmFyIC5jYXJ0LWJvZHkge1xuXHR3aWR0aDogNzUlO1xuXHRmbG9hdDogcmlnaHQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVuZXcud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQuZG9tYWluLXJlbmV3YWxzLXNob3ctc2lkZWJhciAuc2lkZWJhci1jb2xsYXBzZWQsXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlbmV3YWxzLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0LmRvbWFpbi1yZW5ld2Fscy1zaG93LXNpZGViYXIgLnNpZGViYXItY29sbGFwc2VkIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcblx0LndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZW5ldy53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydC5kb21haW4tcmVuZXdhbHMtc2hvdy1zaWRlYmFyIC5jYXJ0LXNpZGViYXIsXG5cdC53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVuZXdhbHMud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQuZG9tYWluLXJlbmV3YWxzLXNob3ctc2lkZWJhciAuY2FydC1zaWRlYmFyIHtcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlbmV3LndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0LmRvbWFpbi1yZW5ld2Fscy1zaG93LXNpZGViYXIgLmNhcnQtYm9keSxcblx0LndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZW5ld2Fscy53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydC5kb21haW4tcmVuZXdhbHMtc2hvdy1zaWRlYmFyIC5jYXJ0LWJvZHkge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGZsb2F0OiBub25lO1xuXHR9XG5cblx0LndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZW5ldy53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydC5kb21haW4tcmVuZXdhbHMtc2hvdy1zaWRlYmFyIC5zaWRlYmFyLWNvbGxhcHNlZCxcblx0LndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZW5ld2Fscy53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydC5kb21haW4tcmVuZXdhbHMtc2hvdy1zaWRlYmFyIC5zaWRlYmFyLWNvbGxhcHNlZCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5mb250LXNpemUtMzYgeyAvKiBIMSAqL1xuXHRmb250LXNpemU6IDJlbTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmZvbnQtc2l6ZS0zNjo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IC0xMHB4O1x0XG5cdHdpZHRoOiA0MHB4O1xuXHRoZWlnaHQ6IDJweDtcblx0YmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2hlYWRpbmctYmFja2dyb3VuZC5wbmdcIikgbGVmdCB0b3Agbm8tcmVwZWF0O1x0XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogU3ViaGVhZGluZyAqL1xuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnN1Yi1oZWFkaW5nLFxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5zdWItaGVhZGluZy1ib3JkZXJsZXNzIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5zdWItaGVhZGluZyBzcGFuLFxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5zdWItaGVhZGluZy1ib3JkZXJsZXNzIHNwYW4ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IHN0YXRpYztcbiAgICBwYWRkaW5nOiAwO1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRsaW5lLWhlaWdodDogMS4yZW07XG5cdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc3BhY2luZy1jaGlsZCkgMDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5hZGRvbi1wcm9tby1jb250YWluZXIge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vKiBPcmRlciBTdW1tYXJ5ICovXG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAub3JkZXItc3VtbWFyeSB7XG5cdG1hcmdpbjogMCAwIDIwcHggMDtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBib3JkZXI6IHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLWJvdHRvbS13aWR0aCk7XHRcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDA7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAub3JkZXItc3VtbWFyeSxcbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAjb3JkZXJTdW1tYXJ5IHtcblx0bWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyAvKiBTdG9wcyB0aGUgc2Nyb2xsIGVmZmVjdCB3aGljaCBpcyB0b28gYnVnZ3kgdG8ga2VlcCBhY3RpdmUgKi9cblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAub3JkZXItc3VtbWFyeSBoMiB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWhlYWQtZm9yZWdyb3VuZCk7XG4gICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5zdW1tYXJ5LWNvbnRhaW5lciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctaW5uZXIpO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLm9yZGVyLXN1bW1hcnkgLnN1bW1hcnktdG90YWxzIHtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1kaXZpZGVyKSAxcHggc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZGl2aWRlcikgMXB4IHNvbGlkO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLm9yZGVyLXN1bW1hcnkgLmxvYWRlciB7XG4gICAgdG9wOiAxNXB4O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAub3JkZXItc3VtbWFyeSAuYnRuLWNvbnRpbnVlLXNob3BwaW5nIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xufVxuXG4vKiBQcm9kdWN0IEluZm8gKi9cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5wcm9kdWN0LWluZm8ge1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zcGFjaW5nLWNoaWxkKSAwO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy1jaGlsZCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnByb2R1Y3QtaW5mbyAucHJvZHVjdC10aXRsZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi8qIEFkZG9ucyAqL1xuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnBhbmVsLWFkZG9uIHtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5wYW5lbC1hZGRvbiAucGFuZWwtYm9keSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5wYW5lbC1hZGRvbiAucGFuZWwtYm9keSBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQtYm9sZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAucGFuZWwtYWRkb24gLnBhbmVsLXByaWNlIHtcbiAgICBwYWRkaW5nOiA1cHggdmFyKC0tc3BhY2luZy1pbm5lcik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1mb290ZXItYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWZvb3Rlci1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWZvb3Rlci1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tY29sb3ItYm94LWZvb3Rlci1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9vdGVyLWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnBhbmVsLWFkZG9uIC5wYW5lbC1hZGQge1xuICAgIHBhZGRpbmc6IDVweCB2YXIoLS1zcGFjaW5nLWlubmVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQpO1xuICAgIHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWNvbG9yLXByaW1hcnktYm9yZGVyKSAzcHggc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vKiBTZWxlY3RlZCAqL1xuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnBhbmVsLWFkZG9uLXNlbGVjdGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYm9yZGVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5wYW5lbC1hZGRvbi1zZWxlY3RlZCAucGFuZWwtYWRkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZCk7XG4gICAgdGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnBhbmVsLWFkZG9uLXNlbGVjdGVkIC5wYW5lbC1wcmljZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9vdGVyLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtZm9vdGVyLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWZvb3Rlci1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb290ZXItYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb290ZXItZm9yZWdyb3VuZCk7XG59XG5cbi8qIERvbWFpbiBTZWxlY3QgLSBVc2VkIHdoZW4gb3JkZXJpbmcgYSBwcm9kdWN0IHdpdGggZG9tYWluIC0gYWxzbyBzdHlsZXMgdGhlIHRhYmxlL3Jlc3VsdHMgb24gZG9tYWlucmVnaXN0ZXIudHBsICovXG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLXNlbGVjdGlvbi1vcHRpb25zIC5vcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1pbm5lcik7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLWJvdHRvbS13aWR0aCk7ICAgXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpOyBcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5kb21haW4tc2VsZWN0aW9uLW9wdGlvbnMgLm9wdGlvbi1zZWxlY3RlZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcdFxufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmRvbWFpbi1zZWxlY3Rpb24tb3B0aW9ucyAub3B0aW9uIGxhYmVsIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0Zm9udC1zaXplOiAxZW07XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLXNlbGVjdGlvbi1vcHRpb25zIC5vcHRpb24tc2VsZWN0ZWQgbGFiZWwge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5kb21haW4taW5wdXQtZ3JvdXAge1xuXHRtYXJnaW46IDIwcHggMCAwIDA7XG59XG5cbi8qIERvbWFpbiBSZXN1bHRzICovXG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLWNoZWNrZXItYXZhaWxhYmxlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuc3BvdGxpZ2h0LXRsZHMge1xuXHRwYWRkaW5nOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0bWFyZ2luOiAxNXB4IDAgdmFyKC0tc3BhY2luZy1jaGlsZCkgMFxufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnNwb3RsaWdodC10bGQtY29udGFpbmVyLTIge1xuXHR3aWR0aDogMzMuMzMlO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnNwb3RsaWdodC10bGQge1xuXHRoZWlnaHQ6IGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctaW5uZXIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnNwb3RsaWdodC10bGQgLnNwb3RsaWdodC10bGQtc2FsZSxcbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuc3BvdGxpZ2h0LXRsZCAuc3BvdGxpZ2h0LXRsZC1ob3QsXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnNwb3RsaWdodC10bGQgLnNwb3RsaWdodC10bGQtbmV3IHtcbiAgICB3aWR0aDogMTA1cHg7XG4gICAgdG9wOiAycHg7XG4gICAgcmlnaHQ6IC0zNHB4O1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnNwb3RsaWdodC10bGQgLmJ0bjpub3QoLmRvbWFpbi1jb250YWN0LXN1cHBvcnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBib3JkZXItY29sb3I6ICB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtYm9yZGVyKTtcbiAgICBjb2xvcjogIHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZCk7XG4gICAgdGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi53aG1jcy1maWxlbmFtZS1jYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuc3VnZ2VzdGVkLWRvbWFpbnMgLnBhbmVsLWhlYWRpbmcge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7IFxuXHRib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1mb3JlZ3JvdW5kKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cykgMCAwO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnN1Z2dlc3RlZC1kb21haW5zIC5saXN0LWdyb3VwLWl0ZW0ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRib3JkZXItdG9wOiBub25lO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtZmlsZW5hbWUtY2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnN1Z2dlc3RlZC1kb21haW5zIC5saXN0LWdyb3VwLWl0ZW0gLmV4dGVuc2lvbiB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5zdWdnZXN0ZWQtZG9tYWlucyAubGlzdC1ncm91cC1pdGVtIC5wcmljZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZC1ib2xkKTtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5zdWdnZXN0ZWQtZG9tYWlucyAubGlzdC1ncm91cC1pdGVtIC5idG46bm90KC5kb21haW4tY29udGFjdC1zdXBwb3J0KSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkIDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZCk7XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5zdWdnZXN0ZWQtZG9tYWlucyAubGlzdC1ncm91cC1pdGVtIC5idG46bm90KC5kb21haW4tY29udGFjdC1zdXBwb3J0KTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQpO1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XHRcbn1cblxuLndobWNzLWZpbGVuYW1lLWNhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5zdWdnZXN0ZWQtZG9tYWlucyAuY2FyZC1mb290ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8qIENvbmZpZ3VyZSBEb21haW5zIChjb25maWd1cmVkb21haW5zLnRwbCkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1jb25maWd1cmVkb21haW5zIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuYWRkb24tcHJvZHVjdHMge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWNoaWxkKTtcblx0Ym9yZGVyLWJvdHRvbTogdmFyKC0tY29sb3ItYm9yZGVyKSAxcHggc29saWQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY29uZmlndXJlZG9tYWlucyAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmFkZG9uLXByb2R1Y3RzIC5wYW5lbCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctY2hpbGQpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuICAgIGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1x0XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY29uZmlndXJlZG9tYWlucyAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmFkZG9uLXByb2R1Y3RzIC5wYW5lbCAucGFuZWwtYm9keSB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctaW5uZXIpO1xufVxuXG4vKiBDb25maWd1cmUgUHJvZHVjdCAoY29uZmlndXJlcHJvZHVjdC50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtY29uZmlndXJlcHJvZHVjdCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgI2lucHV0QmlsbGluZ2N5Y2xlIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIENvbmZpZ3VyZSBQcm9kdWN0IFN0b3JlIChzdG9yZS9vcmRlcikgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL29yZGVyIC53aG1jc2NvbnRhaW5lciAuYnRuLWRlZmF1bHQge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvb3JkZXIgLndobWNzY29udGFpbmVyIC5jYXJkLm10LTUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXN0b3JlXFwvb3JkZXIgLndobWNzY29udGFpbmVyIC5zdG9yZS1wcm9tb3RlZC1wcm9kdWN0IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL29yZGVyIC53aG1jc2NvbnRhaW5lciAuc3RvcmUtb3JkZXItY29udGFpbmVyIC5uYXYtdGFicyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL29yZGVyIC53aG1jc2NvbnRhaW5lciAuc3RvcmUtb3JkZXItY29udGFpbmVyIC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpIHZhcigtLWNvbG9yLWJvcmRlcikgI2ZmZjtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1zdG9yZVxcL29yZGVyIC53aG1jc2NvbnRhaW5lciAuc3RvcmUtb3JkZXItY29udGFpbmVyIC5zdG9yZS1kb21haW4tdGFiLWNvbnRlbnQge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi8qIFByb2R1Y3RzIChwcm9kdWN0cy50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtcHJvZHVjdHMgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5wcm9kdWN0cyAucHJvZHVjdCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKTtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLWJvdHRvbS13aWR0aCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvcmVncm91bmQpO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXByb2R1Y3RzIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAucHJvZHVjdHMgLnByb2R1Y3QgaGVhZGVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyLWJvdHRvbTogdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0bWFyZ2luOiAwIDAgNXB4IDA7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDAgMDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1wcm9kdWN0cyAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnByb2R1Y3RzIC5wcm9kdWN0IGhlYWRlciBzcGFuIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1oZWFkLWZvcmVncm91bmQpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXByb2R1Y3RzIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAucHJvZHVjdHMgLnByb2R1Y3QgZGl2LnByb2R1Y3QtZGVzYyB7XG5cdGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBIb3ZlciAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXByb2R1Y3RzIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAucHJvZHVjdHMgLnByb2R1Y3Q6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1wcm9kdWN0cyAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnByb2R1Y3RzIC5wcm9kdWN0OmhvdmVyIGhlYWRlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtaGVhZC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYWN0aXZlLWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1hY3RpdmUtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm94LWFjdGl2ZS1oZWFkLWJhY2tncm91bmQtYm9yZGVyKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1wcm9kdWN0cyAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnByb2R1Y3RzIC5wcm9kdWN0OmhvdmVyIGhlYWRlciBzcGFuIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1hY3RpdmUtaGVhZC1mb3JlZ3JvdW5kKTtcbn1cblxuLyogUmVnaXN0ZXIgRG9tYWluIChkb21haW4tcHJpY2luZy50cGwpICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWluLXByaWNpbmcgLndobWNzY29udGFpbmVyIC5mZWF0dXJlZC10bGQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWNoaWxkKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW4tcHJpY2luZyAud2htY3Njb250YWluZXIgLnRsZC1maWx0ZXJzIGEge1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvcmVncm91bmQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW4tcHJpY2luZyAud2htY3Njb250YWluZXIgLnRsZC1maWx0ZXJzIGEuYmFkZ2Utc3VjY2VzcyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcik7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWZvcmVncm91bmQpO1xufVxuXG4vKiBEb21haW4gUmVnaXN0ZXIgKGRvbWFpbnJlZ2lzdGVyLnRwbCkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmRvbWFpbi1jaGVja2VyLWNvbnRhaW5lciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtYmFubmVyKSB1cmwoXCIuLi9pbWFnZXMvYmFja2dyb3VuZDUuanBnXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmRvbWFpbi1jaGVja2VyLWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAtYm94IHtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5kb21haW4tY2hlY2tlci1jb250YWluZXIgLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCB7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpIDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzKTtcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLWNoZWNrZXItYmcge1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLXBhcmVudCkgMDtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmZlYXR1cmVkLXRsZCB7XG4gICAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2luZy1jaGlsZCkgMDtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpOyAgICBcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmZlYXR1cmVkLXRsZCAuaW1nLWNvbnRhaW5lciBpbWcge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5mZWF0dXJlZC10bGQgLnByaWNlIHtcbiAgICBwYWRkaW5nOiA1cHggdmFyKC0tc3BhY2luZy1pbm5lcik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWZvcmVncm91bmQpO1xuXHR0ZXh0LXNoYWRvdzogdmFyKC0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRib3JkZXItYm90dG9tOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtYm9yZGVyKSAzcHggc29saWQ7ICAgIFxuICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmZvbnQtc2l6ZS0xOCB7XG5cdGZvbnQtc2l6ZTogMS43ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjJlbTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnRsZC1maWx0ZXJzIGEge1xuXHRwYWRkaW5nOiAxM3B4IDIwcHg7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZCk7XHRcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcdFxuXHRtYXJnaW46IDhweCA1cHggOHB4IDA7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRmb250LXNpemU6IDEuMWVtO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAudGxkLWZpbHRlcnMgYS5iYWRnZS1zdWNjZXNzIHsgLyogQWN0aXZlIGJ1dHRvbiAqL1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kKTtcdFxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZC1ib3JkZXIpO1x0XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5iZy13aGl0ZSB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctY2hpbGQpO1x0XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZCkgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSkgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5kb21haW4tcHJpY2luZyAudGxkLXByaWNpbmctaGVhZGVyIGRpdjpudGgtY2hpbGQoMm4rMSksXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLXByaWNpbmcgLnRsZC1wcmljaW5nLWhlYWRlciAuY29sLXhzLTQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWhlYWQtZm9yZWdyb3VuZCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHBhZGRpbmc6IDVweCAwO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLXByaWNpbmcgLnR3by1yb3ctY2VudGVyIHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5kb21haW4tcHJpY2luZyAudGxkLXJvdyB7XG5cdHBhZGRpbmc6IDhweCAwO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWRpdmlkZXIpIDFweCBzb2xpZDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmRvbWFpbi1wcmljaW5nIC50bGQtcm93LmhpZ2hsaWdodGVkIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4gXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLXByb21vLWJveCB7XG5cdG1hcmdpbjogMCAwIHZhcigtLXNwYWNpbmctY2hpbGQpIDA7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1pbm5lcik7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ncmFkaWVudC10b3ApIDAsIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5kb21haW4tcHJvbW8tYm94IGgzIHtcblx0Zm9udC1zaXplOiAxLjhlbTtcblx0bGluZS1oZWlnaHQ6IDEuMWVtO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLXByb21vLWJveCBoMyxcbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5kb21haW4tcHJvbW8tYm94IHAge1xuXHRtYXJnaW46IDAgMCAxNXB4IDA7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWlucmVnaXN0ZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5kb21haW4tcHJvbW8tYm94IHAge1xuXHRmb250LXNpemU6IDFlbTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmRvbWFpbi1wcm9tby1ib3ggLnNtYWxsIHtcblx0bWFyZ2luOiAxNXB4IDAgMCAwO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnJlZ2lzdGVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZG9tYWluLXByb21vLWJveCAudGV4dC1wcmltYXJ5LFxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW5yZWdpc3RlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmRvbWFpbi1wcm9tby1ib3ggLnRleHQtd2FybmluZyB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQpICFpbXBvcnRhbnQ7XG59XG5cbi8qIERvbWFpbiBUcmFuc2ZlciAoZG9tYWludHJhbnNmZXIudHBsKSAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLWRvbWFpbnRyYW5zZmVyIC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAuZm9udC1zaXplLTM2LFxuLndobWNzLXRlbXBsYXRlZmlsZS1kb21haW50cmFuc2ZlciAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmZvbnQtc2l6ZS0zMCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtZG9tYWludHJhbnNmZXIgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IHAge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBLbm93bGVkZ2ViYXNlIHN0eWxlICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUta25vd2xlZGdlYmFzZWFydGljbGUgLm1haW5tYWluIGFydGljbGUgdWwgbGkge1xuXHRwYWRkaW5nOiA3cHggMCA3cHggMDtcblx0bGlzdC1zdHlsZTogZGlzYyBpbnNpZGU7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUta25vd2xlZGdlYmFzZWFydGljbGUgLm1haW5tYWluIGFydGljbGUgb2wgbGkge1xuXHRwYWRkaW5nOiA3cHggMCA3cHggMDtcblx0bGlzdC1zdHlsZTogbnVtYmVyZCBpbnNpZGU7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUta25vd2xlZGdlYmFzZWFydGljbGUgLm1haW5tYWluIGFydGljbGUgdGFibGUgdGQge1xuXHRib3JkZXI6ICMwMDAgMXB4IHNvbGlkO1xuXHRwYWRkaW5nOiA1cHg7XG59XG5cbi8qIFZpZXcgQ2FydCAodmlld2NhcnQudHBsKSAqL1xuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdjYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAudmlldy1jYXJ0LWl0ZW1zLWhlYWRlciB7XG4gICAgcGFkZGluZzogMTVweCAxNXB4O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1mb3JlZ3JvdW5kKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlcjogdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGZvbnQtc2l6ZTogMWVtO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdjYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAudmlldy1jYXJ0LWl0ZW1zIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcbiAgICBib3JkZXI6IHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWJvcmRlci1ib3R0b20td2lkdGgpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC52aWV3LWNhcnQtaXRlbXMgLml0ZW0ge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLWJvdHRvbTogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZGl2aWRlcikgMXB4IHNvbGlkO1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWlubmVyKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnZpZXctY2FydC1pdGVtcyAuaXRlbTpsYXN0LWNoaWxkIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcdFxufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdjYXJ0IC53aG1jc2NvbnRhaW5lciAjb3JkZXItc3RhbmRhcmRfY2FydCAudmlldy1jYXJ0LWl0ZW1zIC5pdGVtLXRpdGxlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJveC1mb3JlZ3JvdW5kLWJvbGQpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLnZpZXctY2FydC1pdGVtcyAuaXRlbS1kb21haW4ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmVtcHR5LWNhcnQge1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zcGFjaW5nLWNoaWxkKSAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5lbXB0eS1jYXJ0IC5idG4ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1x0XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZm9yZWdyb3VuZCk7XHRcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcdFxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmVtcHR5LWNhcnQgLmJ0bjpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWJvcmRlcik7XHRcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtZm9yZWdyb3VuZCk7XHRcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hY3RpdmUtZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XHRcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBDaGVja291dCAodmlld2NhcnQudHBsIC0gZXZlbiBvbiB0aGUgY2hlY2tvdXQgcGFnZSkgKi9cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAud2htY3Njb250YWluZXIgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmNoZWNrb3V0LXNlY3VyaXR5LW1zZyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgLndobWNzY29udGFpbmVyICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5maWVsZC1jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdjYXJ0ICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5jYy1pbnB1dC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctY2hpbGQpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1jaGlsZCk7XG5cdGJvcmRlcjogdW5zZXQ7XG5cdGJvcmRlci10b3A6IHZhcigtLWNvbG9yLWJvcmRlcikgMXB4IHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgI29yZGVyLXN0YW5kYXJkX2NhcnQgLmFjY291bnQtc2VsZWN0LWNvbnRhaW5lciB7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAjb3JkZXItc3RhbmRhcmRfY2FydCAuYWNjb3VudC1zZWxlY3QtY29udGFpbmVyIGRpdi5hY2NvdW50LmJvcmRlci1ib3R0b20ge1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS12aWV3Y2FydCAjb3JkZXItc3RhbmRhcmRfY2FydCAuYWNjb3VudC1zZWxlY3QtY29udGFpbmVyIGRpdi5hY2NvdW50IHtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiBub25lO1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXZpZXdjYXJ0ICNvcmRlci1zdGFuZGFyZF9jYXJ0IC5hY2NvdW50LXNlbGVjdC1jb250YWluZXIgZGl2LmFjY291bnQuYWN0aXZlIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgI29yZGVyLXN0YW5kYXJkX2NhcnQgI2NvbnRhaW5lck5ld1VzZXJTZWN1cml0eSB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtdmlld2NhcnQgI29yZGVyLXN0YW5kYXJkX2NhcnQgLm1hcmtldGluZy1lbWFpbC1vcHRpbiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctY2hpbGQpO1xufVxuXG4vKiBDYXJ0IC0gUHJlbWl1bSBDb21wYXJpc29uICovXG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtcHJvZHVjdHMgI29yZGVyLXByZW1pdW1fY29tcGFyaXNvbiAucHJpY2UtdGFibGUtY29udGFpbmVyIHVsIGxpIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1wcm9kdWN0cyAjb3JkZXItcHJlbWl1bV9jb21wYXJpc29uIC5wcmljZS10YWJsZS1jb250YWluZXIgLnByaWNlLXRhYmxlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JhZGllbnQtZGVncmVlcyksIHZhcigtLWNvbG9yLWJveC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1ib3gtYmFja2dyb3VuZC1ib3JkZXIpIDFweCBzb2xpZDtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLWJvdHRvbS13aWR0aCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtZm9yZWdyb3VuZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRib3gtc2hhZG93OiBub25lO1x0XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtcHJvZHVjdHMgI29yZGVyLXByZW1pdW1fY29tcGFyaXNvbiAucHJpY2UtdGFibGUtY29udGFpbmVyIC5wcmljZS10YWJsZSAudG9wLWhlYWQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1ib3gtaGVhZC1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWhlYWQtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXByb2R1Y3RzICNvcmRlci1wcmVtaXVtX2NvbXBhcmlzb24gLnByaWNlLXRhYmxlLWNvbnRhaW5lciAucHJpY2UtdGFibGUgLnRvcC1oZWFkIC50b3AtYXJlYSBoNCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ib3gtaGVhZC1mb3JlZ3JvdW5kKTtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLWJveC1oZWFkLWZvcmVncm91bmQtc2hhZG93KSAxcHggMXB4O1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXByb2R1Y3RzICNvcmRlci1wcmVtaXVtX2NvbXBhcmlzb24gLnByaWNlLXRhYmxlLWNvbnRhaW5lciAucHJpY2UtdGFibGUgLnRvcC1oZWFkIC50b3AtYXJlYSB7XG5cdGJvcmRlci1ib3R0b206IHZhcigtLWNvbG9yLWJveC1oZWFkLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XHRcbn1cblxuLndobWNzLXRlbXBsYXRlZmlsZS1wcm9kdWN0cyAjb3JkZXItcHJlbWl1bV9jb21wYXJpc29uIC5wcmljZS10YWJsZS1jb250YWluZXIgLnByaWNlLXRhYmxlIC50b3AtaGVhZCAucHJpY2UtYXJlYSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJveC1mb290ZXItYmFja2dyb3VuZCk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1ncmFkaWVudC1kZWdyZWVzKSwgdmFyKC0tY29sb3ItYm94LWZvb3Rlci1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItYm94LWZvb3Rlci1iYWNrZ3JvdW5kLWdyYWRpZW50LWJvdHRvbSkgMTAwJSk7XHRcblx0Ym9yZGVyLXRvcDogbm9uZTtcblx0Ym9yZGVyLWJvdHRvbTogdmFyKC0tY29sb3ItYm94LWZvb3Rlci1iYWNrZ3JvdW5kLWJvcmRlcikgMXB4IHNvbGlkO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYm94LWZvb3Rlci1mb3JlZ3JvdW5kKTtcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLWJveC1mb290ZXItZm9yZWdyb3VuZC1zaGFkb3cpO1xufVxuXG4ud2htY3MtdGVtcGxhdGVmaWxlLXByb2R1Y3RzICNvcmRlci1wcmVtaXVtX2NvbXBhcmlzb24gLnByaWNlLXRhYmxlLWNvbnRhaW5lciAub3JkZXItYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtdG9wKSAwLCB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtZ3JhZGllbnQtYm90dG9tKSAxMDAlKTtcblx0Ym9yZGVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XHRcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZCk7XHRcblx0dGV4dC1zaGFkb3c6IHZhcigtLWNvbG9yLXByaW1hcnktZm9yZWdyb3VuZC1zaGFkb3cpIDFweCAxcHg7XHRcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XHRcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi53aG1jcy10ZW1wbGF0ZWZpbGUtcHJvZHVjdHMgI29yZGVyLXByZW1pdW1fY29tcGFyaXNvbiAucHJpY2UtdGFibGUtY29udGFpbmVyIC5vcmRlci1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLWdyYWRpZW50LWRlZ3JlZXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCkgMCwgdmFyKC0tY29sb3ItcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZC1ncmFkaWVudC1ib3R0b20pIDEwMCUpO1xuXHRib3JkZXI6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQtYm9yZGVyKSAxcHggc29saWQ7XHRcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYWN0aXZlLWZvcmVncm91bmQpO1x0XG5cdHRleHQtc2hhZG93OiB2YXIoLS1jb2xvci1wcmltYXJ5LWFjdGl2ZS1mb3JlZ3JvdW5kLXNoYWRvdykgMXB4IDFweDtcdFxuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcdFxuXHRib3gtc2hhZG93OiBub25lO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/