@import url(https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined);
@charset "UTF-8";
@font-face {
  font-family: "Montserrat";
  src: url(/build/fonts/Montserrat-Regular.3cd78665.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Open Sans";
  src: url(/build/fonts/OpenSans-Regular.1b0809d5.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "PT Serif";
  src: url(/build/fonts/PTSerif-Regular.322d97f9.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
}

/**
   COULEURS
*/
/**
   Responsive
 */
.mdc-button {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 0.875rem;
  line-height: 2.25rem;
  font-weight: 500;
  letter-spacing: 0.08929em;
  text-decoration: none;
  text-transform: uppercase;
  padding: 0 8px 0 8px;
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 64px;
  height: 36px;
  border: none;
  outline: none;
  /* @alternate */
  line-height: inherit;
  user-select: none;
  -webkit-appearance: none;
  overflow: hidden;
  vertical-align: middle;
  border-radius: 4px;
}

.mdc-button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mdc-button:active {
  outline: none;
}

.mdc-button:hover {
  cursor: pointer;
}

.mdc-button:disabled {
  background-color: transparent;
  color: rgba(0, 0, 0, 0.37);
  cursor: default;
  pointer-events: none;
}

.mdc-button.mdc-button--dense {
  border-radius: 4px;
}

.mdc-button:not(:disabled) {
  background-color: transparent;
}

.mdc-button .mdc-button__icon {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 8px;
  display: inline-block;
  width: 18px;
  height: 18px;
  font-size: 18px;
  vertical-align: top;
}

[dir="rtl"] .mdc-button .mdc-button__icon, .mdc-button .mdc-button__icon[dir="rtl"] {
  /* @noflip */
  margin-left: 8px;
  /* @noflip */
  margin-right: 0;
}

.mdc-button:not(:disabled) {
  color: #6200ee;
  /* @alternate */
  color: var(--mdc-theme-primary, #6200ee);
}

.mdc-button__label + .mdc-button__icon {
  /* @noflip */
  margin-left: 8px;
  /* @noflip */
  margin-right: 0;
}

[dir="rtl"] .mdc-button__label + .mdc-button__icon, .mdc-button__label + .mdc-button__icon[dir="rtl"] {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 8px;
}

svg.mdc-button__icon {
  fill: currentColor;
}

.mdc-button--raised .mdc-button__icon,
.mdc-button--unelevated .mdc-button__icon,
.mdc-button--outlined .mdc-button__icon {
  /* @noflip */
  margin-left: -4px;
  /* @noflip */
  margin-right: 8px;
}

[dir="rtl"] .mdc-button--raised .mdc-button__icon, .mdc-button--raised .mdc-button__icon[dir="rtl"], [dir="rtl"]
.mdc-button--unelevated .mdc-button__icon,
.mdc-button--unelevated .mdc-button__icon[dir="rtl"], [dir="rtl"]
.mdc-button--outlined .mdc-button__icon,
.mdc-button--outlined .mdc-button__icon[dir="rtl"] {
  /* @noflip */
  margin-left: 8px;
  /* @noflip */
  margin-right: -4px;
}

.mdc-button--raised .mdc-button__label + .mdc-button__icon,
.mdc-button--unelevated .mdc-button__label + .mdc-button__icon,
.mdc-button--outlined .mdc-button__label + .mdc-button__icon {
  /* @noflip */
  margin-left: 8px;
  /* @noflip */
  margin-right: -4px;
}

[dir="rtl"] .mdc-button--raised .mdc-button__label + .mdc-button__icon, .mdc-button--raised .mdc-button__label + .mdc-button__icon[dir="rtl"], [dir="rtl"]
.mdc-button--unelevated .mdc-button__label + .mdc-button__icon,
.mdc-button--unelevated .mdc-button__label + .mdc-button__icon[dir="rtl"], [dir="rtl"]
.mdc-button--outlined .mdc-button__label + .mdc-button__icon,
.mdc-button--outlined .mdc-button__label + .mdc-button__icon[dir="rtl"] {
  /* @noflip */
  margin-left: -4px;
  /* @noflip */
  margin-right: 8px;
}

.mdc-button--raised,
.mdc-button--unelevated {
  padding: 0 16px 0 16px;
}

.mdc-button--raised:disabled,
.mdc-button--unelevated:disabled {
  background-color: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.37);
}

.mdc-button--raised:not(:disabled),
.mdc-button--unelevated:not(:disabled) {
  background-color: #6200ee;
}

@supports not (-ms-ime-align: auto) {
  .mdc-button--raised:not(:disabled),
  .mdc-button--unelevated:not(:disabled) {
    /* @alternate */
    background-color: var(--mdc-theme-primary, #6200ee);
  }
}

.mdc-button--raised:not(:disabled),
.mdc-button--unelevated:not(:disabled) {
  color: #fff;
  /* @alternate */
  color: var(--mdc-theme-on-primary, #fff);
}

.mdc-button--raised {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
  transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

.mdc-button--raised:hover, .mdc-button--raised:focus {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}

.mdc-button--raised:active {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}

.mdc-button--raised:disabled {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}

.mdc-button--outlined {
  border-style: solid;
  padding: 0 15px 0 15px;
  border-width: 1px;
}

.mdc-button--outlined:disabled {
  border-color: rgba(0, 0, 0, 0.37);
}

.mdc-button--outlined:not(:disabled) {
  border-color: #6200ee;
  /* @alternate */
  border-color: var(--mdc-theme-primary, #6200ee);
}

.mdc-button--dense {
  height: 32px;
  font-size: .8125rem;
}

@keyframes mdc-ripple-fg-radius-in {
  from {
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);
  }
  to {
    transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
  }
}

@keyframes mdc-ripple-fg-opacity-in {
  from {
    animation-timing-function: linear;
    opacity: 0;
  }
  to {
    opacity: var(--mdc-ripple-fg-opacity, 0);
  }
}

@keyframes mdc-ripple-fg-opacity-out {
  from {
    animation-timing-function: linear;
    opacity: var(--mdc-ripple-fg-opacity, 0);
  }
  to {
    opacity: 0;
  }
}

.mdc-ripple-surface--test-edge-var-bug {
  --mdc-ripple-surface-test-edge-var: 1px solid #000;
  visibility: hidden;
}

.mdc-ripple-surface--test-edge-var-bug::before {
  border: var(--mdc-ripple-surface-test-edge-var);
}

.mdc-button {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mdc-button::before, .mdc-button::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

.mdc-button::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

.mdc-button.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-button.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

.mdc-button.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

.mdc-button.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

.mdc-button.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-button::before, .mdc-button::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}

.mdc-button.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-button::before, .mdc-button::after {
  background-color: #6200ee;
}

@supports not (-ms-ime-align: auto) {
  .mdc-button::before, .mdc-button::after {
    /* @alternate */
    background-color: var(--mdc-theme-primary, #6200ee);
  }
}

.mdc-button:hover::before {
  opacity: 0.04;
}

.mdc-button.mdc-ripple-upgraded--background-focused::before, .mdc-button:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-button:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

.mdc-button:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-button.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

.mdc-button--raised::before, .mdc-button--raised::after,
.mdc-button--unelevated::before,
.mdc-button--unelevated::after {
  background-color: #fff;
}

@supports not (-ms-ime-align: auto) {
  .mdc-button--raised::before, .mdc-button--raised::after,
  .mdc-button--unelevated::before,
  .mdc-button--unelevated::after {
    /* @alternate */
    background-color: var(--mdc-theme-on-primary, #fff);
  }
}

.mdc-button--raised:hover::before,
.mdc-button--unelevated:hover::before {
  opacity: 0.08;
}

.mdc-button--raised.mdc-ripple-upgraded--background-focused::before, .mdc-button--raised:not(.mdc-ripple-upgraded):focus::before,
.mdc-button--unelevated.mdc-ripple-upgraded--background-focused::before,
.mdc-button--unelevated:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.24;
}

.mdc-button--raised:not(.mdc-ripple-upgraded)::after,
.mdc-button--unelevated:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

.mdc-button--raised:not(.mdc-ripple-upgraded):active::after,
.mdc-button--unelevated:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.24;
}

.mdc-button--raised.mdc-ripple-upgraded,
.mdc-button--unelevated.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.24;
}

html,
body {
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
}

h1, h2 {
  font-family: "PT Serif", "Times New Roman", serif;
}

h1 {
  font-size: 2.5em;
  color: #573D1C;
  text-transform: uppercase;
  font-weight: normal;
}

h2 {
  font-size: 2em;
  color: #573D1C;
  font-weight: normal;
}

h3 {
  font-size: 1.3em;
  font-family: 'Montserrat', sans-serif;
  color: #666;
  margin-bottom: 0;
  font-weight: 400;
}

p,
ul > li {
  font-family: "Open Sans", sans-serif;
}

p {
  line-height: 1.5em;
  text-align: justify;
}

main {
  min-height: 600px;
}

.flex-row, .header_logo, .header_nav-bar .nav-bar_items, .header_basket .count, .footer_nav-bar .footer_logo, .footer_nav-bar .nav-bar_items, .footer_nav-bar .nav-bar_payment-methods, .form_input-group, .shop, .file_ariane, .foalting-basket .count, .product, .product_images .list-photo, .product-details.product-details__simple, .product-details.product-details__simple .product-details_choices, .devis-selle-form_questions, .devis-selle-form_questions .answers, .choice-color,
.choice-cards {
  display: flex;
  flex-direction: row;
}

.flex-column, .form, .form_radio-group, .shop_nav ul, .product_images, .product-details.product-details__simple .product-details_option, .devis-selle-form, .devis-selle-form_questions .question, .devis-selle-form_questions .contact, .choice-cards_details {
  display: flex;
  flex-direction: column;
}

.flex-center-center, .header_logo, .header_basket .count, .footer_nav-bar .footer_logo, .footer_nav-bar .nav-bar_items, .footer_nav-bar .nav-bar_payment-methods, .form .choice-simple, .foalting-basket .count, .devis-selle-form_questions .answers {
  justify-content: center;
  align-items: center;
}

.text-center {
  text-align: center;
}

.text-justify {
  text-align: justify;
}

.text-justify h1, .text-justify h2, .text-justify h3 {
  text-align: initial;
}

.container_center, .file_ariane {
  width: 90%;
  max-width: 850px;
  margin: 0 auto 3em;
}

.separateur {
  display: block;
  width: 100%;
  border-bottom: solid 1px lightgray;
}

.separateur.separateur__vertical {
  height: 200px;
  width: 0;
  border-left: solid 1px lightgray;
}

.main__header-padding {
  padding-top: 120px;
}

@media (max-width: 767px) {
  .main__header-padding {
    padding-top: 72px;
  }
}

/**
   Background center cover
 */
.container-background, .header-banniere, .product_images .cover, .product_images .list-photo li, .product-details .choice-buckle_img, .product-details .choice-color_img {
  position: relative;
  overflow: hidden;
}

.container-background img, .header-banniere img, .product_images .cover img, .product_images .list-photo li img, .product-details .choice-buckle_img img, .product-details .choice-color_img img {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  object-fit: cover;
  object-position: center;
}

/**
   Header avec le fond et la catch phrase
 */
.header-banniere_content {
  font-size: 2.5em;
  text-transform: uppercase;
  font-weight: normal;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 100px 0;
  margin: 0;
  color: #fff;
}

/**
   Loader Spinner
 */
.spinner-dual-ring {
  display: inline-block;
  width: 64px;
  height: 64px;
}

.spinner-dual-ring:after {
  content: " ";
  display: block;
  width: 46px;
  height: 46px;
  margin: 1px;
  border-radius: 50%;
  border: 5px solid #CC6600;
  border-color: #CC6600 transparent #CC6600 transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}

@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/**
   Style du bouton
 */
.mdc-button:not(:disabled) {
  color: #CC6600;
}

.mdc-button--outlined:not(:disabled) {
  border-color: #CC6600;
}

.mdc-button::before, .mdc-button::after {
  background-color: #CC6600;
}

.mdc-button--raised {
  background-color: #CC6600 !important;
  color: white !important;
}

/**
   Bandeau Alert Cookies
 */
.alert-cookies {
  z-index: 10;
  display: none;
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: white;
  color: #573D1C;
  border-top: solid 2px #CC6600;
  padding: 15px 20px;
  box-sizing: border-box;
}

.alert-cookies p {
  flex: 4;
}

.alert-cookies_actions {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 767px) {
  .alert-cookies {
    flex-direction: column;
  }
}

/**
   ToolTip
 */
.tooltip {
  position: relative;
}

.tooltip .tooltiptext {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  z-index: 1;
  top: calc(100% + 10px);
  left: 50%;
  transform: translate(-50%);
  width: 120px;
  padding: 5px;
  border-radius: 6px;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.9em;
  color: #fff;
  text-align: center;
  background-color: #78909C;
}

.tooltip .tooltiptext:after {
  content: " ";
  position: absolute;
  bottom: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent #78909C transparent;
}

.tooltip:hover .tooltiptext {
  animation: tooltip-animation ease-in-out 0.3s;
  visibility: visible;
  opacity: 1;
}

@keyframes tooltip-animation {
  from {
    visibility: hidden;
    opacity: 0;
  }
  to {
    visibility: visible;
    opacity: 1;
  }
}

/**
    HEADER
 */
header {
  position: fixed;
  background-color: white;
  width: 100%;
  z-index: 2;
}

/**
   Logo Jollet dans le header
*/
.header_logo {
  height: 70px;
}

.header_logo svg {
  height: 40px;
}

.header_logo label {
  display: none;
  cursor: pointer;
  padding: 5px;
  position: absolute;
  right: 35px;
}

.header_logo label span {
  display: block;
  width: 25px;
  margin: 5px 0;
}

.header_logo label span:after {
  content: '';
  display: block;
  width: 25px;
  height: 2px;
  background-color: #573D1C;
}

/**
   Burger menu du mode téléphone
*/
#header_toggle {
  display: none;
}

#header_toggle:checked + .header_logo label span:nth-child(1):after {
  transform: translateY(-50%) rotate(45deg);
  top: 50%;
  position: absolute;
}

#header_toggle:checked + .header_logo label span:nth-child(2):after {
  visibility: hidden;
}

#header_toggle:checked + .header_logo label span:nth-child(3):after {
  transform: translateY(-50%) rotate(-45deg);
  top: 50%;
  position: absolute;
}

/**
   Menu de navigation
*/
.header_nav-bar {
  display: flex;
  justify-content: center;
  border-bottom: solid 2px #573D1C;
}

.header_nav-bar .nav-bar_items {
  list-style: none;
  margin: 0 0 25px 0;
  padding: 0;
}

.header_nav-bar .nav-bar_items li {
  min-width: 150px;
  text-align: center;
  text-transform: uppercase;
  font-family: "PT Serif", "Times New Roman", serif;
}

.header_nav-bar .nav-bar_items li a {
  color: #573D1C;
  font-size: 1.1em;
  background: linear-gradient(to top, #573D1C 0%, #573D1C 2px, transparent 2px) no-repeat;
  background-size: 0 100%;
  transition: background-size 0.3s;
}

.header_nav-bar .nav-bar_items li a.active, .header_nav-bar .nav-bar_items li a:hover {
  background-size: 100% 100%;
}

/**
   Panier de la boutique 
   (visible que dans la boutique)
*/
.header_basket {
  margin: 0 15px;
  position: absolute;
  right: 0;
  bottom: 5px;
}

.header_basket .count {
  position: absolute;
  top: 0;
  right: 0;
  width: 20px;
  height: 20px;
  background-color: #d63030;
  border-radius: 50%;
  color: white;
  font-family: 'Montserrat', 'Open Sans', sans-serif;
  font-size: 0.8em;
}

.header_basket_empty .count {
  display: none;
}

.header_basket_up .count {
  animation: count-zoom 3s forwards 1;
}

@media (max-width: 767px) {
  .header_basket {
    display: none;
  }
}

@keyframes count-zoom {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.5);
  }
  30% {
    transform: scale(1);
  }
}

/**
   SPECIAL POUR LA HOME PAGE
 */
header.header__home-page {
  position: absolute;
  background-color: transparent;
  width: 600px;
  right: 0;
}

header.header__home-page .header_logo {
  display: none;
}

header.header__home-page .header_nav-bar {
  border: none;
}

header.header__home-page .header_nav-bar .nav-bar_items {
  margin: 30px 0 0;
}

header.header__home-page .header_nav-bar .nav-bar_items a {
  color: white;
  background: linear-gradient(to top, #fff 0%, #fff 2px, transparent 2px) no-repeat;
  background-size: 0 100%;
}

header.header__home-page .header_nav-bar .nav-bar_items a:hover {
  background-size: 100% 100%;
}

@media (max-width: 767px) {
  header.header__home-page {
    position: fixed;
    background-color: white;
    width: 100%;
    z-index: 2;
  }
  header.header__home-page .header_logo {
    display: flex;
  }
  header.header__home-page .header_nav-bar {
    border: none;
  }
  header.header__home-page .header_nav-bar .nav-bar_items {
    margin: 0 0 25px 0;
  }
  header.header__home-page .header_nav-bar .nav-bar_items a {
    color: #573D1C;
    background: linear-gradient(to top, #573D1C 0%, #573D1C 2px, transparent 2px) no-repeat;
    background-size: 0 100%;
    transition: background-size 0.3s;
  }
  header.header__home-page .header_nav-bar .nav-bar_items a.active, header.header__home-page .header_nav-bar .nav-bar_items a:hover {
    background-size: 100% 100%;
  }
}

/**
   RESPONSIVE
 */
@media (max-width: 767px) {
  .header_logo label {
    display: block;
  }
  .header_nav-bar {
    overflow: hidden;
    height: 0px;
    transition: height 0.3s ease-out;
  }
  .header_nav-bar .nav-bar_items {
    flex-direction: column;
    justify-content: space-around;
    margin: 0;
    margin-bottom: 10px;
  }
  .header_nav-bar .nav-bar_items li {
    margin: 10px 0;
  }
  #header_toggle:checked ~ .header_nav-bar {
    height: 215px;
  }
}

footer {
  background-color: #573D1C;
  padding: 20px 0;
  margin-top: 30px;
}

footer .text-center {
  color: white;
  font-family: Montserrat, "Open Sans", sans-serif;
}

.footer_nav-bar .footer_logo svg {
  height: 59px;
}

.footer_nav-bar .footer_logo svg * {
  fill: white !important;
}

.footer_nav-bar .nav-bar_items {
  list-style: none;
  margin: 25px 0;
  padding: 0;
}

.footer_nav-bar .nav-bar_items li {
  min-width: 150px;
  text-align: center;
  font-family: Montserrat, "Open Sans", sans-serif;
}

.footer_nav-bar .nav-bar_items li a {
  color: white;
}

.footer_nav-bar .nav-bar_items li a:hover {
  text-decoration: underline;
}

.footer_nav-bar .nav-bar_items li svg {
  max-width: 30px;
}

.footer_nav-bar .nav-bar_items li:nth-child(1) a:hover * {
  fill: cornflowerblue !important;
}

.footer_nav-bar .nav-bar_items li:nth-child(2) a:hover * {
  fill: beige !important;
}

.footer_nav-bar .nav-bar_payment-methods {
  margin-bottom: 10px;
}

.footer_nav-bar .nav-bar_payment-methods img {
  max-height: 50px;
  max-width: 120px;
}

@media (max-width: 767px) {
  .footer_nav-bar .nav-bar_payment-methods {
    margin-bottom: 20px;
  }
}

/**
   RESPONSIVE
 */
@media (max-width: 767px) {
  .footer_nav-bar .nav-bar_items:nth-child(2) {
    flex-direction: column;
  }
  .footer_nav-bar .nav-bar_items:nth-child(2) li {
    margin-bottom: 15px;
  }
}

.mdc-touch-target-wrapper {
  display: inline;
}

@keyframes mdc-checkbox-unchecked-checked-checkmark-path {
  0%,
  50% {
    stroke-dashoffset: 29.78334;
  }
  50% {
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark {
  0%,
  68.2% {
    transform: scaleX(0);
  }
  68.2% {
    animation-timing-function: cubic-bezier(0, 0, 0, 1);
  }
  100% {
    transform: scaleX(1);
  }
}

@keyframes mdc-checkbox-checked-unchecked-checkmark-path {
  from {
    animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
    opacity: 1;
    stroke-dashoffset: 0;
  }
  to {
    opacity: 0;
    stroke-dashoffset: -29.78334;
  }
}

@keyframes mdc-checkbox-checked-indeterminate-checkmark {
  from {
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    transform: rotate(0deg);
    opacity: 1;
  }
  to {
    transform: rotate(45deg);
    opacity: 0;
  }
}

@keyframes mdc-checkbox-indeterminate-checked-checkmark {
  from {
    animation-timing-function: cubic-bezier(0.14, 0, 0, 1);
    transform: rotate(45deg);
    opacity: 0;
  }
  to {
    transform: rotate(360deg);
    opacity: 1;
  }
}

@keyframes mdc-checkbox-checked-indeterminate-mixedmark {
  from {
    animation-timing-function: mdc-animation-deceleration-curve-timing-function;
    transform: rotate(-45deg);
    opacity: 0;
  }
  to {
    transform: rotate(0deg);
    opacity: 1;
  }
}

@keyframes mdc-checkbox-indeterminate-checked-mixedmark {
  from {
    animation-timing-function: cubic-bezier(0.14, 0, 0, 1);
    transform: rotate(0deg);
    opacity: 1;
  }
  to {
    transform: rotate(315deg);
    opacity: 0;
  }
}

@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark {
  0% {
    animation-timing-function: linear;
    transform: scaleX(1);
    opacity: 1;
  }
  32.8%,
  100% {
    transform: scaleX(0);
    opacity: 0;
  }
}

.mdc-checkbox {
  display: inline-block;
  position: relative;
  flex: 0 0 18px;
  box-sizing: content-box;
  width: 18px;
  height: 18px;
  line-height: 0;
  white-space: nowrap;
  cursor: pointer;
  vertical-align: bottom;
  padding: 11px;
}

.mdc-checkbox .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background::before,
.mdc-checkbox .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background::before {
  background-color: #018786;
}

@supports not (-ms-ime-align: auto) {
  .mdc-checkbox .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background::before,
  .mdc-checkbox .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background::before {
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786);
  }
}

.mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::before, .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #018786;
}

@supports not (-ms-ime-align: auto) {
  .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::before, .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::after {
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786);
  }
}

.mdc-checkbox.mdc-checkbox--selected:hover .mdc-checkbox__ripple::before {
  opacity: 0.04;
}

.mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before, .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after {
  transition: opacity 150ms linear;
}

.mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

.mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::before,
.mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #018786;
}

@supports not (-ms-ime-align: auto) {
  .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::before,
  .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::after {
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786);
  }
}

.mdc-checkbox .mdc-checkbox__background {
  top: 11px;
  left: 11px;
}

.mdc-checkbox .mdc-checkbox__background::before {
  top: -13px;
  left: -13px;
  width: 40px;
  height: 40px;
}

.mdc-checkbox .mdc-checkbox__native-control {
  top: 0px;
  right: 0px;
  left: 0px;
  width: 40px;
  height: 40px;
}

.mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate) ~ .mdc-checkbox__background {
  border-color: rgba(0, 0, 0, 0.54);
  background-color: transparent;
}

.mdc-checkbox__native-control:enabled:checked ~ .mdc-checkbox__background,
.mdc-checkbox__native-control:enabled:indeterminate ~ .mdc-checkbox__background {
  border-color: #018786;
  /* @alternate */
  border-color: var(--mdc-theme-secondary, #018786);
  background-color: #018786;
  /* @alternate */
  background-color: var(--mdc-theme-secondary, #018786);
}

@keyframes mdc-checkbox-fade-in-background-u9e4ba7c7 {
  0% {
    border-color: rgba(0, 0, 0, 0.54);
    background-color: transparent;
  }
  50% {
    border-color: #018786;
    /* @alternate */
    border-color: var(--mdc-theme-secondary, #018786);
    background-color: #018786;
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786);
  }
}

@keyframes mdc-checkbox-fade-out-background-u9e4ba7c7 {
  0%,
  80% {
    border-color: #018786;
    /* @alternate */
    border-color: var(--mdc-theme-secondary, #018786);
    background-color: #018786;
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786);
  }
  100% {
    border-color: rgba(0, 0, 0, 0.54);
    background-color: transparent;
  }
}

.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-in-background-u9e4ba7c7;
}

.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-out-background-u9e4ba7c7;
}

.mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate) ~ .mdc-checkbox__background {
  border-color: rgba(0, 0, 0, 0.26);
  background-color: transparent;
}

.mdc-checkbox__native-control[disabled]:checked ~ .mdc-checkbox__background,
.mdc-checkbox__native-control[disabled]:indeterminate ~ .mdc-checkbox__background {
  border-color: transparent;
  background-color: rgba(0, 0, 0, 0.26);
}

.mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  color: #fff;
}

.mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  border-color: #fff;
}

.mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  color: #fff;
}

.mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  border-color: #fff;
}

@media screen and (-ms-high-contrast: active) {
  .mdc-checkbox__mixedmark {
    margin: 0 1px;
  }
}

.mdc-checkbox--disabled {
  cursor: default;
  pointer-events: none;
}

.mdc-checkbox__background {
  display: inline-flex;
  position: absolute;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 2px;
  background-color: transparent;
  pointer-events: none;
  will-change: background-color, border-color;
  transition: background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox__background .mdc-checkbox__background::before {
  background-color: #000;
}

@supports not (-ms-ime-align: auto) {
  .mdc-checkbox__background .mdc-checkbox__background::before {
    /* @alternate */
    background-color: var(--mdc-theme-on-surface, #000);
  }
}

.mdc-checkbox__checkmark {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox--upgraded .mdc-checkbox__checkmark {
  opacity: 1;
}

.mdc-checkbox__checkmark-path {
  transition: stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  stroke: currentColor;
  stroke-width: 3.12px;
  stroke-dashoffset: 29.78334;
  stroke-dasharray: 29.78334;
}

.mdc-checkbox__mixedmark {
  width: 100%;
  height: 0;
  transform: scaleX(0) rotate(0deg);
  border-width: 1px;
  border-style: solid;
  opacity: 0;
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox--upgraded .mdc-checkbox__background,
.mdc-checkbox--upgraded .mdc-checkbox__checkmark,
.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,
.mdc-checkbox--upgraded .mdc-checkbox__mixedmark {
  transition: none !important;
}

.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background, .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background, .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background, .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background {
  animation-duration: 180ms;
  animation-timing-function: linear;
}

.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path {
  animation: mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark {
  animation: mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path {
  animation: mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark {
  animation: mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark {
  animation: mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark {
  animation: mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark {
  animation: mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark {
  animation: mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;
  transition: none;
}

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background,
.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background {
  transition: border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1), background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__checkmark-path,
.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__checkmark-path {
  stroke-dashoffset: 0;
}

.mdc-checkbox__background::before {
  position: absolute;
  transform: scale(0, 0);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
  will-change: opacity, transform;
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox__native-control:focus ~ .mdc-checkbox__background::before {
  transform: scale(1);
  opacity: 0.12;
  transition: opacity 80ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-checkbox__native-control {
  position: absolute;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: inherit;
}

.mdc-checkbox__native-control:disabled {
  cursor: default;
  pointer-events: none;
}

.mdc-checkbox--touch {
  margin-top: 4px;
  margin-bottom: 4px;
  margin-right: 4px;
  margin-left: 4px;
}

.mdc-checkbox--touch .mdc-checkbox__native-control {
  top: -4px;
  right: -4px;
  left: -4px;
  width: 48px;
  height: 48px;
}

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);
  opacity: 1;
}

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  transform: scaleX(1) rotate(-45deg);
}

.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  transform: scaleX(1) rotate(0deg);
  opacity: 1;
}

.mdc-checkbox {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mdc-checkbox .mdc-checkbox__ripple::before,
.mdc-checkbox .mdc-checkbox__ripple::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

.mdc-checkbox .mdc-checkbox__ripple::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

.mdc-checkbox.mdc-ripple-upgraded--unbounded .mdc-checkbox__ripple::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

.mdc-checkbox.mdc-ripple-upgraded--foreground-activation .mdc-checkbox__ripple::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

.mdc-checkbox.mdc-ripple-upgraded--foreground-deactivation .mdc-checkbox__ripple::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-checkbox .mdc-checkbox__ripple::before,
.mdc-checkbox .mdc-checkbox__ripple::after {
  background-color: #000;
}

@supports not (-ms-ime-align: auto) {
  .mdc-checkbox .mdc-checkbox__ripple::before,
  .mdc-checkbox .mdc-checkbox__ripple::after {
    /* @alternate */
    background-color: var(--mdc-theme-on-surface, #000);
  }
}

.mdc-checkbox:hover .mdc-checkbox__ripple::before {
  opacity: 0.04;
}

.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before, .mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-checkbox:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after {
  transition: opacity 150ms linear;
}

.mdc-checkbox:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-checkbox.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

.mdc-checkbox .mdc-checkbox__ripple::before,
.mdc-checkbox .mdc-checkbox__ripple::after {
  top: calc(50% - 50%);
  /* @noflip */
  left: calc(50% - 50%);
  width: 100%;
  height: 100%;
}

.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::before,
.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::after {
  top: var(--mdc-ripple-top, calc(50% - 50%));
  /* @noflip */
  left: var(--mdc-ripple-left, calc(50% - 50%));
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-checkbox__ripple {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.mdc-ripple-upgraded--background-focused .mdc-checkbox__background::before {
  content: none;
}

.mdc-form-field, .form_checkbox-group {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.01786em;
  text-decoration: inherit;
  text-transform: inherit;
  color: rgba(0, 0, 0, 0.87);
  /* @alternate */
  color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.mdc-form-field > label, .form_checkbox-group > label {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: auto;
  /* @noflip */
  padding-left: 4px;
  /* @noflip */
  padding-right: 0;
  order: 0;
}

[dir="rtl"] .mdc-form-field > label, [dir="rtl"] .form_checkbox-group > label, .mdc-form-field > label[dir="rtl"], .form_checkbox-group > label[dir="rtl"] {
  /* @noflip */
  margin-left: auto;
  /* @noflip */
  margin-right: 0;
}

[dir="rtl"] .mdc-form-field > label, [dir="rtl"] .form_checkbox-group > label, .mdc-form-field > label[dir="rtl"], .form_checkbox-group > label[dir="rtl"] {
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 4px;
}

.mdc-form-field--align-end > label {
  /* @noflip */
  margin-left: auto;
  /* @noflip */
  margin-right: 0;
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 4px;
  order: -1;
}

[dir="rtl"] .mdc-form-field--align-end > label, .mdc-form-field--align-end > label[dir="rtl"] {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: auto;
}

[dir="rtl"] .mdc-form-field--align-end > label, .mdc-form-field--align-end > label[dir="rtl"] {
  /* @noflip */
  padding-left: 4px;
  /* @noflip */
  padding-right: 0;
}

.mdc-icon-button {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  border: none;
  outline: none;
  background-color: transparent;
  fill: currentColor;
  color: inherit;
  font-size: 24px;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  width: 48px;
  height: 48px;
  padding: 12px;
}

.mdc-icon-button svg,
.mdc-icon-button img {
  width: 24px;
  height: 24px;
}

.mdc-icon-button:disabled {
  color: rgba(0, 0, 0, 0.38);
  /* @alternate */
  color: var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38));
  cursor: default;
  pointer-events: none;
}

.mdc-icon-button__icon {
  display: inline-block;
}

.mdc-icon-button__icon.mdc-icon-button__icon--on {
  display: none;
}

.mdc-icon-button--on .mdc-icon-button__icon {
  display: none;
}

.mdc-icon-button--on .mdc-icon-button__icon.mdc-icon-button__icon--on {
  display: inline-block;
}

.mdc-icon-button {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mdc-icon-button::before, .mdc-icon-button::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

.mdc-icon-button::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

.mdc-icon-button.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-icon-button.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

.mdc-icon-button.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

.mdc-icon-button.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

.mdc-icon-button.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-icon-button::before, .mdc-icon-button::after {
  top: calc(50% - 50%);
  /* @noflip */
  left: calc(50% - 50%);
  width: 100%;
  height: 100%;
}

.mdc-icon-button.mdc-ripple-upgraded::before, .mdc-icon-button.mdc-ripple-upgraded::after {
  top: var(--mdc-ripple-top, calc(50% - 50%));
  /* @noflip */
  left: var(--mdc-ripple-left, calc(50% - 50%));
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-icon-button.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-icon-button::before, .mdc-icon-button::after {
  background-color: #000;
}

.mdc-icon-button:hover::before {
  opacity: 0.04;
}

.mdc-icon-button.mdc-ripple-upgraded--background-focused::before, .mdc-icon-button:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-icon-button:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

.mdc-icon-button:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-icon-button.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

.mdc-radio {
  padding: 10px;
  display: inline-block;
  position: relative;
  flex: 0 0 auto;
  box-sizing: content-box;
  width: 20px;
  height: 20px;
  cursor: pointer;
  /* @alternate */
  will-change: opacity, transform, border-color, color;
}

.mdc-radio .mdc-radio__native-control:enabled:not(:checked) + .mdc-radio__background .mdc-radio__outer-circle {
  border-color: rgba(0, 0, 0, 0.54);
}

.mdc-radio .mdc-radio__native-control:enabled:checked + .mdc-radio__background .mdc-radio__outer-circle {
  border-color: #018786;
  /* @alternate */
  border-color: var(--mdc-theme-secondary, #018786);
}

.mdc-radio .mdc-radio__native-control:enabled + .mdc-radio__background .mdc-radio__inner-circle {
  border-color: #018786;
  /* @alternate */
  border-color: var(--mdc-theme-secondary, #018786);
}

.mdc-radio [aria-disabled="true"] .mdc-radio__native-control:not(:checked) + .mdc-radio__background .mdc-radio__outer-circle,
.mdc-radio .mdc-radio__native-control:disabled:not(:checked) + .mdc-radio__background .mdc-radio__outer-circle {
  border-color: rgba(0, 0, 0, 0.26);
}

.mdc-radio [aria-disabled="true"] .mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__outer-circle,
.mdc-radio .mdc-radio__native-control:disabled:checked + .mdc-radio__background .mdc-radio__outer-circle {
  border-color: rgba(0, 0, 0, 0.26);
}

.mdc-radio [aria-disabled="true"] .mdc-radio__native-control + .mdc-radio__background .mdc-radio__inner-circle,
.mdc-radio .mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__inner-circle {
  border-color: rgba(0, 0, 0, 0.26);
}

.mdc-radio .mdc-radio__background::before {
  background-color: #018786;
}

@supports not (-ms-ime-align: auto) {
  .mdc-radio .mdc-radio__background::before {
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786);
  }
}

.mdc-radio .mdc-radio__background::before {
  top: -10px;
  left: -10px;
  width: 40px;
  height: 40px;
}

.mdc-radio .mdc-radio__native-control {
  top: 0px;
  right: 0px;
  left: 0px;
  width: 40px;
  height: 40px;
}

.mdc-radio__background {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
}

.mdc-radio__background::before {
  position: absolute;
  transform: scale(0, 0);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
  transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-radio__outer-circle {
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border-width: 2px;
  border-style: solid;
  border-radius: 50%;
  transition: border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-radio__inner-circle {
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  transform: scale(0, 0);
  border-width: 10px;
  border-style: solid;
  border-radius: 50%;
  transition: transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-radio__native-control {
  position: absolute;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: inherit;
  z-index: 1;
}

.mdc-radio--touch {
  margin-top: 4px;
  margin-bottom: 4px;
  margin-right: 4px;
  margin-left: 4px;
}

.mdc-radio--touch .mdc-radio__native-control {
  top: -4px;
  right: -4px;
  left: -4px;
  width: 48px;
  height: 48px;
}

.mdc-radio__native-control:checked + .mdc-radio__background,
.mdc-radio__native-control:disabled + .mdc-radio__background {
  transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__outer-circle,
.mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__outer-circle {
  transition: border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__inner-circle,
.mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__inner-circle {
  transition: transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-radio--disabled {
  cursor: default;
  pointer-events: none;
}

.mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__inner-circle {
  transform: scale(0.5);
  transition: transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-radio__native-control:disabled + .mdc-radio__background,
[aria-disabled="true"] .mdc-radio__native-control + .mdc-radio__background {
  cursor: default;
}

.mdc-radio__native-control:focus + .mdc-radio__background::before {
  transform: scale(1);
  opacity: 0.12;
  transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-radio {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mdc-radio .mdc-radio__ripple::before,
.mdc-radio .mdc-radio__ripple::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

.mdc-radio .mdc-radio__ripple::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

.mdc-radio.mdc-ripple-upgraded--unbounded .mdc-radio__ripple::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

.mdc-radio.mdc-ripple-upgraded--foreground-activation .mdc-radio__ripple::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

.mdc-radio.mdc-ripple-upgraded--foreground-deactivation .mdc-radio__ripple::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-radio .mdc-radio__ripple::before,
.mdc-radio .mdc-radio__ripple::after {
  top: calc(50% - 50%);
  /* @noflip */
  left: calc(50% - 50%);
  width: 100%;
  height: 100%;
}

.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::before,
.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::after {
  top: var(--mdc-ripple-top, calc(50% - 50%));
  /* @noflip */
  left: var(--mdc-ripple-left, calc(50% - 50%));
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-radio .mdc-radio__ripple::before,
.mdc-radio .mdc-radio__ripple::after {
  background-color: #018786;
}

@supports not (-ms-ime-align: auto) {
  .mdc-radio .mdc-radio__ripple::before,
  .mdc-radio .mdc-radio__ripple::after {
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786);
  }
}

.mdc-radio:hover .mdc-radio__ripple::before {
  opacity: 0.04;
}

.mdc-radio.mdc-ripple-upgraded--background-focused .mdc-radio__ripple::before, .mdc-radio:not(.mdc-ripple-upgraded):focus .mdc-radio__ripple::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-radio:not(.mdc-ripple-upgraded) .mdc-radio__ripple::after {
  transition: opacity 150ms linear;
}

.mdc-radio:not(.mdc-ripple-upgraded):active .mdc-radio__ripple::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-radio.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

.mdc-radio.mdc-ripple-upgraded--background-focused .mdc-radio__background::before {
  content: none;
}

.mdc-radio__ripple {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

@keyframes mdc-select-float-native-control {
  0% {
    transform: translateY(8px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

.mdc-line-ripple {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  transform: scaleX(0);
  transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1), opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  z-index: 2;
}

.mdc-line-ripple--active {
  transform: scaleX(1);
  opacity: 1;
}

.mdc-line-ripple--deactivating {
  opacity: 0;
}

.mdc-notched-outline {
  display: flex;
  position: absolute;
  right: 0;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  height: 100%;
  /* @noflip */
  text-align: left;
  pointer-events: none;
}

[dir="rtl"] .mdc-notched-outline, .mdc-notched-outline[dir="rtl"] {
  /* @noflip */
  text-align: right;
}

.mdc-notched-outline__leading, .mdc-notched-outline__notch, .mdc-notched-outline__trailing {
  box-sizing: border-box;
  height: 100%;
  transition: border 150ms cubic-bezier(0.4, 0, 0.2, 1);
  border-top: 1px solid;
  border-bottom: 1px solid;
  pointer-events: none;
}

.mdc-notched-outline__leading {
  /* @noflip */
  border-left: 1px solid;
  /* @noflip */
  border-right: none;
  width: 12px;
}

[dir="rtl"] .mdc-notched-outline__leading, .mdc-notched-outline__leading[dir="rtl"] {
  /* @noflip */
  border-left: none;
  /* @noflip */
  border-right: 1px solid;
}

.mdc-notched-outline__trailing {
  /* @noflip */
  border-left: none;
  /* @noflip */
  border-right: 1px solid;
  flex-grow: 1;
}

[dir="rtl"] .mdc-notched-outline__trailing, .mdc-notched-outline__trailing[dir="rtl"] {
  /* @noflip */
  border-left: 1px solid;
  /* @noflip */
  border-right: none;
}

.mdc-notched-outline__notch {
  flex: 0 0 auto;
  width: auto;
  max-width: calc(100% - 12px * 2);
}

.mdc-notched-outline .mdc-floating-label {
  display: inline-block;
  position: relative;
  top: 17px;
  bottom: auto;
  max-width: 100%;
}

.mdc-notched-outline .mdc-floating-label--float-above {
  text-overflow: clip;
}

.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  max-width: calc(100% / .75);
}

.mdc-notched-outline--notched .mdc-notched-outline__notch {
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 8px;
  border-top: none;
}

[dir="rtl"] .mdc-notched-outline--notched .mdc-notched-outline__notch, .mdc-notched-outline--notched .mdc-notched-outline__notch[dir="rtl"] {
  /* @noflip */
  padding-left: 8px;
  /* @noflip */
  padding-right: 0;
}

.mdc-notched-outline--no-label .mdc-notched-outline__notch {
  padding: 0;
}

.mdc-floating-label {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 400;
  letter-spacing: 0.00937em;
  text-decoration: inherit;
  text-transform: inherit;
  position: absolute;
  /* @noflip */
  left: 0;
  /* @noflip */
  transform-origin: left top;
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1);
  /* @alternate */
  line-height: 1.15rem;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: text;
  overflow: hidden;
  will-change: transform;
}

[dir="rtl"] .mdc-floating-label, .mdc-floating-label[dir="rtl"] {
  /* @noflip */
  right: 0;
  /* @noflip */
  left: auto;
  /* @noflip */
  transform-origin: right top;
  /* @noflip */
  text-align: right;
}

.mdc-floating-label--float-above {
  cursor: auto;
}

.mdc-floating-label--float-above {
  transform: translateY(-50%) scale(0.75);
}

.mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-standard 250ms 1;
}

@keyframes mdc-floating-label-shake-float-above-standard {
  0% {
    transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    transform: translateX(calc(4% - 0%)) translateY(-50%) scale(0.75);
  }
  66% {
    animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    transform: translateX(calc(-4% - 0%)) translateY(-50%) scale(0.75);
  }
  100% {
    transform: translateX(calc(0 - 0%)) translateY(-50%) scale(0.75);
  }
}

.mdc-select--with-leading-icon:not(.mdc-select--disabled) .mdc-select__icon {
  color: #000;
  /* @alternate */
  color: var(--mdc-theme-on-surface, #000);
}

.mdc-select--with-leading-icon .mdc-select__icon {
  display: inline-block;
  position: absolute;
  bottom: 16px;
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  border: none;
  background-color: transparent;
  fill: currentColor;
  opacity: 0.54;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
}

.mdc-select__icon:not([tabindex]),
.mdc-select__icon[tabindex="-1"] {
  cursor: default;
  pointer-events: none;
}

.mdc-select-helper-text {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 0.75rem;
  line-height: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.03333em;
  text-decoration: inherit;
  text-transform: inherit;
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  margin: 0;
  transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  will-change: opacity;
}

.mdc-select-helper-text::before {
  display: inline-block;
  width: 0;
  height: 16px;
  content: "";
  vertical-align: 0;
}

.mdc-select-helper-text--persistent {
  transition: none;
  opacity: 1;
  will-change: initial;
}

.mdc-select {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  display: inline-flex;
  position: relative;
  box-sizing: border-box;
  height: 56px;
  overflow: hidden;
  /* @alternate */
  will-change: opacity, transform, color;
}

.mdc-select:not(.mdc-select--disabled) {
  background-color: whitesmoke;
}

.mdc-select::before, .mdc-select::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

.mdc-select::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

.mdc-select.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-select.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

.mdc-select.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

.mdc-select.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

.mdc-select.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-select::before, .mdc-select::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}

.mdc-select.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-select::before, .mdc-select::after {
  background-color: rgba(0, 0, 0, 0.87);
}

.mdc-select:hover::before {
  opacity: 0.04;
}

.mdc-select.mdc-ripple-upgraded--background-focused::before, .mdc-select:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-select:not(.mdc-select--disabled) .mdc-select__native-control,
.mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text {
  color: rgba(0, 0, 0, 0.87);
}

.mdc-select:not(.mdc-select--disabled) .mdc-floating-label {
  color: rgba(0, 0, 0, 0.6);
}

.mdc-select:not(.mdc-select--disabled) .mdc-select__native-control,
.mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text {
  border-bottom-color: rgba(0, 0, 0, 0.42);
}

.mdc-select:not(.mdc-select--disabled) + .mdc-select-helper-text {
  color: rgba(0, 0, 0, 0.6);
}

.mdc-select, .mdc-select__native-control {
  border-radius: 4px 4px 0 0;
}

.mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple {
  background-color: #6200ee;
  /* @alternate */
  background-color: var(--mdc-theme-primary, #6200ee);
}

.mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label {
  color: rgba(98, 0, 238, 0.87);
}

.mdc-select:not(.mdc-select--disabled) .mdc-select__native-control:hover {
  border-bottom-color: rgba(0, 0, 0, 0.87);
}

.mdc-select .mdc-floating-label--float-above {
  transform: translateY(-70%) scale(0.75);
}

.mdc-select .mdc-floating-label {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: initial;
  top: 21px;
  pointer-events: none;
}

[dir="rtl"] .mdc-select .mdc-floating-label, .mdc-select .mdc-floating-label[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 16px;
}

.mdc-select.mdc-select--with-leading-icon .mdc-floating-label {
  /* @noflip */
  left: 48px;
  /* @noflip */
  right: initial;
}

[dir="rtl"] .mdc-select.mdc-select--with-leading-icon .mdc-floating-label, .mdc-select.mdc-select--with-leading-icon .mdc-floating-label[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 48px;
}

.mdc-select.mdc-select--outlined .mdc-floating-label {
  /* @noflip */
  left: 4px;
  /* @noflip */
  right: initial;
  top: 17px;
}

[dir="rtl"] .mdc-select.mdc-select--outlined .mdc-floating-label, .mdc-select.mdc-select--outlined .mdc-floating-label[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 4px;
}

.mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label {
  /* @noflip */
  left: 36px;
  /* @noflip */
  right: initial;
}

[dir="rtl"] .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label, .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 36px;
}

.mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above {
  /* @noflip */
  left: 36px;
  /* @noflip */
  right: initial;
}

[dir="rtl"] .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above, .mdc-select.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 36px;
}

.mdc-select__dropdown-icon {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.54%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;
  /* @noflip */
  left: auto;
  /* @noflip */
  right: 8px;
  position: absolute;
  bottom: 16px;
  width: 24px;
  height: 24px;
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}

[dir="rtl"] .mdc-select__dropdown-icon, .mdc-select__dropdown-icon[dir="rtl"] {
  /* @noflip */
  left: 8px;
  /* @noflip */
  right: auto;
}

.mdc-select--focused .mdc-select__dropdown-icon {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%236200ee%22%20fill-rule%3D%22evenodd%22%20opacity%3D%221%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;
}

.mdc-select--activated .mdc-select__dropdown-icon {
  transform: rotate(180deg) translateY(-5px);
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

.mdc-select__native-control {
  padding-top: 20px;
}

.mdc-select.mdc-select--focused .mdc-line-ripple::after {
  transform: scale(1, 2);
  opacity: 1;
}

.mdc-select + .mdc-select-helper-text {
  margin-right: 12px;
  margin-left: 12px;
}

.mdc-select--outlined + .mdc-select-helper-text {
  margin-right: 16px;
  margin-left: 16px;
}

.mdc-select--focused + .mdc-select-helper-text:not(.mdc-select-helper-text--validation-msg) {
  opacity: 1;
}

.mdc-select__selected-text {
  min-width: 200px;
  padding-top: 22px;
}

.mdc-select__native-control,
.mdc-select__selected-text {
  /* @noflip */
  padding-left: 16px;
  /* @noflip */
  padding-right: 52px;
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 400;
  letter-spacing: 0.00937em;
  text-decoration: inherit;
  text-transform: inherit;
  box-sizing: border-box;
  width: 100%;
  height: 56px;
  padding-top: 20px;
  padding-bottom: 4px;
  border: none;
  border-bottom: 1px solid;
  outline: none;
  background-color: transparent;
  color: inherit;
  white-space: nowrap;
  cursor: pointer;
  appearance: none;
}

[dir="rtl"] .mdc-select__native-control, .mdc-select__native-control[dir="rtl"], [dir="rtl"]
.mdc-select__selected-text,
.mdc-select__selected-text[dir="rtl"] {
  /* @noflip */
  padding-left: 52px;
  /* @noflip */
  padding-right: 16px;
}

.mdc-select__native-control::-ms-expand,
.mdc-select__selected-text::-ms-expand {
  display: none;
}

.mdc-select__native-control::-ms-value,
.mdc-select__selected-text::-ms-value {
  background-color: transparent;
  color: inherit;
}

@-moz-document url-prefix("") {
  .mdc-select__native-control,
  .mdc-select__selected-text {
    text-indent: -2px;
  }
}

.mdc-select--outlined {
  border: none;
  overflow: visible;
}

.mdc-select--outlined:not(.mdc-select--disabled) {
  background-color: transparent;
}

.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,
.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,
.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing {
  border-color: rgba(0, 0, 0, 0.38);
}

.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,
.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: rgba(0, 0, 0, 0.87);
}

.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-width: 2px;
}

.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #6200ee;
  /* @alternate */
  border-color: var(--mdc-theme-primary, #6200ee);
}

.mdc-select--outlined .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-text-field-outlined 250ms 1;
}

.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading {
  /* @noflip */
  border-radius: 4px 0 0 4px;
}

[dir="rtl"] .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading, .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir="rtl"] {
  /* @noflip */
  border-radius: 0 4px 4px 0;
}

.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing {
  /* @noflip */
  border-radius: 0 4px 4px 0;
}

[dir="rtl"] .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing, .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir="rtl"] {
  /* @noflip */
  border-radius: 4px 0 0 4px;
}

.mdc-select--outlined .mdc-select__native-control {
  border-radius: 4px;
}

.mdc-select--outlined::before, .mdc-select--outlined::after {
  content: none;
}

.mdc-select--outlined:not(.mdc-select--disabled) {
  background-color: transparent;
}

.mdc-select--outlined .mdc-floating-label--float-above {
  transform: translateY(-144%) scale(1);
}

.mdc-select--outlined .mdc-floating-label--float-above {
  font-size: 0.75rem;
}

.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-130%) scale(0.75);
}

.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  font-size: 1rem;
}

.mdc-select--outlined .mdc-select__native-control,
.mdc-select--outlined .mdc-select__selected-text {
  /* @noflip */
  padding-left: 16px;
  /* @noflip */
  padding-right: 52px;
  display: flex;
  padding-top: 12px;
  padding-bottom: 12px;
  border: none;
  background-color: transparent;
  z-index: 1;
}

[dir="rtl"] .mdc-select--outlined .mdc-select__native-control, .mdc-select--outlined .mdc-select__native-control[dir="rtl"], [dir="rtl"]
.mdc-select--outlined .mdc-select__selected-text,
.mdc-select--outlined .mdc-select__selected-text[dir="rtl"] {
  /* @noflip */
  padding-left: 52px;
  /* @noflip */
  padding-right: 16px;
}

.mdc-select--outlined .mdc-select__selected-text {
  padding-top: 14px;
}

.mdc-select--outlined .mdc-select__icon {
  z-index: 2;
}

.mdc-select--outlined .mdc-floating-label {
  line-height: 1.15rem;
  pointer-events: auto;
}

.mdc-select--invalid:not(.mdc-select--disabled) .mdc-floating-label {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid:not(.mdc-select--disabled) .mdc-select__native-control,
.mdc-select--invalid:not(.mdc-select--disabled) .mdc-select__selected-text {
  border-bottom-color: #b00020;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple {
  background-color: #b00020;
  /* @alternate */
  background-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label {
  color: #b00020;
}

.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--invalid + .mdc-select-helper-text--validation-msg {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid:not(.mdc-select--disabled) .mdc-select__native-control:hover {
  border-bottom-color: #b00020;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__native-control:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__selected-text:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-width: 2px;
}

.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid .mdc-select__dropdown-icon {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23b00020%22%20fill-rule%3D%22evenodd%22%20opacity%3D%221%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;
}

.mdc-select--invalid + .mdc-select-helper-text--validation-msg {
  opacity: 1;
}

.mdc-select--required .mdc-floating-label::after {
  content: "*";
}

.mdc-select--disabled {
  background-color: #fafafa;
  cursor: default;
  pointer-events: none;
}

.mdc-select--disabled .mdc-floating-label {
  color: rgba(0, 0, 0, 0.37);
}

.mdc-select--disabled .mdc-select__dropdown-icon {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.37%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;
}

.mdc-select--disabled .mdc-line-ripple {
  display: none;
}

.mdc-select--disabled .mdc-select__icon {
  color: rgba(0, 0, 0, 0.37);
}

.mdc-select--disabled .mdc-select__native-control,
.mdc-select--disabled .mdc-select__selected-text {
  color: rgba(0, 0, 0, 0.37);
  border-bottom-style: dotted;
}

.mdc-select--disabled .mdc-select__selected-text {
  pointer-events: none;
}

.mdc-select--disabled.mdc-select--outlined {
  background-color: transparent;
}

.mdc-select--disabled.mdc-select--outlined .mdc-select__native-control,
.mdc-select--disabled.mdc-select--outlined .mdc-select__selected-text {
  border-bottom-style: none;
}

.mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__leading,
.mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__notch,
.mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__trailing {
  border-color: rgba(0, 0, 0, 0.16);
}

.mdc-select--with-leading-icon .mdc-select__icon {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: initial;
}

[dir="rtl"] .mdc-select--with-leading-icon .mdc-select__icon, .mdc-select--with-leading-icon .mdc-select__icon[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 16px;
}

.mdc-select--with-leading-icon .mdc-select__native-control,
.mdc-select--with-leading-icon .mdc-select__selected-text {
  /* @noflip */
  padding-left: 48px;
  /* @noflip */
  padding-right: 32px;
}

[dir="rtl"] .mdc-select--with-leading-icon .mdc-select__native-control, .mdc-select--with-leading-icon .mdc-select__native-control[dir="rtl"], [dir="rtl"]
.mdc-select--with-leading-icon .mdc-select__selected-text,
.mdc-select--with-leading-icon .mdc-select__selected-text[dir="rtl"] {
  /* @noflip */
  padding-left: 32px;
  /* @noflip */
  padding-right: 48px;
}

.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above {
  transform: translateY(-144%) translateX(-32px) scale(1);
}

[dir="rtl"] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above, .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above[dir="rtl"] {
  transform: translateY(-144%) translateX(32px) scale(1);
}

.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above {
  font-size: 0.75rem;
}

.mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-130%) translateX(-32px) scale(0.75);
}

[dir="rtl"] .mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above, .mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir="rtl"], [dir="rtl"]
.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir="rtl"] {
  transform: translateY(-130%) translateX(32px) scale(0.75);
}

.mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  font-size: 1rem;
}

.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-select-outlined-leading-icon 250ms 1;
}

[dir="rtl"] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--shake, .mdc-select--with-leading-icon.mdc-select--outlined[dir="rtl"] .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl 250ms 1;
}

.mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text {
  /* @noflip */
  padding-left: 32px;
  /* @noflip */
  padding-right: 32px;
}

[dir="rtl"] .mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text, .mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text[dir="rtl"] {
  /* @noflip */
  padding-left: 32px;
  /* @noflip */
  padding-right: 32px;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected {
  color: #000;
  /* @alternate */
  color: var(--mdc-theme-on-surface, #000);
}

.mdc-select__menu .mdc-list .mdc-list-item--selected::before, .mdc-select__menu .mdc-list .mdc-list-item--selected::after {
  background-color: #000;
}

@supports not (-ms-ime-align: auto) {
  .mdc-select__menu .mdc-list .mdc-list-item--selected::before, .mdc-select__menu .mdc-list .mdc-list-item--selected::after {
    /* @alternate */
    background-color: var(--mdc-theme-on-surface, #000);
  }
}

.mdc-select__menu .mdc-list .mdc-list-item--selected:hover::before {
  opacity: 0.04;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before, .mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

@keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon {
  0% {
    transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    transform: translateX(calc(4% - 32px)) translateY(-130%) scale(0.75);
  }
  66% {
    animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    transform: translateX(calc(-4% - 32px)) translateY(-130%) scale(0.75);
  }
  100% {
    transform: translateX(calc(0 - 32px)) translateY(-130%) scale(0.75);
  }
}

@keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl {
  0% {
    transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    transform: translateX(calc(4% - -32px)) translateY(-130%) scale(0.75);
  }
  66% {
    animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    transform: translateX(calc(-4% - -32px)) translateY(-130%) scale(0.75);
  }
  100% {
    transform: translateX(calc(0 - -32px)) translateY(-130%) scale(0.75);
  }
}

.mdc-text-field-helper-text {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 0.75rem;
  line-height: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.03333em;
  text-decoration: inherit;
  text-transform: inherit;
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  margin: 0;
  transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  will-change: opacity;
}

.mdc-text-field-helper-text::before {
  display: inline-block;
  width: 0;
  height: 16px;
  content: "";
  vertical-align: 0;
}

.mdc-text-field-helper-text--persistent {
  transition: none;
  opacity: 1;
  will-change: initial;
}

.mdc-text-field-character-counter {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 0.75rem;
  line-height: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.03333em;
  text-decoration: inherit;
  text-transform: inherit;
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  /* @noflip */
  margin-left: auto;
  /* @noflip */
  margin-right: 0;
  /* @noflip */
  padding-left: 16px;
  /* @noflip */
  padding-right: 0;
  white-space: nowrap;
}

.mdc-text-field-character-counter::before {
  display: inline-block;
  width: 0;
  height: 16px;
  content: "";
  vertical-align: 0;
}

[dir="rtl"] .mdc-text-field-character-counter, .mdc-text-field-character-counter[dir="rtl"] {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: auto;
}

[dir="rtl"] .mdc-text-field-character-counter, .mdc-text-field-character-counter[dir="rtl"] {
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 16px;
}

.mdc-text-field--with-leading-icon .mdc-text-field__icon,
.mdc-text-field--with-trailing-icon .mdc-text-field__icon {
  position: absolute;
  bottom: 16px;
  cursor: pointer;
}

.mdc-text-field__icon:not([tabindex]),
.mdc-text-field__icon[tabindex="-1"] {
  cursor: default;
  pointer-events: none;
}

.mdc-text-field {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  border-radius: 4px 4px 0 0;
  display: inline-flex;
  position: relative;
  box-sizing: border-box;
  height: 56px;
  overflow: hidden;
  /* @alternate */
  will-change: opacity, transform, color;
}

.mdc-text-field::before, .mdc-text-field::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

.mdc-text-field::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

.mdc-text-field.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-text-field.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

.mdc-text-field.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

.mdc-text-field.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

.mdc-text-field.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-text-field::before, .mdc-text-field::after {
  background-color: rgba(0, 0, 0, 0.87);
}

.mdc-text-field:hover::before {
  opacity: 0.04;
}

.mdc-text-field.mdc-ripple-upgraded--background-focused::before, .mdc-text-field:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-text-field::before, .mdc-text-field::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}

.mdc-text-field.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label {
  color: rgba(0, 0, 0, 0.6);
}

.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input {
  color: rgba(0, 0, 0, 0.87);
}

.mdc-text-field .mdc-text-field__input {
  caret-color: #6200ee;
  /* @alternate */
  caret-color: var(--mdc-theme-primary, #6200ee);
}

.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input {
  border-bottom-color: rgba(0, 0, 0, 0.42);
}

.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input:hover {
  border-bottom-color: rgba(0, 0, 0, 0.87);
}

.mdc-text-field .mdc-line-ripple {
  background-color: #6200ee;
  /* @alternate */
  background-color: var(--mdc-theme-primary, #6200ee);
}

.mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--textarea) {
  border-bottom-color: rgba(0, 0, 0, 0.12);
}

.mdc-text-field:not(.mdc-text-field--disabled) + .mdc-text-field-helper-line .mdc-text-field-helper-text {
  color: rgba(0, 0, 0, 0.6);
}

.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field-character-counter,
.mdc-text-field:not(.mdc-text-field--disabled) + .mdc-text-field-helper-line .mdc-text-field-character-counter {
  color: rgba(0, 0, 0, 0.6);
}

.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__icon {
  color: rgba(0, 0, 0, 0.54);
}

.mdc-text-field:not(.mdc-text-field--disabled) {
  background-color: whitesmoke;
}

.mdc-text-field .mdc-floating-label {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: initial;
  top: 18px;
  pointer-events: none;
}

[dir="rtl"] .mdc-text-field .mdc-floating-label, .mdc-text-field .mdc-floating-label[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 16px;
}

.mdc-text-field--textarea .mdc-floating-label {
  /* @noflip */
  left: 4px;
  /* @noflip */
  right: initial;
}

[dir="rtl"] .mdc-text-field--textarea .mdc-floating-label, .mdc-text-field--textarea .mdc-floating-label[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 4px;
}

.mdc-text-field--outlined .mdc-floating-label {
  /* @noflip */
  left: 4px;
  /* @noflip */
  right: initial;
  top: 17px;
}

[dir="rtl"] .mdc-text-field--outlined .mdc-floating-label, .mdc-text-field--outlined .mdc-floating-label[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 4px;
}

.mdc-text-field--outlined--with-leading-icon .mdc-floating-label {
  /* @noflip */
  left: 36px;
  /* @noflip */
  right: initial;
}

[dir="rtl"] .mdc-text-field--outlined--with-leading-icon .mdc-floating-label, .mdc-text-field--outlined--with-leading-icon .mdc-floating-label[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 36px;
}

.mdc-text-field--outlined--with-leading-icon .mdc-floating-label--float-above {
  /* @noflip */
  left: 40px;
  /* @noflip */
  right: initial;
}

[dir="rtl"] .mdc-text-field--outlined--with-leading-icon .mdc-floating-label--float-above, .mdc-text-field--outlined--with-leading-icon .mdc-floating-label--float-above[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 40px;
}

.mdc-text-field__input {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 400;
  letter-spacing: 0.00937em;
  text-decoration: inherit;
  text-transform: inherit;
  align-self: flex-end;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 20px 16px 6px;
  transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
  border: none;
  border-bottom: 1px solid;
  border-radius: 0;
  background: none;
  appearance: none;
}

.mdc-text-field__input::placeholder {
  transition: opacity 67ms cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  color: rgba(0, 0, 0, 0.54);
}

.mdc-text-field__input:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.54) !important;
}

.mdc-text-field--fullwidth .mdc-text-field__input::placeholder,
.mdc-text-field--no-label .mdc-text-field__input::placeholder,
.mdc-text-field--focused .mdc-text-field__input::placeholder {
  transition-delay: 40ms;
  transition-duration: 110ms;
  opacity: 1;
}

.mdc-text-field__input:focus {
  outline: none;
}

.mdc-text-field__input:invalid {
  box-shadow: none;
}

.mdc-text-field__input:-webkit-autofill {
  z-index: auto !important;
}

.mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input {
  padding-top: 16px;
  padding-bottom: 16px;
}

.mdc-text-field__input:-webkit-autofill + .mdc-floating-label {
  transform: translateY(-50%) scale(0.75);
  cursor: auto;
}

.mdc-text-field--outlined {
  border: none;
  overflow: visible;
}

.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,
.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,
.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {
  border-color: rgba(0, 0, 0, 0.38);
}

.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,
.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: rgba(0, 0, 0, 0.87);
}

.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,
.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,
.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing {
  border-color: #6200ee;
  /* @alternate */
  border-color: var(--mdc-theme-primary, #6200ee);
}

.mdc-text-field--outlined .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-text-field-outlined 250ms 1;
}

.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading {
  /* @noflip */
  border-radius: 4px 0 0 4px;
}

[dir="rtl"] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading, .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir="rtl"] {
  /* @noflip */
  border-radius: 0 4px 4px 0;
}

.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing {
  /* @noflip */
  border-radius: 0 4px 4px 0;
}

[dir="rtl"] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing, .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir="rtl"] {
  /* @noflip */
  border-radius: 4px 0 0 4px;
}

.mdc-text-field--outlined .mdc-floating-label--float-above {
  transform: translateY(-144%) scale(1);
}

.mdc-text-field--outlined .mdc-floating-label--float-above {
  font-size: 0.75rem;
}

.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-130%) scale(0.75);
}

.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  font-size: 1rem;
}

.mdc-text-field--outlined::before, .mdc-text-field--outlined::after {
  content: none;
}

.mdc-text-field--outlined:not(.mdc-text-field--disabled) {
  background-color: transparent;
}

.mdc-text-field--outlined .mdc-text-field__input {
  display: flex;
  padding: 12px 16px 14px;
  border: none !important;
  background-color: transparent;
  z-index: 1;
}

.mdc-text-field--outlined .mdc-text-field__icon {
  z-index: 2;
}

.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__leading,
.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__notch,
.mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline__trailing {
  border-width: 2px;
}

.mdc-text-field--outlined.mdc-text-field--disabled {
  background-color: transparent;
}

.mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__leading,
.mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__notch,
.mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__trailing {
  border-color: rgba(0, 0, 0, 0.06);
}

.mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input {
  border-bottom: none;
}

.mdc-text-field--outlined.mdc-text-field--dense {
  height: 48px;
}

.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above {
  transform: translateY(-134%) scale(1);
}

.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above {
  font-size: 0.8rem;
}

.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-120%) scale(0.8);
}

.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  font-size: 1rem;
}

.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-text-field-outlined-dense 250ms 1;
}

.mdc-text-field--outlined.mdc-text-field--dense .mdc-text-field__input {
  padding: 12px 12px 7px;
}

.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label {
  top: 14px;
}

.mdc-text-field--outlined.mdc-text-field--dense .mdc-text-field__icon {
  top: 12px;
}

.mdc-text-field--with-leading-icon .mdc-text-field__icon {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: initial;
}

[dir="rtl"] .mdc-text-field--with-leading-icon .mdc-text-field__icon, .mdc-text-field--with-leading-icon .mdc-text-field__icon[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 16px;
}

.mdc-text-field--with-leading-icon .mdc-text-field__input {
  /* @noflip */
  padding-left: 48px;
  /* @noflip */
  padding-right: 16px;
}

[dir="rtl"] .mdc-text-field--with-leading-icon .mdc-text-field__input, .mdc-text-field--with-leading-icon .mdc-text-field__input[dir="rtl"] {
  /* @noflip */
  padding-left: 16px;
  /* @noflip */
  padding-right: 48px;
}

.mdc-text-field--with-leading-icon .mdc-floating-label {
  /* @noflip */
  left: 48px;
  /* @noflip */
  right: initial;
}

[dir="rtl"] .mdc-text-field--with-leading-icon .mdc-floating-label, .mdc-text-field--with-leading-icon .mdc-floating-label[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 48px;
}

.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__icon {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: initial;
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__icon[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 16px;
}

.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__input {
  /* @noflip */
  padding-left: 48px;
  /* @noflip */
  padding-right: 16px;
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__input, .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__input[dir="rtl"] {
  /* @noflip */
  padding-left: 16px;
  /* @noflip */
  padding-right: 48px;
}

.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above {
  transform: translateY(-144%) translateX(-32px) scale(1);
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above, .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above[dir="rtl"] {
  transform: translateY(-144%) translateX(32px) scale(1);
}

.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above {
  font-size: 0.75rem;
}

.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-130%) translateX(-32px) scale(0.75);
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above, .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir="rtl"], [dir="rtl"]
.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir="rtl"] {
  transform: translateY(-130%) translateX(32px) scale(0.75);
}

.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  font-size: 1rem;
}

.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1;
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake, .mdc-text-field--with-leading-icon.mdc-text-field--outlined[dir="rtl"] .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl 250ms 1;
}

.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label {
  /* @noflip */
  left: 36px;
  /* @noflip */
  right: initial;
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label, .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 36px;
}

.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above {
  transform: translateY(-134%) translateX(-21px) scale(1);
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above, .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above[dir="rtl"] {
  transform: translateY(-134%) translateX(21px) scale(1);
}

.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--float-above {
  font-size: 0.8rem;
}

.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-120%) translateX(-21px) scale(0.8);
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above, .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir="rtl"], [dir="rtl"]
.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir="rtl"] {
  transform: translateY(-120%) translateX(21px) scale(0.8);
}

.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  font-size: 1rem;
}

.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense 250ms 1;
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label--shake, .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense[dir="rtl"] .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense-rtl 250ms 1;
}

.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label {
  /* @noflip */
  left: 32px;
  /* @noflip */
  right: initial;
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label, .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense .mdc-floating-label[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 32px;
}

.mdc-text-field--with-trailing-icon .mdc-text-field__icon {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 12px;
}

[dir="rtl"] .mdc-text-field--with-trailing-icon .mdc-text-field__icon, .mdc-text-field--with-trailing-icon .mdc-text-field__icon[dir="rtl"] {
  /* @noflip */
  left: 12px;
  /* @noflip */
  right: initial;
}

.mdc-text-field--with-trailing-icon .mdc-text-field__input {
  /* @noflip */
  padding-left: 16px;
  /* @noflip */
  padding-right: 48px;
}

[dir="rtl"] .mdc-text-field--with-trailing-icon .mdc-text-field__input, .mdc-text-field--with-trailing-icon .mdc-text-field__input[dir="rtl"] {
  /* @noflip */
  padding-left: 48px;
  /* @noflip */
  padding-right: 16px;
}

.mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__icon {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 16px;
}

[dir="rtl"] .mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__icon, .mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__icon[dir="rtl"] {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: initial;
}

.mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__input {
  /* @noflip */
  padding-left: 16px;
  /* @noflip */
  padding-right: 48px;
}

[dir="rtl"] .mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__input, .mdc-text-field--with-trailing-icon.mdc-text-field--outlined .mdc-text-field__input[dir="rtl"] {
  /* @noflip */
  padding-left: 48px;
  /* @noflip */
  padding-right: 16px;
}

.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: auto;
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon[dir="rtl"] {
  /* @noflip */
  left: auto;
  /* @noflip */
  right: 16px;
}

.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon ~ .mdc-text-field__icon {
  /* @noflip */
  right: 12px;
  /* @noflip */
  left: auto;
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon ~ .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__icon ~ .mdc-text-field__icon[dir="rtl"] {
  /* @noflip */
  right: auto;
  /* @noflip */
  left: 12px;
}

.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__input {
  /* @noflip */
  padding-left: 48px;
  /* @noflip */
  padding-right: 48px;
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__input, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon .mdc-text-field__input[dir="rtl"] {
  /* @noflip */
  padding-left: 48px;
  /* @noflip */
  padding-right: 48px;
}

.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon,
.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon {
  bottom: 16px;
  transform: scale(0.8);
}

.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon {
  /* @noflip */
  left: 12px;
  /* @noflip */
  right: initial;
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__icon[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 12px;
}

.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__input {
  /* @noflip */
  padding-left: 44px;
  /* @noflip */
  padding-right: 16px;
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__input, .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-text-field__input[dir="rtl"] {
  /* @noflip */
  padding-left: 16px;
  /* @noflip */
  padding-right: 44px;
}

.mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-floating-label {
  /* @noflip */
  left: 44px;
  /* @noflip */
  right: initial;
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-floating-label, .mdc-text-field--with-leading-icon.mdc-text-field--dense .mdc-floating-label[dir="rtl"] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 44px;
}

.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 12px;
}

[dir="rtl"] .mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon, .mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon[dir="rtl"] {
  /* @noflip */
  left: 12px;
  /* @noflip */
  right: initial;
}

.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input {
  /* @noflip */
  padding-left: 16px;
  /* @noflip */
  padding-right: 44px;
}

[dir="rtl"] .mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input, .mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input[dir="rtl"] {
  /* @noflip */
  padding-left: 44px;
  /* @noflip */
  padding-right: 16px;
}

.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon {
  /* @noflip */
  left: 12px;
  /* @noflip */
  right: auto;
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon[dir="rtl"] {
  /* @noflip */
  left: auto;
  /* @noflip */
  right: 12px;
}

.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon ~ .mdc-text-field__icon {
  /* @noflip */
  right: 12px;
  /* @noflip */
  left: auto;
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon ~ .mdc-text-field__icon, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__icon ~ .mdc-text-field__icon[dir="rtl"] {
  /* @noflip */
  right: auto;
  /* @noflip */
  left: 12px;
}

.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input {
  /* @noflip */
  padding-left: 44px;
  /* @noflip */
  padding-right: 44px;
}

[dir="rtl"] .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input, .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense .mdc-text-field__input[dir="rtl"] {
  /* @noflip */
  padding-left: 44px;
  /* @noflip */
  padding-right: 44px;
}

.mdc-text-field--dense .mdc-floating-label--float-above {
  transform: translateY(-70%) scale(0.8);
}

.mdc-text-field--dense .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-text-field-dense 250ms 1;
}

.mdc-text-field--dense .mdc-text-field__input {
  padding: 12px 12px 0;
}

.mdc-text-field--dense .mdc-floating-label {
  font-size: .813rem;
}

.mdc-text-field--dense .mdc-floating-label--float-above {
  font-size: .813rem;
}

.mdc-text-field__input:required ~ .mdc-floating-label::after,
.mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label::after {
  margin-left: 1px;
  content: "*";
}

.mdc-text-field--textarea {
  display: inline-flex;
  width: auto;
  height: auto;
  transition: none;
  overflow: visible;
}

.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,
.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,
.mdc-text-field--textarea:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {
  border-color: rgba(0, 0, 0, 0.38);
}

.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,
.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: rgba(0, 0, 0, 0.87);
}

.mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,
.mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,
.mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing {
  border-color: #6200ee;
  /* @alternate */
  border-color: var(--mdc-theme-primary, #6200ee);
}

.mdc-text-field--textarea .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-text-field-outlined 250ms 1;
}

.mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading {
  /* @noflip */
  border-radius: 4px 0 0 4px;
}

[dir="rtl"] .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading, .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading[dir="rtl"] {
  /* @noflip */
  border-radius: 0 4px 4px 0;
}

.mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing {
  /* @noflip */
  border-radius: 0 4px 4px 0;
}

[dir="rtl"] .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing, .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing[dir="rtl"] {
  /* @noflip */
  border-radius: 4px 0 0 4px;
}

.mdc-text-field--textarea::before, .mdc-text-field--textarea::after {
  content: none;
}

.mdc-text-field--textarea:not(.mdc-text-field--disabled) {
  background-color: transparent;
}

.mdc-text-field--textarea .mdc-floating-label--float-above {
  transform: translateY(-144%) scale(1);
}

.mdc-text-field--textarea .mdc-floating-label--float-above {
  font-size: 0.75rem;
}

.mdc-text-field--textarea.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-130%) scale(0.75);
}

.mdc-text-field--textarea.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  font-size: 1rem;
}

.mdc-text-field--textarea .mdc-text-field-character-counter {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 16px;
  position: absolute;
  bottom: 13px;
}

[dir="rtl"] .mdc-text-field--textarea .mdc-text-field-character-counter, .mdc-text-field--textarea .mdc-text-field-character-counter[dir="rtl"] {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: initial;
}

.mdc-text-field--textarea .mdc-text-field__input {
  align-self: auto;
  box-sizing: border-box;
  height: auto;
  margin: 8px 1px 1px 0;
  padding: 0 16px 16px;
  border: none;
}

.mdc-text-field--textarea .mdc-text-field-character-counter + .mdc-text-field__input {
  margin-bottom: 28px;
  padding-bottom: 0;
}

.mdc-text-field--textarea .mdc-floating-label {
  top: 17px;
  bottom: auto;
  width: auto;
  pointer-events: none;
}

.mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline__leading,
.mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline__notch,
.mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline__trailing {
  border-width: 2px;
}

.mdc-text-field--fullwidth {
  width: 100%;
}

.mdc-text-field--fullwidth:not(.mdc-text-field--textarea) {
  display: block;
}

.mdc-text-field--fullwidth:not(.mdc-text-field--textarea)::before, .mdc-text-field--fullwidth:not(.mdc-text-field--textarea)::after {
  content: none;
}

.mdc-text-field--fullwidth:not(.mdc-text-field--textarea):not(.mdc-text-field--disabled) {
  background-color: transparent;
}

.mdc-text-field--fullwidth:not(.mdc-text-field--textarea) .mdc-text-field__input {
  padding: 0;
}

.mdc-text-field--fullwidth.mdc-text-field--textarea .mdc-text-field__input {
  resize: vertical;
}

.mdc-text-field--fullwidth.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--textarea) {
  border-bottom-color: #b00020;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-error, #b00020);
}

.mdc-text-field-helper-line {
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
}

.mdc-text-field--dense + .mdc-text-field-helper-line {
  margin-bottom: 4px;
}

.mdc-text-field + .mdc-text-field-helper-line {
  padding-right: 16px;
  padding-left: 16px;
}

.mdc-form-field > .mdc-text-field + label, .form_checkbox-group > .mdc-text-field + label {
  align-self: flex-start;
}

.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label {
  color: rgba(98, 0, 238, 0.87);
}

.mdc-text-field--focused .mdc-text-field__input:required ~ .mdc-floating-label::after,
.mdc-text-field--focused .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label::after {
  color: rgba(98, 0, 238, 0.87);
}

.mdc-text-field--focused + .mdc-text-field-helper-line .mdc-text-field-helper-text:not(.mdc-text-field-helper-text--validation-msg) {
  opacity: 1;
}

.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,
.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,
.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {
  border-color: #6200ee;
  /* @alternate */
  border-color: var(--mdc-theme-primary, #6200ee);
}

.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input {
  border-bottom-color: #b00020;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-error, #b00020);
}

.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input:hover {
  border-bottom-color: #b00020;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-error, #b00020);
}

.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple {
  background-color: #b00020;
  /* @alternate */
  background-color: var(--mdc-theme-error, #b00020);
}

.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020);
}

.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--invalid + .mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020);
}

.mdc-text-field--invalid .mdc-text-field__input {
  caret-color: #b00020;
  /* @alternate */
  caret-color: var(--mdc-theme-error, #b00020);
}

.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-floating-label::after,
.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label::after {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020);
}

.mdc-text-field--invalid.mdc-text-field--with-trailing-icon:not(.mdc-text-field--with-leading-icon):not(.mdc-text-field--disabled) .mdc-text-field__icon {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020);
}

.mdc-text-field--invalid.mdc-text-field--with-trailing-icon.mdc-text-field--with-leading-icon:not(.mdc-text-field--disabled) .mdc-text-field__icon ~ .mdc-text-field__icon {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020);
}

.mdc-text-field--invalid + .mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg {
  opacity: 1;
}

.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020);
}

.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020);
}

.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,
.mdc-text-field--textarea.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020);
}

.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020);
}

.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused) .mdc-text-field__icon:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020);
}

.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,
.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020);
}

.mdc-text-field--disabled {
  background-color: #fafafa;
  border-bottom: none;
  pointer-events: none;
}

.mdc-text-field--disabled .mdc-text-field__input {
  border-bottom-color: rgba(0, 0, 0, 0.06);
}

.mdc-text-field--disabled .mdc-text-field__input {
  color: rgba(0, 0, 0, 0.37);
}

.mdc-text-field--disabled .mdc-floating-label {
  color: rgba(0, 0, 0, 0.37);
}

.mdc-text-field--disabled + .mdc-text-field-helper-line .mdc-text-field-helper-text {
  color: rgba(0, 0, 0, 0.37);
}

.mdc-text-field--disabled .mdc-text-field-character-counter,
.mdc-text-field--disabled + .mdc-text-field-helper-line .mdc-text-field-character-counter {
  color: rgba(0, 0, 0, 0.37);
}

.mdc-text-field--disabled .mdc-text-field__icon {
  color: rgba(0, 0, 0, 0.3);
}

.mdc-text-field--disabled:not(.mdc-text-field--textarea) {
  border-bottom-color: rgba(0, 0, 0, 0.12);
}

.mdc-text-field--disabled .mdc-floating-label {
  cursor: default;
}

.mdc-text-field--textarea.mdc-text-field--disabled {
  background-color: transparent;
  /* @alternate */
  background-color: #f9f9f9;
}

.mdc-text-field--textarea.mdc-text-field--disabled .mdc-notched-outline__leading,
.mdc-text-field--textarea.mdc-text-field--disabled .mdc-notched-outline__notch,
.mdc-text-field--textarea.mdc-text-field--disabled .mdc-notched-outline__trailing {
  border-color: rgba(0, 0, 0, 0.06);
}

.mdc-text-field--textarea.mdc-text-field--disabled .mdc-text-field__input {
  border-bottom: none;
}

@keyframes mdc-floating-label-shake-float-above-text-field-dense {
  0% {
    transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    transform: translateX(calc(4% - 0%)) translateY(-70%) scale(0.8);
  }
  66% {
    animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    transform: translateX(calc(-4% - 0%)) translateY(-70%) scale(0.8);
  }
  100% {
    transform: translateX(calc(0 - 0%)) translateY(-70%) scale(0.8);
  }
}

@keyframes mdc-floating-label-shake-float-above-text-field-outlined {
  0% {
    transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75);
  }
  66% {
    animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75);
  }
  100% {
    transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);
  }
}

@keyframes mdc-floating-label-shake-float-above-text-field-outlined-dense {
  0% {
    transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    transform: translateX(calc(4% - 0%)) translateY(-120%) scale(0.8);
  }
  66% {
    animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    transform: translateX(calc(-4% - 0%)) translateY(-120%) scale(0.8);
  }
  100% {
    transform: translateX(calc(0 - 0%)) translateY(-120%) scale(0.8);
  }
}

@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon {
  0% {
    transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75);
  }
  66% {
    animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75);
  }
  100% {
    transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);
  }
}

@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense {
  0% {
    transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    transform: translateX(calc(4% - 21px)) translateY(-120%) scale(0.8);
  }
  66% {
    animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    transform: translateX(calc(-4% - 21px)) translateY(-120%) scale(0.8);
  }
  100% {
    transform: translateX(calc(0 - 21px)) translateY(-120%) scale(0.8);
  }
}

@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl {
  0% {
    transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    transform: translateX(calc(4% - 0)) translateY(-130%) scale(0.75);
  }
  66% {
    animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    transform: translateX(calc(-4% - 0)) translateY(-130%) scale(0.75);
  }
  100% {
    transform: translateX(calc(0 - 0)) translateY(-130%) scale(0.75);
  }
}

@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-dense-rtl {
  0% {
    transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    transform: translateX(calc(4% - -21px)) translateY(-120%) scale(0.8);
  }
  66% {
    animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    transform: translateX(calc(-4% - -21px)) translateY(-120%) scale(0.8);
  }
  100% {
    transform: translateX(calc(0 - -21px)) translateY(-120%) scale(0.8);
  }
}

@keyframes mdc-floating-label-shake-float-above-textarea {
  0% {
    transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    transform: translateX(calc(4% - 0%)) translateY(-130%) scale(0.75);
  }
  66% {
    animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    transform: translateX(calc(-4% - 0%)) translateY(-130%) scale(0.75);
  }
  100% {
    transform: translateX(calc(0 - 0%)) translateY(-130%) scale(0.75);
  }
}

/**
   Style Color Focus des Input
 */
.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-floating-label,
.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-floating-label:after,
.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label,
.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label:after,
.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label,
.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label:after {
  color: rgba(204, 102, 0, 0.87) !important;
}

.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing,
.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,
.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,
.mdc-text-field--textarea.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing,
.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,
.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,
.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing {
  border-color: #CC6600;
}

/**
   Style TextField
 */
.mdc-text-field .mdc-text-field__input {
  caret-color: #000;
}

.mdc-text-field--textarea .mdc-text-field__input {
  resize: vertical;
  min-height: 250px;
  padding: 10px 25px 16px;
}

/**
   Style Select
 */
.mdc-select .mdc-select__native-control {
  -webkit-appearance: none;
  -moz-appearance: none;
}

.mdc-select i.material-icons {
  position: absolute;
  top: 50%;
  right: 5px;
  transform: translate(-50%, -50%);
  transition: transform 0.15s ease-out;
}

.mdc-select.mdc-select--focused i.material-icons {
  transform: translate(-50%, -50%) rotate(180deg);
  color: #CC6600;
}

/**
   Form Global
 */
.mdc-text-field,
.mdc-select {
  width: 100%;
  margin-bottom: 20px;
}

.form h3 {
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  .form_input-group {
    flex-direction: column;
  }
}

.form_input-group > div:first-child {
  margin-right: 10px;
}

@media (max-width: 767px) {
  .form_input-group > div:first-child {
    margin-right: 0;
  }
}

.form_input-group > div:last-child {
  margin-left: 10px;
}

@media (max-width: 767px) {
  .form_input-group > div:last-child {
    margin-left: 0;
  }
}

.form_input-group > div:not(:first-child):not(:last-child) {
  margin-left: 10px;
  margin-right: 10px;
}

@media (max-width: 767px) {
  .form_input-group > div:not(:first-child):not(:last-child) {
    margin-left: 0;
    margin-right: 0;
  }
}

.form_checkbox-group {
  margin-bottom: 20px;
}

.form_checkbox-group label {
  margin-right: 10px;
}

.form_radio-group {
  margin-bottom: 20px;
  font-family: "Open Sans", sans-serif;
}

.form_notif {
  padding: 15px;
  margin: 15px 0;
  border-radius: 4px;
  border: solid 1px;
  font-family: "Open Sans", sans-serif;
  font-size: 0.9em;
}

.form_notif.form_notif_valid {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}

.form_notif.form_notif_error {
  color: #ab2e46;
  background-color: #f5dddd;
  border-color: #f5dddd;
}

.form_notif.form_notif_warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba;
}

.form_notif ul {
  margin: 5px 0;
  padding-left: 30px;
}

.form .choice-simple {
  margin: 15px 0;
}

.form .choice-simple input[type=radio] {
  display: none;
}

.form .choice-simple label {
  display: inline-flex;
  padding: 13px 17px;
  border: 1px solid #573D1C;
  font-family: 'Montserrat', sans-serif;
  color: #573D1C;
  cursor: pointer;
}

.form .choice-simple label:hover {
  background-color: rgba(204, 102, 0, 0.1);
}

.form .choice-simple label:nth-child(2) {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}

.form .choice-simple label:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.form .choice-simple input[type=radio]:checked + label {
  background-color: #573D1C;
  color: white;
}

@media (max-width: 767px) {
  .form .choice-simple {
    display: flex;
    flex-wrap: wrap;
  }
  .form .choice-simple label {
    margin: 10px;
    border-radius: 4px;
  }
}

@font-face {
  font-family: 'lg';
  src: url(/build/fonts/lg.a53dcc5e.ttf) format("truetype"), url(/build/fonts/lg.0add5958.woff) format("woff"), url(/build/images/lg.adb7aeef.svg) format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

.lg-icon {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'lg' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.lg-actions .lg-next, .lg-actions .lg-prev {
  background-color: rgba(0, 0, 0, 0.45);
  border-radius: 2px;
  color: #999;
  cursor: pointer;
  display: block;
  font-size: 22px;
  margin-top: -10px;
  padding: 8px 10px 9px;
  position: absolute;
  top: 50%;
  z-index: 1080;
  outline: none;
  border: none;
  background-color: transparent;
}

.lg-actions .lg-next.disabled, .lg-actions .lg-prev.disabled {
  pointer-events: none;
  opacity: 0.5;
}

.lg-actions .lg-next:hover, .lg-actions .lg-prev:hover {
  color: #FFF;
}

.lg-actions .lg-next {
  right: 20px;
}

.lg-actions .lg-next:before {
  content: "\e095";
}

.lg-actions .lg-prev {
  left: 20px;
}

.lg-actions .lg-prev:after {
  content: "\e094";
}

@-webkit-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}

@-moz-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}

@-ms-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}

@keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}

@-webkit-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}

@-moz-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}

@-ms-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}

@keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}

.lg-outer.lg-right-end .lg-object {
  -webkit-animation: lg-right-end 0.3s;
  -o-animation: lg-right-end 0.3s;
  animation: lg-right-end 0.3s;
  position: relative;
}

.lg-outer.lg-left-end .lg-object {
  -webkit-animation: lg-left-end 0.3s;
  -o-animation: lg-left-end 0.3s;
  animation: lg-left-end 0.3s;
  position: relative;
}

.lg-toolbar {
  z-index: 1082;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.45);
}

.lg-toolbar .lg-icon {
  color: #999;
  cursor: pointer;
  float: right;
  font-size: 24px;
  height: 47px;
  line-height: 27px;
  padding: 10px 0;
  text-align: center;
  width: 50px;
  text-decoration: none !important;
  outline: medium none;
  background: none;
  border: none;
  box-shadow: none;
  -webkit-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.lg-toolbar .lg-icon:hover {
  color: #FFF;
}

.lg-toolbar .lg-close:after {
  content: "\e070";
}

.lg-toolbar .lg-download:after {
  content: "\e0f2";
}

.lg-sub-html {
  background-color: rgba(0, 0, 0, 0.45);
  bottom: 0;
  color: #EEE;
  font-size: 16px;
  left: 0;
  padding: 10px 40px;
  position: fixed;
  right: 0;
  text-align: center;
  z-index: 1080;
}

.lg-sub-html h4 {
  margin: 0;
  font-size: 13px;
  font-weight: bold;
}

.lg-sub-html p {
  font-size: 12px;
  margin: 5px 0 0;
}

#lg-counter {
  color: #999;
  display: inline-block;
  font-size: 16px;
  padding-left: 20px;
  padding-top: 12px;
  vertical-align: middle;
}

.lg-toolbar, .lg-prev, .lg-next {
  opacity: 1;
  -webkit-transition: -webkit-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear;
  -moz-transition: -moz-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear;
  -o-transition: -o-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear;
  transition: transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear;
}

.lg-hide-items .lg-prev {
  opacity: 0;
  -webkit-transform: translate3d(-10px, 0, 0);
  transform: translate3d(-10px, 0, 0);
}

.lg-hide-items .lg-next {
  opacity: 0;
  -webkit-transform: translate3d(10px, 0, 0);
  transform: translate3d(10px, 0, 0);
}

.lg-hide-items .lg-toolbar {
  opacity: 0;
  -webkit-transform: translate3d(0, -10px, 0);
  transform: translate3d(0, -10px, 0);
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-object {
  -webkit-transform: scale3d(0.5, 0.5, 0.5);
  transform: scale3d(0.5, 0.5, 0.5);
  opacity: 0;
  -webkit-transition: -webkit-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  -moz-transition: -moz-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  -o-transition: -o-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  transition: transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item.lg-complete .lg-object {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  opacity: 1;
}

.lg-outer .lg-thumb-outer {
  background-color: #0D0A0A;
  bottom: 0;
  position: absolute;
  width: 100%;
  z-index: 1080;
  max-height: 350px;
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: -o-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab;
}

.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: -o-grabbing;
  cursor: -ms-grabbing;
  cursor: grabbing;
}

.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
}

.lg-outer.lg-thumb-open .lg-thumb-outer {
  -webkit-transform: translate3d(0, 0%, 0);
  transform: translate3d(0, 0%, 0);
}

.lg-outer .lg-thumb {
  padding: 10px 0;
  height: 100%;
  margin-bottom: -5px;
}

.lg-outer .lg-thumb-item {
  border-radius: 5px;
  cursor: pointer;
  float: left;
  overflow: hidden;
  height: 100%;
  border: 2px solid #FFF;
  border-radius: 4px;
  margin-bottom: 5px;
}

@media (min-width: 1025px) {
  .lg-outer .lg-thumb-item {
    -webkit-transition: border-color 0.25s ease;
    -o-transition: border-color 0.25s ease;
    transition: border-color 0.25s ease;
  }
}

.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover {
  border-color: #a90707;
}

.lg-outer .lg-thumb-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lg-outer.lg-has-thumb .lg-item {
  padding-bottom: 120px;
}

.lg-outer.lg-can-toggle .lg-item {
  padding-bottom: 0;
}

.lg-outer.lg-pull-caption-up .lg-sub-html {
  -webkit-transition: bottom 0.25s ease;
  -o-transition: bottom 0.25s ease;
  transition: bottom 0.25s ease;
}

.lg-outer.lg-pull-caption-up.lg-thumb-open .lg-sub-html {
  bottom: 100px;
}

.lg-outer .lg-toggle-thumb {
  background-color: #0D0A0A;
  border-radius: 2px 2px 0 0;
  color: #999;
  cursor: pointer;
  font-size: 24px;
  height: 39px;
  line-height: 27px;
  padding: 5px 0;
  position: absolute;
  right: 20px;
  text-align: center;
  top: -39px;
  width: 50px;
  outline: medium none;
  border: none;
}

.lg-outer .lg-toggle-thumb:after {
  content: "\e1ff";
}

.lg-outer .lg-toggle-thumb:hover {
  color: #FFF;
}

.lg-outer .lg-video-cont {
  display: inline-block;
  vertical-align: middle;
  max-width: 1140px;
  max-height: 100%;
  width: 100%;
  padding: 0 5px;
}

.lg-outer .lg-video {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  position: relative;
}

.lg-outer .lg-video .lg-object {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.lg-outer .lg-video .lg-video-play {
  width: 84px;
  height: 59px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -42px;
  margin-top: -30px;
  z-index: 1080;
  cursor: pointer;
}

.lg-outer .lg-has-vimeo .lg-video-play {
  background: url(/build/images/vimeo-play.6c87992d.png) no-repeat scroll 0 0 transparent;
}

.lg-outer .lg-has-vimeo:hover .lg-video-play {
  background: url(/build/images/vimeo-play.6c87992d.png) no-repeat scroll 0 -58px transparent;
}

.lg-outer .lg-has-html5 .lg-video-play {
  background: transparent url(/build/images/video-play.53bb7d07.png) no-repeat scroll 0 0;
  height: 64px;
  margin-left: -32px;
  margin-top: -32px;
  width: 64px;
  opacity: 0.8;
}

.lg-outer .lg-has-html5:hover .lg-video-play {
  opacity: 1;
}

.lg-outer .lg-has-youtube .lg-video-play {
  background: url(/build/images/youtube-play.8921bc9c.png) no-repeat scroll 0 0 transparent;
}

.lg-outer .lg-has-youtube:hover .lg-video-play {
  background: url(/build/images/youtube-play.8921bc9c.png) no-repeat scroll 0 -60px transparent;
}

.lg-outer .lg-video-object {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
}

.lg-outer .lg-has-video .lg-video-object {
  visibility: hidden;
}

.lg-outer .lg-has-video.lg-video-playing .lg-object, .lg-outer .lg-has-video.lg-video-playing .lg-video-play {
  display: none;
}

.lg-outer .lg-has-video.lg-video-playing .lg-video-object {
  visibility: visible;
}

.lg-progress-bar {
  background-color: #333;
  height: 5px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1083;
  opacity: 0;
  -webkit-transition: opacity 0.08s ease 0s;
  -moz-transition: opacity 0.08s ease 0s;
  -o-transition: opacity 0.08s ease 0s;
  transition: opacity 0.08s ease 0s;
}

.lg-progress-bar .lg-progress {
  background-color: #a90707;
  height: 5px;
  width: 0;
}

.lg-progress-bar.lg-start .lg-progress {
  width: 100%;
}

.lg-show-autoplay .lg-progress-bar {
  opacity: 1;
}

.lg-autoplay-button:after {
  content: "\e01d";
}

.lg-show-autoplay .lg-autoplay-button:after {
  content: "\e01a";
}

.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap, .lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image {
  -webkit-transition-duration: 0s;
  transition-duration: 0s;
}

.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: -moz-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: -o-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-outer.lg-use-left-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
  -webkit-transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important;
  -moz-transition: -moz-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important;
  -o-transition: -o-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important;
  transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important;
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

#lg-zoom-in:after {
  content: "\e311";
}

#lg-actual-size {
  font-size: 20px;
}

#lg-actual-size:after {
  content: "\e033";
}

#lg-zoom-out {
  opacity: 0.5;
  pointer-events: none;
}

#lg-zoom-out:after {
  content: "\e312";
}

.lg-zoomed #lg-zoom-out {
  opacity: 1;
  pointer-events: auto;
}

.lg-outer .lg-pager-outer {
  bottom: 60px;
  left: 0;
  position: absolute;
  right: 0;
  text-align: center;
  z-index: 1080;
  height: 10px;
}

.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont {
  overflow: visible;
}

.lg-outer .lg-pager-cont {
  cursor: pointer;
  display: inline-block;
  overflow: hidden;
  position: relative;
  vertical-align: top;
  margin: 0 5px;
}

.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.lg-outer .lg-pager-cont.lg-pager-active .lg-pager {
  box-shadow: 0 0 0 2px white inset;
}

.lg-outer .lg-pager-thumb-cont {
  background-color: #fff;
  color: #FFF;
  bottom: 100%;
  height: 83px;
  left: 0;
  margin-bottom: 20px;
  margin-left: -60px;
  opacity: 0;
  padding: 5px;
  position: absolute;
  width: 120px;
  border-radius: 3px;
  -webkit-transition: opacity 0.15s ease 0s, -webkit-transform 0.15s ease 0s;
  -moz-transition: opacity 0.15s ease 0s, -moz-transform 0.15s ease 0s;
  -o-transition: opacity 0.15s ease 0s, -o-transform 0.15s ease 0s;
  transition: opacity 0.15s ease 0s, transform 0.15s ease 0s;
  -webkit-transform: translate3d(0, 5px, 0);
  transform: translate3d(0, 5px, 0);
}

.lg-outer .lg-pager-thumb-cont img {
  width: 100%;
  height: 100%;
}

.lg-outer .lg-pager {
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.7) inset;
  display: block;
  height: 12px;
  -webkit-transition: box-shadow 0.3s ease 0s;
  -o-transition: box-shadow 0.3s ease 0s;
  transition: box-shadow 0.3s ease 0s;
  width: 12px;
}

.lg-outer .lg-pager:hover, .lg-outer .lg-pager:focus {
  box-shadow: 0 0 0 8px white inset;
}

.lg-outer .lg-caret {
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px dashed;
  bottom: -10px;
  display: inline-block;
  height: 0;
  left: 50%;
  margin-left: -5px;
  position: absolute;
  vertical-align: middle;
  width: 0;
}

.lg-fullscreen:after {
  content: "\e20c";
}

.lg-fullscreen-on .lg-fullscreen:after {
  content: "\e20d";
}

.lg-outer #lg-dropdown-overlay {
  background-color: rgba(0, 0, 0, 0.25);
  bottom: 0;
  cursor: default;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1081;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
  -o-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
  transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
}

.lg-outer.lg-dropdown-active .lg-dropdown, .lg-outer.lg-dropdown-active #lg-dropdown-overlay {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -moz-transform: translate3d(0, 0px, 0);
  -o-transform: translate3d(0, 0px, 0);
  -ms-transform: translate3d(0, 0px, 0);
  -webkit-transform: translate3d(0, 0px, 0);
  transform: translate3d(0, 0px, 0);
  opacity: 1;
  visibility: visible;
}

.lg-outer.lg-dropdown-active #lg-share {
  color: #FFF;
}

.lg-outer .lg-dropdown {
  background-color: #fff;
  border-radius: 2px;
  font-size: 14px;
  list-style-type: none;
  margin: 0;
  padding: 10px 0;
  position: absolute;
  right: 0;
  text-align: left;
  top: 50px;
  opacity: 0;
  visibility: hidden;
  -moz-transform: translate3d(0, 5px, 0);
  -o-transform: translate3d(0, 5px, 0);
  -ms-transform: translate3d(0, 5px, 0);
  -webkit-transform: translate3d(0, 5px, 0);
  transform: translate3d(0, 5px, 0);
  -webkit-transition: -webkit-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
  -moz-transition: -moz-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
  -o-transition: -o-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
  transition: transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
}

.lg-outer .lg-dropdown:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
  position: absolute;
  border: 8px solid transparent;
  border-bottom-color: #FFF;
  right: 16px;
  top: -16px;
}

.lg-outer .lg-dropdown > li:last-child {
  margin-bottom: 0px;
}

.lg-outer .lg-dropdown > li:hover a, .lg-outer .lg-dropdown > li:hover .lg-icon {
  color: #333;
}

.lg-outer .lg-dropdown a {
  color: #333;
  display: block;
  white-space: pre;
  padding: 4px 12px;
  font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size: 12px;
}

.lg-outer .lg-dropdown a:hover {
  background-color: rgba(0, 0, 0, 0.07);
}

.lg-outer .lg-dropdown .lg-dropdown-text {
  display: inline-block;
  line-height: 1;
  margin-top: -3px;
  vertical-align: middle;
}

.lg-outer .lg-dropdown .lg-icon {
  color: #333;
  display: inline-block;
  float: none;
  font-size: 20px;
  height: auto;
  line-height: 1;
  margin-right: 8px;
  padding: 0;
  vertical-align: middle;
  width: auto;
}

.lg-outer #lg-share {
  position: relative;
}

.lg-outer #lg-share:after {
  content: "\e80d";
}

.lg-outer #lg-share-facebook .lg-icon {
  color: #3b5998;
}

.lg-outer #lg-share-facebook .lg-icon:after {
  content: "\e904";
}

.lg-outer #lg-share-twitter .lg-icon {
  color: #00aced;
}

.lg-outer #lg-share-twitter .lg-icon:after {
  content: "\e907";
}

.lg-outer #lg-share-googleplus .lg-icon {
  color: #dd4b39;
}

.lg-outer #lg-share-googleplus .lg-icon:after {
  content: "\e905";
}

.lg-outer #lg-share-pinterest .lg-icon {
  color: #cb2027;
}

.lg-outer #lg-share-pinterest .lg-icon:after {
  content: "\e906";
}

.lg-outer .lg-img-rotate {
  position: absolute;
  padding: 0 5px;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s;
  -moz-transition: -moz-transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s;
  -o-transition: -o-transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s;
  transition: transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s;
}

.lg-rotate-left:after {
  content: "\e900";
}

.lg-rotate-right:after {
  content: "\e901";
}

.lg-icon.lg-flip-hor, .lg-icon.lg-flip-ver {
  font-size: 26px;
}

.lg-flip-hor:after {
  content: "\e902";
}

.lg-flip-ver:after {
  content: "\e903";
}

.lg-group {
  *zoom: 1;
}

.lg-group:before, .lg-group:after {
  display: table;
  content: "";
  line-height: 0;
}

.lg-group:after {
  clear: both;
}

.lg-outer {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  opacity: 0;
  outline: none;
  -webkit-transition: opacity 0.15s ease 0s;
  -o-transition: opacity 0.15s ease 0s;
  transition: opacity 0.15s ease 0s;
}

.lg-outer * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.lg-outer.lg-visible {
  opacity: 1;
}

.lg-outer.lg-css3 .lg-item.lg-prev-slide, .lg-outer.lg-css3 .lg-item.lg-next-slide, .lg-outer.lg-css3 .lg-item.lg-current {
  -webkit-transition-duration: inherit !important;
  transition-duration: inherit !important;
  -webkit-transition-timing-function: inherit !important;
  transition-timing-function: inherit !important;
}

.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-current {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
  opacity: 1;
}

.lg-outer.lg-grab img.lg-object {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab;
}

.lg-outer.lg-grabbing img.lg-object {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: -o-grabbing;
  cursor: -ms-grabbing;
  cursor: grabbing;
}

.lg-outer .lg {
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  max-height: 100%;
}

.lg-outer .lg-inner {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  white-space: nowrap;
}

.lg-outer .lg-item {
  background: url(/build/images/loading.621cc8ad.gif) no-repeat scroll center center transparent;
  display: none !important;
}

.lg-outer.lg-css3 .lg-prev-slide, .lg-outer.lg-css3 .lg-current, .lg-outer.lg-css3 .lg-next-slide {
  display: inline-block !important;
}

.lg-outer.lg-css .lg-current {
  display: inline-block !important;
}

.lg-outer .lg-item, .lg-outer .lg-img-wrap {
  display: inline-block;
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
}

.lg-outer .lg-item:before, .lg-outer .lg-img-wrap:before {
  content: "";
  display: inline-block;
  height: 50%;
  width: 1px;
  margin-right: -1px;
}

.lg-outer .lg-img-wrap {
  position: absolute;
  padding: 0 5px;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.lg-outer .lg-item.lg-complete {
  background-image: none;
}

.lg-outer .lg-item.lg-current {
  z-index: 1060;
}

.lg-outer .lg-image {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  max-height: 100%;
  width: auto !important;
  height: auto !important;
}

.lg-outer.lg-show-after-load .lg-item .lg-object, .lg-outer.lg-show-after-load .lg-item .lg-video-play {
  opacity: 0;
  -webkit-transition: opacity 0.15s ease 0s;
  -o-transition: opacity 0.15s ease 0s;
  transition: opacity 0.15s ease 0s;
}

.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-object, .lg-outer.lg-show-after-load .lg-item.lg-complete .lg-video-play {
  opacity: 1;
}

.lg-outer .lg-empty-html {
  display: none;
}

.lg-outer.lg-hide-download #lg-download {
  display: none;
}

.lg-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1040;
  background-color: #000;
  opacity: 0;
  -webkit-transition: opacity 0.15s ease 0s;
  -o-transition: opacity 0.15s ease 0s;
  transition: opacity 0.15s ease 0s;
}

.lg-backdrop.in {
  opacity: 1;
}

.lg-css3.lg-no-trans .lg-prev-slide, .lg-css3.lg-no-trans .lg-next-slide, .lg-css3.lg-no-trans .lg-current {
  -webkit-transition: none 0s ease 0s !important;
  -moz-transition: none 0s ease 0s !important;
  -o-transition: none 0s ease 0s !important;
  transition: none 0s ease 0s !important;
}

.lg-css3.lg-use-css3 .lg-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

.lg-css3.lg-use-left .lg-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

.lg-css3.lg-fade .lg-item {
  opacity: 0;
}

.lg-css3.lg-fade .lg-item.lg-current {
  opacity: 1;
}

.lg-css3.lg-fade .lg-item.lg-prev-slide, .lg-css3.lg-fade .lg-item.lg-next-slide, .lg-css3.lg-fade .lg-item.lg-current {
  -webkit-transition: opacity 0.1s ease 0s;
  -moz-transition: opacity 0.1s ease 0s;
  -o-transition: opacity 0.1s ease 0s;
  transition: opacity 0.1s ease 0s;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item {
  opacity: 0;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
}

.lg-css3.lg-slide.lg-use-left .lg-item {
  opacity: 0;
  position: absolute;
  left: 0;
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide {
  left: -100%;
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide {
  left: 100%;
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-current {
  left: 0;
  opacity: 1;
}

.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-left .lg-item.lg-current {
  -webkit-transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  -moz-transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  -o-transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
}

.mdc-card {
  border-radius: 4px;
  background-color: #fff;
  /* @alternate */
  background-color: var(--mdc-theme-surface, #fff);
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.mdc-card--outlined {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
  border-width: 1px;
  border-style: solid;
  border-color: #e0e0e0;
}

.mdc-card__media {
  position: relative;
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.mdc-card__media::before {
  display: block;
  content: "";
}

.mdc-card__media:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}

.mdc-card__media:last-child {
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
}

.mdc-card__media--square::before {
  margin-top: 100%;
}

.mdc-card__media--16-9::before {
  margin-top: 56.25%;
}

.mdc-card__media-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  box-sizing: border-box;
}

.mdc-card__primary-action {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  position: relative;
  outline: none;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  overflow: hidden;
}

.mdc-card__primary-action:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}

.mdc-card__primary-action:last-child {
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
}

.mdc-card__actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  box-sizing: border-box;
  min-height: 52px;
  padding: 8px;
}

.mdc-card__actions--full-bleed {
  padding: 0;
}

.mdc-card__action-buttons,
.mdc-card__action-icons {
  display: flex;
  flex-direction: row;
  align-items: center;
  box-sizing: border-box;
}

.mdc-card__action-icons {
  color: rgba(0, 0, 0, 0.6);
  flex-grow: 1;
  justify-content: flex-end;
}

.mdc-card__action-buttons + .mdc-card__action-icons {
  /* @noflip */
  margin-left: 16px;
  /* @noflip */
  margin-right: 0;
}

[dir="rtl"] .mdc-card__action-buttons + .mdc-card__action-icons, .mdc-card__action-buttons + .mdc-card__action-icons[dir="rtl"] {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 16px;
}

.mdc-card__action {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  box-sizing: border-box;
  justify-content: center;
  cursor: pointer;
  user-select: none;
}

.mdc-card__action:focus {
  outline: none;
}

.mdc-card__action--button {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 8px;
  padding: 0 8px;
}

[dir="rtl"] .mdc-card__action--button, .mdc-card__action--button[dir="rtl"] {
  /* @noflip */
  margin-left: 8px;
  /* @noflip */
  margin-right: 0;
}

.mdc-card__action--button:last-child {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 0;
}

[dir="rtl"] .mdc-card__action--button:last-child, .mdc-card__action--button:last-child[dir="rtl"] {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 0;
}

.mdc-card__actions--full-bleed .mdc-card__action--button {
  justify-content: space-between;
  width: 100%;
  height: auto;
  max-height: none;
  margin: 0;
  padding: 8px 16px;
  /* @noflip */
  text-align: left;
}

[dir="rtl"] .mdc-card__actions--full-bleed .mdc-card__action--button, .mdc-card__actions--full-bleed .mdc-card__action--button[dir="rtl"] {
  /* @noflip */
  text-align: right;
}

.mdc-card__action--icon {
  margin: -6px 0;
  padding: 12px;
}

.mdc-card__action--icon:not(:disabled) {
  color: rgba(0, 0, 0, 0.6);
}

.mdc-card__primary-action {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mdc-card__primary-action::before, .mdc-card__primary-action::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

.mdc-card__primary-action::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

.mdc-card__primary-action.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-card__primary-action.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

.mdc-card__primary-action.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

.mdc-card__primary-action.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

.mdc-card__primary-action.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-card__primary-action::before, .mdc-card__primary-action::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}

.mdc-card__primary-action.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-card__primary-action::before, .mdc-card__primary-action::after {
  background-color: #000;
}

.mdc-card__primary-action:hover::before {
  opacity: 0.04;
}

.mdc-card__primary-action.mdc-ripple-upgraded--background-focused::before, .mdc-card__primary-action:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-card__primary-action:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

.mdc-card__primary-action:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-card__primary-action.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

.mdc-elevation--z0 {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z1 {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z2 {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z3 {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z4, .product_images .list-photo li:hover {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z5 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z6 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z7 {
  box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z8 {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z9 {
  box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z10 {
  box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z11 {
  box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z12 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z13 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z14 {
  box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z15 {
  box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z16 {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z17 {
  box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z18 {
  box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z19 {
  box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z20 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z21 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z22 {
  box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z23 {
  box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12);
}

.mdc-elevation--z24 {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
}

.mdc-elevation-transition {
  transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
  will-change: box-shadow;
}

.mdc-icon-button {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  border: none;
  outline: none;
  background-color: transparent;
  fill: currentColor;
  color: inherit;
  font-size: 24px;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  width: 48px;
  height: 48px;
  padding: 12px;
}

.mdc-icon-button svg,
.mdc-icon-button img {
  width: 24px;
  height: 24px;
}

.mdc-icon-button:disabled {
  color: rgba(0, 0, 0, 0.38);
  /* @alternate */
  color: var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38));
  cursor: default;
  pointer-events: none;
}

.mdc-icon-button__icon {
  display: inline-block;
}

.mdc-icon-button__icon.mdc-icon-button__icon--on {
  display: none;
}

.mdc-icon-button--on .mdc-icon-button__icon {
  display: none;
}

.mdc-icon-button--on .mdc-icon-button__icon.mdc-icon-button__icon--on {
  display: inline-block;
}

.mdc-icon-button {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mdc-icon-button::before, .mdc-icon-button::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

.mdc-icon-button::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

.mdc-icon-button.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-icon-button.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

.mdc-icon-button.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

.mdc-icon-button.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

.mdc-icon-button.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-icon-button::before, .mdc-icon-button::after {
  top: calc(50% - 50%);
  /* @noflip */
  left: calc(50% - 50%);
  width: 100%;
  height: 100%;
}

.mdc-icon-button.mdc-ripple-upgraded::before, .mdc-icon-button.mdc-ripple-upgraded::after {
  top: var(--mdc-ripple-top, calc(50% - 50%));
  /* @noflip */
  left: var(--mdc-ripple-left, calc(50% - 50%));
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-icon-button.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-icon-button::before, .mdc-icon-button::after {
  background-color: #000;
}

.mdc-icon-button:hover::before {
  opacity: 0.04;
}

.mdc-icon-button.mdc-ripple-upgraded--background-focused::before, .mdc-icon-button:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-icon-button:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

.mdc-icon-button:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-icon-button.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

.mdc-fab {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 56px;
  height: 56px;
  padding: 0;
  border: none;
  fill: currentColor;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 15ms linear 30ms, transform 270ms 0ms cubic-bezier(0, 0, 0.2, 1);
  background-color: #018786;
  color: #fff;
  /* @alternate */
  color: var(--mdc-theme-on-secondary, #fff);
}

.mdc-fab:not(.mdc-fab--extended) {
  border-radius: 50%;
}

.mdc-fab:not(.mdc-fab--extended) .mdc-fab__ripple {
  border-radius: 50%;
}

.mdc-fab::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mdc-fab:hover, .mdc-fab:focus {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}

.mdc-fab:active {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}

.mdc-fab:active, .mdc-fab:focus {
  outline: none;
}

.mdc-fab:hover {
  cursor: pointer;
}

.mdc-fab > svg {
  width: 100%;
}

@supports not (-ms-ime-align: auto) {
  .mdc-fab {
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786);
  }
}

.mdc-fab .mdc-fab__icon {
  width: 24px;
  height: 24px;
  font-size: 24px;
}

.mdc-fab--mini {
  width: 40px;
  height: 40px;
}

.mdc-fab--extended {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 0.875rem;
  line-height: 2.25rem;
  font-weight: 500;
  letter-spacing: 0.08929em;
  text-decoration: none;
  text-transform: uppercase;
  border-radius: 24px;
  padding: 0 20px;
  width: auto;
  max-width: 100%;
  height: 48px;
}

.mdc-fab--extended .mdc-fab__ripple {
  border-radius: 24px;
}

.mdc-fab--extended .mdc-fab__icon {
  /* @noflip */
  margin-left: -8px;
  /* @noflip */
  margin-right: 12px;
}

[dir="rtl"] .mdc-fab--extended .mdc-fab__icon, .mdc-fab--extended .mdc-fab__icon[dir="rtl"] {
  /* @noflip */
  margin-left: 12px;
  /* @noflip */
  margin-right: -8px;
}

.mdc-fab--extended .mdc-fab__label + .mdc-fab__icon {
  /* @noflip */
  margin-left: 12px;
  /* @noflip */
  margin-right: -8px;
}

[dir="rtl"] .mdc-fab--extended .mdc-fab__label + .mdc-fab__icon, .mdc-fab--extended .mdc-fab__label + .mdc-fab__icon[dir="rtl"] {
  /* @noflip */
  margin-left: -8px;
  /* @noflip */
  margin-right: 12px;
}

.mdc-fab__label {
  justify-content: flex-start;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.mdc-fab__icon {
  transition: transform 180ms 90ms cubic-bezier(0, 0, 0.2, 1);
  fill: currentColor;
  will-change: transform;
}

.mdc-fab .mdc-fab__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.mdc-fab--exited {
  transform: scale(0);
  opacity: 0;
  transition: opacity 15ms linear 150ms, transform 180ms 0ms cubic-bezier(0.4, 0, 1, 1);
}

.mdc-fab--exited .mdc-fab__icon {
  transform: scale(0);
  transition: transform 135ms 0ms cubic-bezier(0.4, 0, 1, 1);
}

.mdc-fab {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mdc-fab .mdc-fab__ripple::before,
.mdc-fab .mdc-fab__ripple::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

.mdc-fab .mdc-fab__ripple::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

.mdc-fab.mdc-ripple-upgraded .mdc-fab__ripple::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-fab.mdc-ripple-upgraded .mdc-fab__ripple::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

.mdc-fab.mdc-ripple-upgraded--unbounded .mdc-fab__ripple::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

.mdc-fab.mdc-ripple-upgraded--foreground-activation .mdc-fab__ripple::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

.mdc-fab.mdc-ripple-upgraded--foreground-deactivation .mdc-fab__ripple::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-fab .mdc-fab__ripple::before,
.mdc-fab .mdc-fab__ripple::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}

.mdc-fab.mdc-ripple-upgraded .mdc-fab__ripple::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-fab .mdc-fab__ripple::before,
.mdc-fab .mdc-fab__ripple::after {
  background-color: #fff;
}

@supports not (-ms-ime-align: auto) {
  .mdc-fab .mdc-fab__ripple::before,
  .mdc-fab .mdc-fab__ripple::after {
    /* @alternate */
    background-color: var(--mdc-theme-on-secondary, #fff);
  }
}

.mdc-fab:hover .mdc-fab__ripple::before {
  opacity: 0.08;
}

.mdc-fab.mdc-ripple-upgraded--background-focused .mdc-fab__ripple::before, .mdc-fab:not(.mdc-ripple-upgraded):focus .mdc-fab__ripple::before {
  transition-duration: 75ms;
  opacity: 0.24;
}

.mdc-fab:not(.mdc-ripple-upgraded) .mdc-fab__ripple::after {
  transition: opacity 150ms linear;
}

.mdc-fab:not(.mdc-ripple-upgraded):active .mdc-fab__ripple::after {
  transition-duration: 75ms;
  opacity: 0.24;
}

.mdc-fab.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.24;
}

.mdc-fab .mdc-fab__ripple {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}

/**
   Boutique
 */
.container_center, .file_ariane {
  max-width: 950px;
}

/**
   Répartition de la boutique
*/
.shop_nav {
  flex: 2;
}

.shop_content {
  flex: 7;
}

@media (max-width: 992px) {
  .shop {
    flex-direction: column;
  }
  .shop_nav {
    display: none;
  }
}

/**
   Aside de la boutique
*/
.shop_nav h2 {
  padding: 5px 0px 5px 0;
  margin: 0 0 10px;
  font-size: 1.4em;
  font-family: "Open Sans", sans-serif;
}

.shop_nav ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

@media (max-width: 992px) {
  .shop_nav ul {
    flex-direction: row;
    flex-wrap: wrap;
    margin-bottom: 20px;
    justify-content: space-evenly;
  }
}

.shop_nav .category {
  font-family: "Open Sans", sans-serif;
  display: contents;
  font-size: 0.9em;
}

.shop_nav .category a {
  margin-bottom: 5px;
  padding: 10px;
  color: #000;
  border-radius: 0 50px 50px 0;
}

.shop_nav .category.active a {
  color: white;
  background-color: #CC6600;
}

.shop_nav .category:hover:not(.active) a {
  background-color: rgba(204, 102, 0, 0.15);
}

/* 
   File d'arine
   présent sur les pages /{categorie} et /{categorie}/{product} 
*/
.file_ariane {
  flex-wrap: wrap;
  font-family: "Open Sans", sans-serif;
  margin: 15px auto;
  padding: 5px 0;
  color: #573D1C;
  background-color: #ebebeb;
}

.file_ariane a,
.file_ariane span {
  padding: 0 10px;
  margin: 5px 0;
  font-size: 0.9em;
}

.file_ariane a {
  color: gray;
  border-right: solid 1px gray;
}

.file_ariane span {
  color: #CC6600;
}

/**
   Contenu de la page
   (à coté de l'aside)
*/
.shop_content {
  margin: 0 10px 10px 20px;
}

@media (max-width: 767px) {
  .shop_content {
    width: 100%;
    margin: 0 0 10px 0;
  }
}

/**
   FAB Panier
   (visible qu'en mode mobile)
*/
.foalting-basket {
  display: none;
  position: fixed;
  bottom: 35px;
  right: 35px;
  background-color: #CC6600;
  z-index: 10;
}

@media (max-width: 767px) {
  .foalting-basket {
    display: inline-flex;
  }
}

.foalting-basket .count {
  position: absolute;
  top: 0;
  right: 0;
  width: 20px;
  height: 20px;
  background-color: #d63030;
  border-radius: 50%;
  color: white;
  font-family: 'Montserrat', 'Open Sans', sans-serif;
  font-size: 0.8em;
}

.foalting-basket__empty .count {
  display: none;
}

.foalting-basket__up .count {
  animation: count-zoom 3s forwards 1;
}

/* Page d'un prduit */
.product {
  width: 100%;
  min-height: 380px;
}

.product_images, .product_details {
  flex: 1;
  padding: 0 15px;
}

.product_images .cover {
  height: 350px;
  padding-left: 0;
}

.product_images .cover img {
  max-width: 100%;
}

.product_images .list-photo {
  list-style: none;
  padding: 0;
  flex-wrap: wrap;
  margin: 10px 0 0 0;
  justify-content: space-around;
}

.product_images .list-photo li {
  width: 60px;
  height: 60px;
  margin: 5px;
  border-radius: 2px;
  cursor: pointer;
  transition: ease-in-out box-shadow 0.3s;
}

.product_details {
  padding-right: 0;
}

.product_details h1 {
  margin: 0;
  font-size: 2.2em;
  text-transform: none;
}

.product_details .price_start,
.product_details h3 {
  display: block;
  font-family: Montserrat, sans-serif;
  margin-top: 10px;
  color: #666;
}

.product_details .price_start {
  font-size: 12px;
  font-weight: 400;
}

.product_details .price_start + h3 {
  margin-top: 0;
}

.product_details h3 {
  font-size: 1.6em;
  font-weight: 500;
}

.product_details .product_status {
  font-family: "Open Sans", sans-serif;
  display: inline-block;
  padding: 4px 7px;
  font-size: 80%;
  line-height: 1;
  text-align: center;
  border-radius: 5px;
  margin-top: 5px;
}

.product_details .product_status_0 {
  color: #fff;
  background-color: #28a745;
}

.product_details .product_status_1, .product_details .product_status_2, .product_details .product_status_3 {
  color: #fff;
  background-color: #ffc107;
}

.product_details .product_status_4 {
  color: #fff;
  background-color: #dc3545;
}

.product_details p {
  font-size: 0.9em;
}

@media (max-width: 767px) {
  .product {
    flex-direction: column;
  }
  .product_images {
    max-height: initial;
  }
  .product_images img {
    max-height: 500px;
    position: relative;
  }
  .product_details {
    padding: 0;
  }
}

/* Détails du produit - Options */
.product-details.product-details__simple .product-details_option {
  flex: 1;
  margin: 0 10px;
}

.product-details.product-details__simple .product-details_title {
  text-align: center;
  color: #777;
  font-size: 1.2em;
  font-family: "Open Sans", sans-serif;
}

.product-details.product-details__simple .product-details_choices {
  justify-content: center;
  flex-wrap: wrap;
}

@media (max-width: 767px) {
  .product-details.product-details__simple {
    flex-direction: column;
  }
  .product-details.product-details__simple .product-details_option {
    margin: 15px 0;
  }
}

.product-details .choice-buckle_buckle {
  width: 80px;
  height: 80px;
  margin: 10px 5px 0;
  cursor: pointer;
}

.product-details .choice-buckle_img {
  border: solid 1px lightgray;
  width: 100%;
  height: 100%;
}

.product-details .choice-buckle_img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.product-details .choice-color {
  /* surcharge des tooltips */
}

.product-details .choice-color_color {
  width: 50px;
  height: 50px;
  margin: 10px 5px 0;
  cursor: pointer;
}

.product-details .choice-color_img {
  border: solid 1px lightgray;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.product-details .choice-color_img:hover {
  border-color: #CC6600;
}

.product-details .choice-color_img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.product-details .choice-color_img.noir {
  background-color: #000;
}

.product-details .choice-color_img.blanc {
  background-color: #fff;
}

.product-details .choice-color_img.marron {
  background-color: #3d1901;
}

.product-details .choice-color_img.havane {
  background-color: #995320;
}

.product-details .choice-color_img.rouge {
  background-color: #cd0303;
}

.product-details .choice-color_img.jaune {
  background-color: #ffc700;
}

.product-details .choice-color_img.bleu-turquoise {
  background-color: #0000f8;
}

.product-details .choice-color_img.null {
  position: relative;
}

.product-details .choice-color_img.null:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: red;
  width: 124px;
  height: 2px;
  transform: translate(-50%, -50%) rotateZ(-31deg);
}

.product-details .choice-color_color input[type=radio]:checked + .product-details .choice-color_img {
  border-color: #573D1C;
}

.product-details .choice-color_color input[type=radio]:checked + .choice-color_img:after {
  content: '\2714';
  color: white;
  text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.devis-selle-form {
  max-width: 1000px;
  /* Question + Réponses du formulaire */
}

@media (max-width: 767px) {
  .devis-selle-form {
    margin: 0;
    width: 100%;
  }
}

.devis-selle-form_questions {
  min-height: 175px;
  padding: 15px 10px;
}

.devis-selle-form_questions .question,
.devis-selle-form_questions .answers,
.devis-selle-form_questions .contact {
  flex: 1;
  margin: 10px;
}

.devis-selle-form_questions .question {
  justify-content: center;
  font-family: 'Montserrat', sans-serif;
  font-size: 1.3em;
}

.devis-selle-form_questions .question_number {
  font-size: 17px;
  color: #aaa;
}

.devis-selle-form_questions .answers__text {
  align-items: center;
}

.devis-selle-form_questions .answers__text .mdc-text-field {
  margin-bottom: 0;
}

.devis-selle-form_questions .contact .mdc-text-field:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .devis-selle-form_questions {
    flex-direction: column;
  }
  .devis-selle-form_questions .question {
    font-size: 1.6em;
  }
}

.devis-selle-form_questions:nth-child(2) {
  background-color: rgba(211, 211, 211, 0.2);
}

.devis-selle-form_questions:nth-child(4) {
  background-color: rgba(211, 211, 211, 0.2);
}

.devis-selle-form_questions:nth-child(6) {
  background-color: rgba(211, 211, 211, 0.2);
}

.devis-selle-form_questions:nth-child(8) {
  background-color: rgba(211, 211, 211, 0.2);
}

.devis-selle-form_questions:nth-child(10) {
  background-color: rgba(211, 211, 211, 0.2);
}

.devis-selle-form_questions:nth-child(12) {
  background-color: rgba(211, 211, 211, 0.2);
}

.devis-selle-form_questions:nth-child(14) {
  background-color: rgba(211, 211, 211, 0.2);
}

.choice-color,
.choice-cards {
  align-items: center;
  flex-wrap: wrap;
}

.choice-color input[type='radio'],
.choice-cards input[type='radio'] {
  display: none;
}

/**
   Form Choix d'une couleur
   <label>
      <input type="radio" />
      <div> </div>
   </label>
 */
.choice-color {
  justify-content: center;
  /* surcharge des tooltips */
}

.choice-color_color {
  width: 50px;
  height: 30px;
  margin: 10px 5px 0;
  cursor: pointer;
}

.choice-color_img {
  border: solid 1px lightgray;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.choice-color_img:hover {
  border-color: #CC6600;
}

.choice-color_img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.choice-color_img.noir {
  background-color: #000;
}

.choice-color_img.blanc {
  background-color: #fff;
}

.choice-color_img.marron {
  background-color: #3d1901;
}

.choice-color_img.havane {
  background-color: #995320;
}

.choice-color_img.rouge {
  background-color: #cd0303;
}

.choice-color_img.jaune {
  background-color: #ffc700;
}

.choice-color_img.bleu-turquoise {
  background-color: #0000f8;
}

.choice-color_img.null {
  position: relative;
}

.choice-color_img.null:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: red;
  width: 124px;
  height: 2px;
  transform: translate(-50%, -50%) rotateZ(-31deg);
}

.choice-color_color input[type=radio]:checked + .choice-color_img {
  border-color: #573D1C;
}

.choice-color_color input[type=radio]:checked + .choice-color_img:after {
  content: '\2714';
  color: white;
  text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/**
   Form Choix d'une couleur
   <label>
      <input type="radio" />
      <div> </div>
   </label>
 */
.choice-cards {
  justify-content: space-around;
}

.choice-cards_card {
  cursor: pointer;
  width: 100%;
  max-width: calc(30% - 20px);
}

.choice-cards_details {
  width: 100%;
  height: 150px;
  border: solid 1px lightgray;
  align-items: center;
  border-radius: 5px;
  font-family: 'Montserrat', sans-serif;
  font-size: 1em;
}

.choice-cards_details:hover {
  border-color: #CC6600;
}

.choice-cards_details span {
  margin: 25px 0 20px;
  text-align: center;
}

.choice-cards_details svg {
  max-width: 75px;
  height: 40px;
}

.choice-cards_card input[type=radio]:checked + .choice-cards_details {
  border-color: #573D1C;
}

#devis-form_button {
  margin: 40px 0 15px;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zZWxsZS5zY3NzIiwid2VicGFjazovLy8uL19mb250cy5zY3NzIiwid2VicGFjazovLy8uL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9idXR0b24vX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvdHlwb2dyYXBoeS9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC90eXBvZ3JhcGh5L192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3R5cG9ncmFwaHkvX2Z1bmN0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvYnV0dG9uL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NoYXBlL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NoYXBlL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3RoZW1lL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3RoZW1lL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3J0bC9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9lbGV2YXRpb24vX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvZWxldmF0aW9uL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3JpcHBsZS9fa2V5ZnJhbWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9hbmltYXRpb24vX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvcmlwcGxlL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3JpcHBsZS9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vX2dsb2JhbC5zY3NzIiwid2VicGFjazovLy8uL19oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC90b3VjaC10YXJnZXQvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvY2hlY2tib3gvX2tleWZyYW1lcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvY2hlY2tib3gvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvY2hlY2tib3gvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvZGVuc2l0eS9fZnVuY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC90b3VjaC10YXJnZXQvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvZm9ybS1maWVsZC9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9pY29uLWJ1dHRvbi9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9pY29uLWJ1dHRvbi9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9yYWRpby9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9yYWRpby9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9zZWxlY3QvX2tleWZyYW1lcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvbGluZS1yaXBwbGUvbWRjLWxpbmUtcmlwcGxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9ub3RjaGVkLW91dGxpbmUvbWRjLW5vdGNoZWQtb3V0bGluZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvbm90Y2hlZC1vdXRsaW5lL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2Zsb2F0aW5nLWxhYmVsL21kYy1mbG9hdGluZy1sYWJlbC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvZmxvYXRpbmctbGFiZWwvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvc2VsZWN0L2ljb24vX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvc2VsZWN0L2ljb24vX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvc2VsZWN0L2ljb24vbWRjLXNlbGVjdC1pY29uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9zZWxlY3QvaGVscGVyLXRleHQvbWRjLXNlbGVjdC1oZWxwZXItdGV4dC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvc2VsZWN0L21kYy1zZWxlY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NlbGVjdC9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9zaGFwZS9fZnVuY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9zZWxlY3QvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvbm90Y2hlZC1vdXRsaW5lL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3RleHRmaWVsZC9oZWxwZXItdGV4dC9tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvdGV4dGZpZWxkL2NoYXJhY3Rlci1jb3VudGVyL21kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC90ZXh0ZmllbGQvaWNvbi9tZGMtdGV4dC1maWVsZC1pY29uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC90ZXh0ZmllbGQvbWRjLXRleHQtZmllbGQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3RleHRmaWVsZC9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC90ZXh0ZmllbGQvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvdGV4dGZpZWxkL2NoYXJhY3Rlci1jb3VudGVyL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9fZm9ybS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9saWdodGdhbGxlcnkuanMvZGlzdC9jc3MvbGlnaHRnYWxsZXJ5LmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9zaG9wL3NlbGxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9jYXJkL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2NhcmQvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvZmFiL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2ZhYi9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9wcm9kdWN0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGdCQUFnQjtBQ0NiO0VBQ0cseUJBTW9CO0VBTHBCLCtEQUFnRDtFQUNoRCxtQkFBbUI7RUFDbkIsa0JBQWtCO0FERXhCOztBQ05HO0VBQ0csd0JBT21CO0VBTm5CLCtEQUFnRDtFQUNoRCxtQkFBbUI7RUFDbkIsa0JBQWtCO0FEU3hCOztBQ2JHO0VBQ0csdUJBUWtCO0VBUGxCLCtEQUFnRDtFQUNoRCxtQkFBbUI7RUFDbkIsa0JBQWtCO0FEZ0J4Qjs7QUVwQkE7O0NGd0JDO0FHeEJEOztFSDJCRTtBSWtCQTtFQ1lJLCtCQ2xDb0Q7RURrQ3BELGtDQzlCOEI7RUQ4QjlCLG1DQzdCK0I7RUQ2Qi9CLG1CQzJFa0I7RUQzRWxCLG9CQzRFb0I7RUQ1RXBCLGdCQ3RCTztFRHNCUCx5QkVnQnVDO0VGaEJ2QyxxQkMrRXFCO0VEL0VyQix5QkNnRnlCO0VGMkUzQixvQkk5TCtCO0VKME4vQixvQkFBb0I7RUFDcEIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsc0JBQXNCO0VBQ3RCLGVBQWU7RUFDZixZSWpPb0I7RUprT3BCLFlBQVk7RUFDWixhQUFhO0VBQ2I7RUFDQSxvQkFBb0I7RUFDcEIsaUJBQWlCO0VBQ2pCLHdCQUF3QjtFQUN4QixnQkFBZ0I7RUFDaEIsc0JBQXNCO0VLek50QixrQkNma0M7QVZpQ3RDOztBSVZFO0VBc05JLFVBQVU7RUFDVixTQUFTO0FKeE1mOztBSWZFO0VBOE5JLGFBQWE7QUozTW5COztBSW5CRTtFQW9PSSxlQUFlO0FKN01yQjs7QUl2QkU7RU9zQ0ksNkJQb01xRDtFQUVyRCwwQlFqUCtFO0VScVAvRSxlQUFlO0VBQ2Ysb0JBQW9CO0FKbk4xQjs7QUk5QkU7RUtSRSxrQkNma0M7QVZ5RHRDOztBSWxDRTtFT3NDSSw2QlBuQ2tEO0FKbUN4RDs7QUl0Q0U7RVMwT0U7RUFHRixjQUFjO0VBSFo7RUFHRixpQkFBYztFVFlkLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gsWUFBWTtFQUNaLGVBQWU7RUFDZixtQkFBbUI7QUozTXJCOztBQUVBO0Vhc0xJO0VBR0YsZ0JBQWM7RUFIWjtFQUdGLGVBQWM7QWJwTGhCOztBSXpERTtFT3VFSSxjQ3ZGcUI7RUQwR25CO0VBQ0Esd0NBQTREO0FYNUJwRTs7QUk3Q0U7RVN3TkU7RUFHRixnQkFBYztFQUhaO0VBR0YsZUFBYztBYnZLaEI7O0FBRUE7RWFrS0k7RUFHRixjQUFjO0VBSFo7RUFHRixpQkFBYztBYmhLaEI7O0FJcERFO0VBNE9BLGtCQUFrQjtBSnBMcEI7O0FJbERFOzs7RVMyTUU7RUFHRixpQkFBYztFQUhaO0VBR0YsaUJBQWM7QWJuSmhCOztBQUVBOzs7OztFYThJSTtFQUdGLGdCQUFjO0VBSFo7RUFHRixrQkFBYztBYnhJaEI7O0FJdEVFOzs7RVMyTUU7RUFHRixnQkFBYztFQUhaO0VBR0Ysa0JBQWM7QWIvSGhCOztBQUVBOzs7OztFYTBISTtFQUdGLGlCQUFjO0VBSFo7RUFHRixpQkFBYztBYnBIaEI7O0FJekVFOztFQXVIRSxzQkk3TDBDO0FSb0o5Qzs7QUk5RUU7O0VBdVBJLHFDUTVTK0U7RVI2Uy9FLDBCUTdTK0U7QVp5SXJGOztBSXBGRTs7RU91QkkseUJDdkZxQjtBWnlKM0I7O0FXMUQ2QztFUC9CM0M7O0lPa0NZO0lBQ0EsbURBQTREO0VYNkR4RTtBQUNGOztBSWpHRTs7RU91QkksV0N0RnFGO0VEeUduRjtFQUNBLHdDQUE0RDtBWDZEcEU7O0FJakdFO0VVM0JFLHlIQ2xEZ0M7RVh1VmhDLHlEVWhSd0Q7QWQ0RzVEOztBSXRHRTtFVTNCRSwwSENsRGdDO0FmdUxwQzs7QUkxR0U7RVUzQkUsMkhDbERnQztBZjJMcEM7O0FJOUdFO0VVM0JFLHdIQ2xEZ0M7QWYrTHBDOztBSTlHRTtFQTBORSxtQkFBbUI7RUE5R25CLHNCQVcyQztFQUszQyxpQkkzTWtDO0FSbU10Qzs7QUlwSEU7RUErTkksaUNRL1IrRTtBWndMckY7O0FJeEhFO0VPWUkscUJDdkZxQjtFRDBHbkI7RUFDQSwrQ0FBNEQ7QVg4RnBFOztBSXhIRTtFQXFRQSxZSTNWNEI7RUo0VjVCLG1CQUFtQjtBSnpJckI7O0FnQmhORTtFQUNFO0lBQ0UsdURDUG1FO0lEWW5FLHNFQUFzRTtFaEIrTTFFO0VnQjVNRTtJQUNFLGdHQUFnRztFaEI4TXBHO0FBQ0Y7O0FnQjNNRTtFQUNFO0lBQ0UsaUNBQWlDO0lBQ2pDLFVBQVU7RWhCOE1kO0VnQjNNRTtJQUNFLHdDQUF3QztFaEI2TTVDO0FBQ0Y7O0FnQjFNRTtFQUNFO0lBQ0UsaUNBQWlDO0lBQ2pDLHdDQUF3QztFaEI2TTVDO0VnQjFNRTtJQUNFLFVBQVU7RWhCNE1kO0FBQ0Y7O0FrQm5MTTtFQUNFLGtEQUFtQztFQUVuQyxrQkFBa0I7QWxCcUwxQjs7QWtCeExNO0VBTUksK0NBQStDO0FsQnNMekQ7O0FJck9FO0VjMkRFLHVCQUFxQjtFQUNyQixvQkFBa0I7RUFDbEIsbUJBQWlCO0VBQ2pCLHdCQUFzQjtFQUN0QixnQ0FBOEI7RUFDOUIsa0NBQWdDO0VBRWhDLDZDQUE2QztBbEI2S2pEOztBSWpLRTtFY0xJLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLG9CQUFvQjtFQUNwQixXQUFXO0FsQjBLakI7O0FJektFO0VjTUksNkRBRW1EO0VBSW5ELFVBQVU7QWxCa0toQjs7QUk5S0U7RWNxQk0sK0NBQStDO0FsQjZKdkQ7O0FJbExFO0VjMkJNLE1BQU07RUFDTjtFQUNBLE9BQU87RUFDUCxtQkFBbUI7RUFDbkIsK0JBQStCO0FsQjJKdkM7O0FJMUxFO0VjdUNNLDZCQUE2QjtFQUM3QjtFQUNBLCtCQUErQjtBbEJ1SnZDOztBSWhNRTtFY2lETSx5RkFFZ0U7QWxCaUp4RTs7QUlwTUU7RWMyRE0sMENDaEs0QjtFRHFLNUIsZ0dBQWdHO0FsQnlJeEc7O0FJek1FO0VjNlJJLHFCQUEyQjtFQUMzQjtFQUNBLHNCQUE0QjtFQUM1QixXQUFrQjtFQUNsQixZQUFtQjtBbEJoRnpCOztBSWpORTtFY3dTTSxzQ0FBeUM7RUFDekMsdUNBQTBDO0FsQm5GbEQ7O0FJdE5FO0VPUEkseUJDdkZxQjtBWndUM0I7O0FXek42QztFUEQzQztJT0lZO0lBQ0EsbURBQTREO0VYMk54RTtBQUNGOztBSWpPRTtFY3FITSxhQ2hOSTtBbkJnVVo7O0FJck9FO0Vjc0tFLHlCQUF5QjtFQUl6QixhQ3BRUTtBbkJvVVo7O0FJMU9FO0Vjd0xNLGdDQUF3RDtBbEJzRGhFOztBSTlPRTtFYytMUSx5QkNyU3dCO0VEMFN4QixhQzdSRTtBbkI0VVo7O0FJblBFO0VjNE1JLDZCQUF3QjtBbEIyQzlCOztBSWpQRTs7O0VPYkksc0JDdEZxRjtBWjBWM0Y7O0FXNVA2QztFUEszQzs7O0lPRlk7SUFDQSxtREFBNEQ7RVhnUXhFO0FBQ0Y7O0FJaFFFOztFYytHTSxhQ3hNSTtBbkI4Vlo7O0FJclFFOzs7RWNnS0UseUJBQXlCO0VBSXpCLGFDNVBRO0FuQm9XWjs7QUk1UUU7O0Vja0xNLGdDQUF3RDtBbEIrRmhFOztBSWpSRTs7RWN5TFEseUJDclN3QjtFRDBTeEIsYUNyUkU7QW5COFdaOztBSXZSRTs7RWNzTUksNkJBQXdCO0FsQnNGOUI7O0FvQjNaQTs7RUFFRyxTQUFTO0VBQ1QsVUFBVTtBcEI4WmI7O0FvQjNaQTtFQUNHLHFCQUFxQjtBcEI4WnhCOztBb0IzWkE7RUFDRyxpREFBaUQ7QXBCOFpwRDs7QW9CM1pBO0VBQ0csZ0JBQWdCO0VBQ2hCLGNsQmRxQjtFa0JlckIseUJBQXlCO0VBQ3pCLG1CQUFtQjtBcEI4WnRCOztBb0IzWkE7RUFDRyxjQUFjO0VBQ2QsY2xCckJxQjtFa0JzQnJCLG1CQUFtQjtBcEI4WnRCOztBb0IzWkE7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QixVQUFVO0V4QjA2QmQ7RXdCdjZCRTs7SUFFRSxvQkFBb0I7SUFDcEIsVUFBVTtFeEJ5NkJkO0FBQ0Y7O0EwQnBoQ0U7RUE2V0EscUJBQXFCO0VBQ3JCLGtCQUFrQjtFQUNsQixjRHpZMkI7RUMwWTNCLHVCQUF1QjtFQUN2QixXRDNZMkI7RUM0WTNCLFlENVkyQjtFQzZZM0IsY0FBYztFQUNkLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2Ysc0JBQXNCO0VBak1wQixhQUg2RDtBMUJnM0JqRTs7QTBCbGlDRTs7RWYyREkseUJDbEZvQjtBWjhqQzFCOztBV3ArQjZDO0VlbkUzQzs7SWZzRVk7SUFDQSxxREFBNEQ7RVh1K0J4RTtBQUNGOztBa0JuNkJFO0VQakZJLHlCQ2xGb0I7QVowa0MxQjs7QVdoL0I2QztFT3lFM0M7SVB0RVk7SUFDQSxxREFBNEQ7RVhrL0J4RTtBQUNGOztBa0J0NEJJO0VBR0ksYUNoTkk7QW5CdWxDWjs7QWtCcjJCTTtFQWVGLHlCQUF5QjtFQUl6QixhQ3BRUTtBbkIybENaOztBa0IzMEJJO0VBRUksZ0NBQXdEO0FsQjYwQmhFOztBa0J4MEJNO0VBRUkseUJDclN3QjtFRDBTeEIsYUM3UkU7QW5CbW1DWjs7QWtCaDBCRTtFQUVJLDZCQUF3QjtBbEJrMEI5Qjs7QWtCcDhCRTs7RVBqRkkseUJDbEZvQjtBWjRtQzFCOztBV2xoQzZDO0VPeUUzQzs7SVB0RVk7SUFDQSxxREFBNEQ7RVhxaEN4RTtBQUNGOztBMEI3bENFO0VBMExJLFNBUjJEO0VBUzNELFVBVDJEO0ExQmc3QmpFOztBMEJsbUNFO0VBaU1JLFVBQW9EO0VBQ3BELFdBQXFEO0VBQ3JELFdDOUpvRjtFRCtKcEYsWUMvSm9GO0EzQm9rQzFGOztBMEJ6bUNFO0VBK1ZJLFFBSitCO0VBSy9CLFVBTCtCO0VBTS9CLFNBTitCO0VBTy9CLFdDN1RvRjtFRDhUcEYsWUM5VG9GO0EzQjRrQzFGOztBMEJob0JFO0VmdmRJLGlDQzNDK0U7RUQyQy9FLDZCZTRMNkI7QTFCZzZCbkM7O0EwQjVtQkU7O0VmL2NJLHFCQ2xGb0I7RURxR2xCO0VBQ0EsaURBQTREO0VBcEI5RCx5QkNsRm9CO0VEcUdsQjtFQUNBLHFEQUE0RDtBWGlqQ3BFOztBd0IxcENFO0VBQ0U7SWJtREUsaUNDM0MrRTtJRDJDL0UsNkJlNEw2QjtFMUJnN0JqQztFd0IxcENFO0liK0VFLHFCQ2xGb0I7SURxR2xCO0lBQ0EsaURBQTREO0lBcEI5RCx5QkNsRm9CO0lEcUdsQjtJQUNBLHFEQUE0RDtFWCtqQ2xFO0FBQ0Y7O0F3QjdwQ0U7RUFDRTs7SWJ3RUUscUJDbEZvQjtJRHFHbEI7SUFDQSxpREFBNEQ7SUFwQjlELHlCQ2xGb0I7SURxR2xCO0lBQ0EscURBQTREO0VYMmtDbEU7RXdCanFDRTtJYmlDRSxpQ0MzQytFO0lEMkMvRSw2QmU0TDZCO0UxQnc4QmpDO0FBQ0Y7O0EwQnY2Qk87RUFJSyx5REFBZ0I7QTFCdTZCNUI7O0EwQmw2Qk87RUFJSywwREFBZ0I7QTFCazZCNUI7O0EwQnhxQkU7RWZyZUksaUNDM0MrRTtFRDJDL0UsNkJlOFA2QjtBMUJvNUJuQzs7QTBCanBCRTs7RWZqZ0JJLHlCZStQNkI7RWYvUDdCLHFDQzNDK0U7QVptc0NyRjs7QTBCdnRCRTtFZmpjSSxXQ3JEcUY7QVppdEMzRjs7QTBCM3RCRTtFZmpjSSxrQkNyRHFGO0FacXRDM0Y7O0EwQnB0QkU7RWY1Y0ksV0NyRHFGO0FaeXRDM0Y7O0EwQnh0QkU7RWY1Y0ksa0JDckRxRjtBWjZ0QzNGOztBMEJwckNFO0VBQ0U7SUFFSSxhQUFhO0UxQnNyQ25CO0FBQ0Y7O0EwQmpyQ0U7RUFtV0EsZUFBZTtFQUNmLG9CQUFvQjtBMUJrMUJ0Qjs7QTBCaHJDRTtFQTRnQkUsb0JBQW9CO0VBQ3BCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLHNCQUFzQjtFQUN0QixXRHhrQnlCO0VDeWtCekIsWUR6a0J5QjtFQzJrQnpCLDhCQUFxRDtFQUNyRCxrQkFBa0I7RUFDbEIsNkJBQTZCO0VBQzdCLG9CQUFvQjtFQUNwQiwyQ0FBMkM7RUFVM0Msc0hUaG1Ca0U7QWpCOHZDdEU7O0EwQmhzQ0U7RWY4Qkks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UCxtQkFBbUI7RUFDbkIsK0JBQStCO0FsQjIwQ3ZDOztBa0JyMENJO0VBRUksNkJBQTZCO0VBQzdCO0VBQ0EsK0JBQStCO0FsQnUwQ3ZDOztBa0JqMENJO0VBRUkseUZBRWdFO0FsQmkwQ3hFOztBa0IzekNJO0VBRUksMENDaEs0QjtFRHFLNUIsZ0dBQWdHO0FsQnl6Q3hHOztBa0JqNENFOztFUENJLHNCQzVFK0U7QVppOUNyRjs7QVc3M0M2QztFT1QzQzs7SVBZWTtJQUNBLG1EQUE0RDtFWGc0Q3hFO0FBQ0Y7O0FrQnB4Q0k7RUFHSSxhQ2hOSTtBbkJxK0NaOztBa0JudkNNO0VBZUYseUJBQXlCO0VBSXpCLGFDcFFRO0FuQnkrQ1o7O0FrQnp0Q0k7RUFFSSxnQ0FBd0Q7QWxCMnRDaEU7O0FrQnR0Q007RUFFSSx5QkNyU3dCO0VEMFN4QixhQzdSRTtBbkJpL0NaOztBa0I5c0NFO0VBRUksNkJBQXdCO0FsQmd0QzlCOztBa0JwNkNFOztFQThUSSxvQkFBK0I7RUFDL0I7RUFDQSxxQkFBZ0M7RUFDaEMsV0FUUztFQVVULFlBVlM7QWxCcW5DZjs7QWtCdG1DSTs7RUFHSSwyQ0FBc0Q7RUFDdEQ7RUFDQSw2Q0FBd0Q7RUFDeEQsc0NBQXlDO0VBQ3pDLHVDQUEwQztBbEJ3bUNsRDs7QWtCcjVDSTtFQW1USSxzQ0FBeUM7RUFDekMsdUNBQTBDO0FsQnNtQ2xEOztBMEJwMkNFO0VSZ1RFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sT0FBTztFQUNQLFdBQVc7RUFDWCxZQUFZO0VBR1osb0JBQW9CO0FsQnNqQ3hCOztBMEJ6MkNFO0VBRUksYUFBYTtBMUIyMkNuQjs7QTZCM2hERTtFeEJ5QkksK0JDbENvRDtFRGtDcEQsa0NDOUI4QjtFRDhCOUIsbUNDN0IrQjtFRDZCL0IsbUJDMkRrQjtFRDNEbEIsb0JDNERvQjtFRDVEcEIsZ0JDdkJRO0VEdUJSLHlCRWdCdUM7RUZoQnZDLHdCQytEd0I7RUQvRHhCLHVCQ2dFdUI7RUtMdkIsMEJDakVpQjtFRG9GZjtFQUNBLHVFQUE0RDtFa0JoRzlELG9CQUFvQjtFQUNwQixt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cUJBQTJCO0VBQzNCO0VBQ0Esc0JBQTRCO0VBQzVCLFdBQWtCO0VBQ2xCLFlBQW1CO0FsQnUrRHpCOztBa0IvdUVJO0VBK1FJLHNDQUF5QztFQUN6Qyx1Q0FBMEM7QWxCbytEbEQ7O0FrQnJ4RUU7RVBoQ0kscUNDM0MrRTtBWm8yRXJGOztBa0IvcEVJO0VBR0ksYUNoTkk7QW5CZzNFWjs7QWtCOW5FTTtFQWVGLHlCQUF5QjtFQUl6QixhQ3BRUTtBbkJvM0VaOztBNENoM0VBOztFakM4Q00sMEJDM0MrRTtBWmszRXJGOztBNENyM0VBO0VqQzhDTSx5QkMzQytFO0FaczNFckY7O0E0Q3ozRUE7O0VqQzhDTSx3Q0MzQytFO0FaMjNFckY7O0E0QzkzRUE7RWpDOENNLHlCQzNDK0U7QVorM0VyRjs7QTRDbDRFQTtFbkNBSSwwQnFDc0dtRDtBOUNneUV2RDs7QTRDdDRFQTtFakMrRU0seUJDdkZxQjtFRDBHbkI7RUFDQSxtREFBNEQ7QVh5eUVwRTs7QTRDNTRFQTtFakM4Q00sNkJDdERxQjtBWnc1RTNCOztBNENoNUVBO0VqQzhDTSx3Q0MzQytFO0FaaTVFckY7O0E0Q3A1RUE7RUw0Qk0sdUNBQW9EO0F2QzQzRTFEOztBNEN4NUVBO0UvQmtQSTtFQUdGLFVBQWM7RUFIWjtFQUdGLGNBQWM7RWtDeERaLFNBQVM7RUFDVCxvQkFBb0I7QS9DbXVFeEI7O0FBRUE7RWFqckVJO0VBR0YsYUFBYztFQUhaO0VBR0YsV0FBYztBYm1yRWhCOztBNEN4NkVBO0UvQmtQSTtFQUdGLFVBQWM7RUFIWjtFQUdGLGNBQWM7QWIwckVoQjs7QUFFQTtFYS9yRUk7RUFHRixhQUFjO0VBSFo7RUFHRixXQUFjO0FiaXNFaEI7O0E0Q3Q3RUE7RS9Ca1BJO0VBR0YsU0FBYztFQUhaO0VBR0YsY0FBYztFa0MxQ1YsU0FBUztBL0NtdkVmOztBQUVBO0VhOXNFSTtFQUdGLGFBQWM7RUFIWjtFQUdGLFVBQWM7QWJndEVoQjs7QTRDcjhFQTtFL0JrUEk7RUFHRixVQUFjO0VBSFo7RUFHRixjQUFjO0FidXRFaEI7O0FBRUE7RWE1dEVJO0VBR0YsYUFBYztFQUhaO0VBR0YsV0FBYztBYjh0RWhCOztBNENuOUVBO0UvQmtQSTtFQUdGLFVBQWM7RUFIWjtFQUdGLGNBQWM7QWJxdUVoQjs7QUFFQTtFYTF1RUk7RUFHRixhQUFjO0VBSFo7RUFHRixXQUFjO0FiNHVFaEI7O0E0Q2w4RUU7RUdnSUEsK2VBR1E7RWxDZ0ZOO0VBR0YsVUFBYztFQUhaO0VBR0YsVUFBYztFK0JsTlosa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixXQUFXO0VBQ1gsWUFBWTtFQUNaLHdEM0J0RHFFO0UyQnVEckUsb0JBQW9CO0E1Q3U4RXhCOztBQUVBO0VhL3ZFSTtFQUdGLFNBQWM7RUFIWjtFQUdGLFdBQWM7QWJpd0VoQjs7QTRDNThFSTtFR3FIRiwrZUFHUTtBL0N3MUVWOztBNEM1OEVJO0VBQ0UsMENBQTBDO0VBQzFDLHdEM0IvRG1FO0FqQjhnRnpFOztBNEMzOEVFO0VBQ0UsaUJBQWlCO0E1Qzg4RXJCOztBNENuZ0ZBO0VBMERNLHNCQUFzQjtFQUN0QixVQUFVO0E1QzY4RWhCOztBK0N6cEVJO0VBQ0Usa0JBQWtCO0VBQ2xCLGlCQUFpQjtBL0M0cEV2Qjs7QStDenBFSTtFQUNFLGtCQUFrQjtFQUNsQixpQkFBaUI7QS9DNHBFdkI7O0ErQ3ZwRUU7RUFDRSxVQUFVO0EvQzBwRWQ7O0ErQ3Z5RUU7RUFDRSxnQkFBZ0I7RUFDaEIsaUJBQWlCO0EvQzB5RXJCOztBK0N2eUVFOztFbENGRTtFQUdGLGtCQUFjO0VBSFo7RUFHRixtQkFBYztFUmpPViwrQkNsQ29EO0VEa0NwRCxrQ0M5QjhCO0VEOEI5QixtQ0M3QitCO0VENkIvQixlQ21DZTtFRG5DZixvQkNvQ29CO0VEcENwQixnQkN2QlE7RUR1QlIseUJFZ0J1QztFRmhCdkMsd0JDdUN3QjtFRHZDeEIsdUJDd0N1QjtFeUMyTXpCLHNCQUFzQjtFQUN0QixXQUFXO0VBQ1gsWUZwUm9CO0VFcVJwQixpQkFBaUI7RUFDakIsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWix3QkFBd0I7RUFDeEIsYUFBYTtFQUNiLDZCQUE2QjtFQUM3QixjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixnQkFBZ0I7QS9Dc3lFcEI7O0FBRUE7OztFYXowRUk7RUFHRixrQkFBYztFQUhaO0VBR0YsbUJBQWM7QWI2MEVoQjs7QStDOTBFRTs7RUFNSSxhQUFhO0EvQzYwRW5COztBK0NuMUVFOztFQVVJLDZCQUE2QjtFQUM3QixjQUFjO0EvQzgwRXBCOztBK0MxMEVJO0VBZkY7O0lBZ0JJLGlCQUFpQjtFL0MrMEVyQjtBQUNGOztBNENqaEZBO0VHNFFFLFlBQVk7RUFDWixpQkFBaUI7QS9DeXdFbkI7O0E0Q3RoRkE7RWpDckJNLDZCb0N1UmdEO0EvQ3d4RXREOztBNEMxaEZBOzs7RWpDckJNLGlDQzNDK0U7QVpnbUZyRjs7QTRDaGlGQTs7Ozs7O0VqQ3JCTSxpQ0MzQytFO0FaeW1GckY7O0E0Q3ppRkE7OztFSWpFSSxpQkRpSDZDO0EvQysvRWpEOztBNEMvaUZBOzs7RWpDWU0scUJDdkZxQjtFRDBHbkI7RUFDQSwrQ0FBNEQ7QVh1aEZwRTs7QTRDdmpGQTtFTGhDSSwyRUFBeUc7QXZDMmxGN0c7O0E0QzNqRkE7RW5DdEVNO0VBR0YsMEJDZmtDO0FWa3BGdEM7O0FBRUE7RVNqb0ZRO0VBQ0EsMEJxQ2dHK0M7QTlDbWlGdkQ7O0E0Q3JrRkE7RW5DdEVNO0VBR0YsMEJxQ3NHbUQ7QTlDdWlGdkQ7O0FBRUE7RVMzb0ZRO0VBQ0EsMEJDcEI4QjtBVmlxRnRDOztBNEMva0ZBO0VuQ25FSSxrQkNma0M7QVZxcUZ0Qzs7QWtCdC9FRTtFQVFNLGFBQWE7QWxCay9FckI7O0E0Q3ZsRkE7RWpDckJNLDZCb0M4UmdEO0EvQ2sxRXREOztBNEMzbEZBO0VMdkNNLHFDQUFvRDtBdkNzb0YxRDs7QTRDL2xGQTtFSTVCSSxrQkFBMEI7QWhEK25GOUI7O0E0Q25tRkE7O0VMdkNNLHdDQUFvRDtBdkMrb0YxRDs7QTRDeG1GQTs7RUlsQk0sZUFBZTtBaEQrbkZyQjs7QTRDN21GQTs7RS9CK0tJO0VBR0Ysa0JBQWM7RUFIWjtFQUdGLG1CQUFjO0VrQ2lHWixhQUFhO0VBQ2IsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixZQUFZO0VBQ1osNkJBQTZCO0VBQzdCLFVBQVU7QS9DbTJFZDs7QUFFQTs7O0VhOThFSTtFQUdGLGtCQUFjO0VBSFo7RUFHRixtQkFBYztBYms5RWhCOztBNENwb0ZBO0VHNFJJLGlCQUFpQjtBL0M0MkVyQjs7QTRDeG9GQTtFR2dTSSxVQUFVO0EvQzQyRWQ7O0E0QzVvRkE7RUdvU0ksb0JBQW9CO0VBQ3BCLG9CQUFvQjtBL0M0MkV4Qjs7QTRDN29GQTtFakNRTSxjQzFFbUI7RUQ2RmpCO0VBQ0Esc0NBQTREO0FYdW5GcEU7O0E0Q25wRkE7O0VqQ1FNLDRCQzFFbUI7RUQ2RmpCO0VBQ0Esb0RBQTREO0FYOG5GcEU7O0E0QzFwRkE7RWpDUU0seUJDMUVtQjtFRDZGakI7RUFDQSxpREFBNEQ7QVhvb0ZwRTs7QTRDaHFGQTtFakN6Qk0sY0N6Q21CO0Fac3VGekI7O0E0Q3BxRkE7RWpDUU0sY0MxRW1CO0VENkZqQjtFQUNBLHNDQUE0RDtBWDhvRnBFOztBNEMxcUZBO0VqQ1FNLDRCQzFFbUI7RUQ2RmpCO0VBQ0Esb0RBQTREO0FYb3BGcEU7O0E0Q2hyRkE7OztFakNRTSxxQkMxRW1CO0VENkZqQjtFQUNBLDZDQUE0RDtBWDRwRnBFOztBNEN4ckZBOzs7Ozs7RWpDUU0scUJDMUVtQjtFRDZGakI7RUFDQSw2Q0FBNEQ7QVh1cUZwRTs7QTRDbnNGQTs7O0VJckVJLGlCRGlINkM7QS9DNnBGakQ7O0E0Q3pzRkE7OztFakNRTSxxQkMxRW1CO0VENkZqQjtFQUNBLDZDQUE0RDtBWHFyRnBFOztBNENqdEZBO0VHd0ZFLCtlQUdRO0EvQzBuRlY7O0E0Q3J0RkE7RUFzQkksVUFBVTtBNUNtc0ZkOztBNEMvckZBO0VBR0ksWUFBWTtBNUNnc0ZoQjs7QXdDL3lGRztFN0J5REcseUJrQ3JDbUc7RUV1VHZHLGVBQWU7RUFDZixvQkFBb0I7QS9DeStFdEI7O0E0Q2xzRkE7RWpDMURNLDBCQzNDK0U7QVoyeUZyRjs7QTRDdHNGQTtFR3VERSwrZUFHUTtBL0NncEZWOztBNEMxc0ZBO0VHMkxJLGFBQWE7QS9DbWhGakI7O0E0QzlzRkE7RWpDMURNLDBCQzNDK0U7QVp1ekZyRjs7QTRDbHRGQTs7RWpDMURNLDBCQzNDK0U7RW1DMlNqRiwyQkFBMkI7QS9Da2hGL0I7O0E0Q3h0RkE7RUcwTUksb0JBQW9CO0EvQ2toRnhCOztBNEM1dEZBO0VqQzFETSw2Qm9Dd1FtRDtBL0NraEZ6RDs7QTRDaHVGQTs7RUdrTk0seUJBQXlCO0EvQ21oRi9COztBNENydUZBOzs7RWpDMURNLGlDQzNDK0U7QVpnMUZyRjs7QXdDcDFGRTtFM0JtUEU7RUFHRixVQUFjO0VBSFo7RUFHRixjQUFjO0FicW1GaEI7O0FBRUE7RWExbUZJO0VBR0YsYUFBYztFQUhaO0VBR0YsV0FBYztBYjRtRmhCOztBNENydkZBOztFL0JzSUk7RUFHRixrQkFBYztFQUhaO0VBR0YsbUJBQWM7QWJvbkZoQjs7QUFFQTs7O0Vhem5GSTtFQUdGLGtCQUFjO0VBSFo7RUFHRixtQkFBYztBYjZuRmhCOztBNEN0d0ZBO0VMdEZNLHVEQUFnRjtBdkNnMkZ0Rjs7QUFFQTtFdUMvMUZRLHNEQUEyRTtBdkNpMkZuRjs7QTRDOXdGQTtFSXJFSSxrQkFBMEI7QWhEdTFGOUI7O0E0Q2x4RkE7O0VMdEZNLDBEQUFnRjtBdkM2MkZ0Rjs7QUFFQTs7O0V1QzUyRlEseURBQTJFO0F2Q2czRm5GOztBNEM3eEZBOztFSTNETSxlQUFlO0FoRDYxRnJCOztBNENseUZBO0VMekVJLG9GQUF5RztBdkMrMkY3Rzs7QUFFQTtFdUNqM0ZJLHdGQUF5RztBdkNtM0Y3Rzs7QTRDMXlGQTtFL0JzSUk7RUFHRixrQkFBYztFQUhaO0VBR0YsbUJBQWM7QWJ3cUZoQjs7QUFFQTtFYTdxRkk7RUFHRixrQkFBYztFQUhaO0VBR0YsbUJBQWM7QWIrcUZoQjs7QTRDcHpGQTtFakNqQ00sV0M1RStFO0VEK0Y3RTtFQUNBLHdDQUE0RDtBWHUwRnBFOztBa0Ixd0ZFO0VQakZJLHNCQzVFK0U7QVoyNkZyRjs7QVd2MUY2QztFT3lFM0M7SVB0RVk7SUFDQSxtREFBNEQ7RVh5MUZ4RTtBQUNGOztBa0I3dUZJO0VBR0ksYUNoTkk7QW5CODdGWjs7QWtCNXNGTTtFQWVGLHlCQUF5QjtFQUl6QixhQ3BRUTtBbkJrOEZaOztBa0JsckZJO0VBRUksZ0NBQXdEO0FsQm9yRmhFOztBa0IvcUZNO0VBRUkseUJDclN3QjtFRDBTeEIsYUM3UkU7QW5CMDhGWjs7QWtCdnFGRTtFQUVJLDZCQUF3QjtBbEJ5cUY5Qjs7QXVDNzhGRTtFQUNFO0lBQ0UsbUVBQTJGO0V2Q2c5Ri9GO0V1Qzc4RkU7SUFDRSxpRUFBZ0U7SUFDaEUsb0VBQTRGO0V2Qys4RmhHO0V1QzU4RkU7SUFDRSx3RUFBdUU7SUFDdkUscUVBQTZGO0V2Qzg4RmpHO0V1QzM4RkU7SUFDRSxtRUFBMkY7RXZDNjhGL0Y7QUFDRjs7QXVDOTlGRTtFQUNFO0lBQ0Usb0VBQTJGO0V2Q2krRi9GO0V1Qzk5RkU7SUFDRSxpRUFBZ0U7SUFDaEUscUVBQTRGO0V2Q2crRmhHO0V1Qzc5RkU7SUFDRSx3RUFBdUU7SUFDdkUsc0VBQTZGO0V2Qys5RmpHO0V1QzU5RkU7SUFDRSxvRUFBMkY7RXZDODlGL0Y7QUFDRjs7QWlEdi9GQTtFNUM4Qk0sK0JDbENvRDtFRGtDcEQsa0NDOUI4QjtFRDhCOUIsbUNDN0IrQjtFRDZCL0Isa0JDbUVpQjtFRG5FakIsb0JDb0VvQjtFRHBFcEIsZ0JDdkJRO0VEdUJSLHlCRWdCdUM7RUZoQnZDLHdCQ3VFd0I7RUR2RXhCLHVCQ3dFdUI7RURwRHpCLGNBQWM7RUFDZCxhQUFhO0VBQ2I7RUFDQSxtQkFBbUI7RTRDakRyQixTQUFTO0VBQ1Qsc0RoQ1Z1RTtFZ0NXdkUsVUFBVTtFQUNWLG9CQUFvQjtBakRvZ0d0Qjs7QUtuOUZFO0VBMEJBLHFCQUFxQjtFQUNyQixRQUFRO0VBQ1IsWTRDbEZ5QztFNUNtRnpDLFdBQVc7RUF6QlAsaUJBQWlCO0FMdTlGdkI7O0FpRHpnR0E7RUFDRSxnQkFBZ0I7RUFDaEIsVUFBVTtFQUNWLG9CQUFvQjtBakQ0Z0d0Qjs7QWtEemhHQTtFN0M4Qk0sK0JDbENvRDtFRGtDcEQsa0NDOUI4QjtFRDhCOUIsbUNDN0IrQjtFRDZCL0Isa0JDbUVpQjtFRG5FakIsb0JDb0VvQjtFRHBFcEIsZ0JDdkJRO0VEdUJSLHlCRWdCdUM7RUZoQnZDLHdCQ3VFd0I7RUR2RXhCLHVCQ3dFdUI7RURwRHpCLGNBQWM7RUFDZCxhQUFhO0VBQ2I7RUFDQSxtQkFBbUI7RVF1TW5CO0VBR0YsaUJBQWM7RUFIWjtFQUdGLGVBQWM7RUFIWjtFQUdGLGtCQUFjO0VBSFo7RUFHRixnQkFBYztFcUN4UGQsbUJBQW1CO0FsRDJpR3JCOztBSzEvRkU7RUEwQkEscUJBQXFCO0VBQ3JCLFFBQVE7RUFDUixZNkNsRnlDO0U3Q21GekMsV0FBVztFQXpCUCxpQkFBaUI7QUw4L0Z2Qjs7QUFFQTtFYWgwRkk7RUFHRixjQUFjO0VBSFo7RUFHRixrQkFBYztBYmswRmhCOztBQUVBO0VhdjBGSTtFQUdGLGVBQWM7RUFIWjtFQUdGLG1CQUFjO0FieTBGaEI7O0FtRDNrR0E7O0VBRUUsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixlQUFlO0FuRDhrR2pCOztBbUQza0dBOztFQUVFLGVBQWU7RUFDZixvQkFBb0I7QW5EOGtHdEI7O0FvRHhrR0E7RWxDZ0VJLHVCQUFxQjtFQUNyQixvQkFBa0I7RUFDbEIsbUJBQWlCO0VBQ2pCLHdCQUFzQjtFQUN0QixnQ0FBOEI7RUFDOUIsa0NBQWdDO0VBRWhDLDZDQUE2QztFVDFFN0MsMEJxQ3NHbUQ7RU14RXJELG9CQUFvQjtFQUNwQixrQkFBa0I7RUFDbEIsc0JBQXNCO0VBQ3RCLFlDakIwQjtFRGtCMUIsZ0JBQWdCO0VBQ2hCO0VBQ0Esc0NBQXNDO0FwRHlqR3hDOztBa0IvZ0dFO0VBR0ksa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1Ysb0JBQW9CO0VBQ3BCLFdBQVc7QWxCZ2hHakI7O0FrQjVnR0U7RUFHSSw2REFFbUQ7RUFJbkQsVUFBVTtBbEJ3Z0doQjs7QWtCamdHSTtFQUVJLCtDQUErQztBbEJtZ0d2RDs7QWtCLy9GSTtFQUVJLE1BQU07RUFDTjtFQUNBLE9BQU87RUFDUCxtQkFBbUI7RUFDbkIsK0JBQStCO0FsQmlnR3ZDOztBa0IzL0ZJO0VBRUksNkJBQTZCO0VBQzdCO0VBQ0EsK0JBQStCO0FsQjYvRnZDOztBa0J2L0ZJO0VBRUkseUZBRWdFO0FsQnUvRnhFOztBa0JqL0ZJO0VBRUksMENDaEs0QjtFRHFLNUIsZ0dBQWdHO0FsQisrRnhHOztBa0J2akdFO0VQaENJLHFDQzNDK0U7QVpzb0dyRjs7QWtCajhGSTtFQUdJLGFDaE5JO0FuQmtwR1o7O0FrQmg2Rk07RUFlRix5QkFBeUI7RUFJekIsYUNwUVE7QW5Cc3BHWjs7QWtCcGtHRTtFQXFTSSxxQkFBMkI7RUFDM0I7RUFDQSxzQkFBNEI7RUFDNUIsV0FBa0I7RUFDbEIsWUFBbUI7QWxCbXlGekI7O0FrQjNpR0k7RUErUUksc0NBQXlDO0VBQ3pDLHVDQUEwQztBbEJneUZsRDs7QW9ENXBHQTtFekMyQ00seUJDM0MrRTtBWmdxR3JGOztBb0RocUdBO0V6QzJDTSwwQkMzQytFO0Fab3FHckY7O0FvRHBxR0E7RXpDNEVNLG9CQ3ZGcUI7RUQwR25CO0VBQ0EsOENBQTREO0FYMGtHcEU7O0FvRDFxR0E7RXpDMkNNLHdDQzNDK0U7QVo4cUdyRjs7QW9EOXFHQTtFekMyQ00sd0NDM0MrRTtBWmtyR3JGOztBb0RsckdBO0V6QzRFTSx5QkN2RnFCO0VEMEduQjtFQUNBLG1EQUE0RDtBWHdsR3BFOztBb0R4ckdBO0V6QzJDTSx3Q0MzQytFO0FaNHJHckY7O0FvRDVyR0E7RXpDMkNNLHlCQzNDK0U7QVpnc0dyRjs7QW9EaHNHQTs7RXpDMkNNLHlCQzNDK0U7QVpxc0dyRjs7QW9EcnNHQTtFekMyQ00sMEJDM0MrRTtBWnlzR3JGOztBb0R6c0dBO0V6QzJDTSw0QjBDN0M4RjtBckQrc0dwRzs7QW9EN3NHQTtFdkMrT0k7RUFHRixVQUFjO0VBSFo7RUFHRixjQUFjO0V5Q2hDWixTQUFTO0VBQ1Qsb0JBQW9CO0F0RG1nR3hCOztBQUVBO0VheitGSTtFQUdGLGFBQWM7RUFIWjtFQUdGLFdBQWM7QWIyK0ZoQjs7QXNEdmdHRztFekN5QkM7RUFHRixTQUFjO0VBSFo7RUFHRixjQUFjO0Fiay9GaEI7O0FBRUE7RWF2L0ZJO0VBR0YsYUFBYztFQUhaO0VBR0YsVUFBYztBYnkvRmhCOztBc0QvZ0dHO0V6Q21CQztFQUdGLFNBQWM7RUFIWjtFQUdGLGNBQWM7RXlDbEJWLFNBQVM7QXREbWhHZjs7QUFFQTtFYXRnR0k7RUFHRixhQUFjO0VBSFo7RUFHRixVQUFjO0Fid2dHaEI7O0FzRHZoR0s7RXpDWUQ7RUFHRixVQUFjO0VBSFo7RUFHRixjQUFjO0FiK2dHaEI7O0FBRUE7RWFwaEdJO0VBR0YsYUFBYztFQUhaO0VBR0YsV0FBYztBYnNoR2hCOztBc0RyaUdLO0V6Q1lEO0VBR0YsVUFBYztFQUhaO0VBR0YsY0FBYztBYjZoR2hCOztBQUVBO0VhbGlHSTtFQUdGLGFBQWM7RUFIWjtFQUdGLFdBQWM7QWJvaUdoQjs7QW9EbHZHQTtFL0NuQk0sK0JDbENvRDtFRGtDcEQsa0NDOUI4QjtFRDhCOUIsbUNDN0IrQjtFRDZCL0IsZUNtQ2U7RURuQ2Ysb0JDb0NvQjtFRHBDcEIsZ0JDdkJRO0VEdUJSLHlCRWdCdUM7RUZoQnZDLHdCQ3VDd0I7RUR2Q3hCLHVCQ3dDdUI7RThDbEIzQixvQkFBb0I7RUFDcEIsc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxZQUFZO0VBQ1osc0JBQXNCO0VBQ3RCLHNEbkM5RHVFO0VtQytEdkUsWUFBWTtFQUNaLHdCQUF3QjtFQUN4QixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtBcEQ0dkdsQjs7QW9EendHQTtFQWdCSSxxRG5DdEVxRTtFbUN1RXJFLFVBQVU7RUFDViwwQnhDdERpRjtBWm16R3JGOztBb0Qvd0dBO0VBd0JJLHFDQUF1RDtBcEQydkczRDs7QW9EdnZHRTs7O0VBR0Usc0JBQXNCO0VBQ3RCLDBCQUEwQjtFQUMxQixVQUFVO0FwRDB2R2Q7O0FvRDN4R0E7RUFxQ0ksYUFBYTtBcEQwdkdqQjs7QW9EL3hHQTtFQTBDSSxnQkFBZ0I7QXBEeXZHcEI7O0FvRG55R0E7RUErQ0ksd0JBQXdCO0FwRHd2RzVCOztBb0RwdkdFO0VBQ0UsaUJBQWlCO0VBQ2pCLG9CQUFvQjtBcER1dkd4Qjs7QW9EbHZHQTtFQUNFLHVDQUFzQztFQUN0QyxZQUFZO0FwRHF2R2Q7O0FzRDF5R2tDO0VBNlBoQyxZQUFZO0VBQ1osaUJBQWlCO0F0RGlqR25COztBZ0R0MkdFOzs7RXJDdURJLGlDQzNDK0U7QVpnMkdyRjs7QWdENTJHRTs7Ozs7O0VyQ3VESSxpQ0MzQytFO0FaeTJHckY7O0FnRHIzR0U7OztFckN3RkkscUJDdkZxQjtFRDBHbkI7RUFDQSwrQ0FBNEQ7QVhpeEdwRTs7QXVDbDFHRTtFQUNFLDJFQUF5RztBdkNxMUc3Rzs7QWdEeDJHRTtFdkNuQkk7RUFHRiwwQkNma0M7QVY0NEd0Qzs7QUFFQTtFUzMzR1E7RUFDQSwwQnFDZ0crQztBOUM2eEd2RDs7QWdEcDJHRTtFdkNqQ0k7RUFHRiwwQnFDc0dtRDtBOUNpeUd2RDs7QUFFQTtFU3I0R1E7RUFDQSwwQkNwQjhCO0FWMjVHdEM7O0F1Q3gzR0U7RUFRSSxxQ0FBb0Q7QXZDbzNHMUQ7O0F1QzUzR0U7RVNtQkUsa0JBQTBCO0FoRDYyRzlCOztBdUNoNEdFOztFQVFJLHdDQUFvRDtBdkM2M0cxRDs7QXVDcjRHRTs7RVM2QkksZUFBZTtBaEQ2MkdyQjs7QWtCOXZHRTtFQVFNLGFBQWE7QWxCMHZHckI7O0FvRDV6R0E7RXpDeERNLDZCMkMyUDBDO0F0RDZuR2hEOztBb0RoMEdBO0VFeU1JLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsdUJBQXVCO0VBQ3ZCLDZCQUE2QjtFQUM3QixVQUFVO0F0RDJuR2Q7O0FvRHgwR0E7RUVpTkksVUFBVTtBdEQybkdkOztBZ0RuN0dFOzs7RUFHRSxpQk1xUTJDO0F0RGlyRy9DOztBb0QxMEdBO0V6Q2hFTSw2QjJDMk0yQztBdERtc0dqRDs7QWdEcjhHRTs7O0VyQ3VESSxpQ0MzQytFO0FaKzdHckY7O0FvRHAxR0E7RUU4SUksbUJBQW1CO0F0RDBzR3ZCOztBb0RwMUdBO0VFZ0tFLFlBQVk7QXREd3JHZDs7QXVDdDdHRTtFQVFJLHFDQUFvRDtBdkNrN0cxRDs7QXVDMTdHRTtFU21CRSxpQkFB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QTtFYXptSEk7RUFHRixXQUFjO0VBSFo7RUFHRixVQUFjO0FiMm1IaEI7O0FvRHRzSEE7RXZDd0ZJO0VBR0Ysa0JBQWM7RUFIWjtFQUdGLG1CQUFjO0Fia25IaEI7O0FBRUE7RWF2bkhJO0VBR0Ysa0JBQWM7RUFIWjtFQUdGLG1CQUFjO0FieW5IaEI7O0F1QzExSEU7RUFRSSxzQ0FBb0Q7QXZDczFIMUQ7O0F1Q2gxSEU7RUFDRSx3RUFBeUc7QXZDbTFIN0c7O0FvRHh0SEE7RUVPSSxvQkFBb0I7QXREcXRIeEI7O0FvRDV0SEE7RUVXSSxrQkFBa0I7QXREcXRIdEI7O0F1QzEySEU7RWV3Skksa0JBQWtCO0F0RHN0SHhCOztBc0RodEhFOztFRmZBLGdCQUFnQjtFQUNoQixZQUFZO0FwRG91SGQ7O0FzRDExSGlFO0VBaWMvRCxvQkFBb0I7RUFDcEIsV0FBVztFQUNYLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsaUJBQWlCO0F0RDY1R25COztBZ0R6NUhFOzs7RXJDdURJLGlDQzNDK0U7QVptNUhyRjs7QWdELzVIRTs7Ozs7O0VyQ3VESSxpQ0MzQytFO0FaNDVIckY7O0FnRHg2SEU7OztFckN3RkkscUJDdkZxQjtFRDBHbkI7RUFDQSwrQ0FBNEQ7QVhvMEhwRTs7QXVDcjRIRTtFQUNFLDJFQUF5RztBdkN3NEg3Rzs7QWdEMzVIRTtFdkNuQkk7RUFHRiwwQkNma0M7QVYrN0h0Qzs7QUFFQTtFUzk2SFE7RUFDQSwwQnFDZ0crQztBOUNnMUh2RDs7QWdEdjVIRTtFdkNqQ0k7RUFHRiwwQnFDc0dtRDtBOUNvMUh2RDs7QUFFQTtFU3g3SFE7RUFDQSwwQkNwQjhCO0FWODhIdEM7O0FrQi94SEU7RUFRTSxhQUFhO0FsQjJ4SHJCOztBb0Q1eEhBO0V6Q3pITSw2QjJDMmIwQztBdEQ4OUdoRDs7QXVDbjdIRTtFQVFJLHFDQUFvRDtBdkMrNkgxRDs7QXVDdjdIRTtFU21CRSxrQkFBMEI7QWhEdzZIOUI7O0F1QzM3SEU7O0VBUUksd0NBQW9EO0F2Q3c3SDFEOztBdUNoOEhFOztFUzZCSSxlQUFlO0FoRHc2SHJCOztBb0RsekhBO0V2QzJFSTtFQUdGLGFBQWM7RUFIWjtFQUdGLFdBQWM7RTBDdlBaLGtCQUFrQjtFQUNsQixZRDRlMkQ7QXREdS9HL0Q7O0FBRUE7RWFsdkhJO0VBR0YsVUFBYztFQUhaO0VBR0YsY0FBYztBYm92SGhCOztBb0RsMEhBO0VFK1VJLGdCQUFnQjtFQUNoQixzQkFBc0I7RUFDdEIsWUFBWTtFQUNaLHFCQUFrQztFQUNsQyxvQkFia0I7RUFjbEIsWUFBWTtBdER1L0doQjs7QW9EMzBIQTtFRXdWSSxtQkFBbUI7RUFDbkIsaUJBQWlCO0F0RHUvR3JCOztBc0Q5eEhHO0VBMlNDLFNBQVM7RUFDVCxZQUFZO0VBQ1osV0FBVztFQUNYLG9CQUFvQjtBdER1L0d4Qjs7QWdELy9IRTs7O0VBR0UsaUJNcVEyQztBdEQ2dkgvQzs7QW9EejFIQTtFRWtSRSxXQUFXO0F0RDJrSGI7O0FvRDcxSEE7RUV3UkksY0FBYztBdER5a0hsQjs7QWtCNTJIRTtFQVFNLGFBQWE7QWxCdzJIckI7O0FvRHIySEE7RXpDN0hNLDZCMkNtWjRDO0F0RG1sSGxEOztBb0R6MkhBO0VFMlJNLFVBQVU7QXREa2xIaEI7O0FvRDcySEE7RUVnU0ksZ0JBQWdCO0F0RGlsSHBCOztBb0Q3MkhBO0V6Q2hHTSw0QkMxRW1CO0VENkZqQjtFQUNBLG9EQUE0RDtBWCs3SHBFOztBb0Q3MkhBO0VBQ0UsYUFBYTtFQUNiLDhCQUE4QjtFQUM5QixzQkFBc0I7QXBEZzNIeEI7O0FvRDkySEU7RUFDRSxrQkFBa0I7QXBEaTNIdEI7O0FvRDkySEU7RUFDRSxtQkNyS3FDO0VEc0tyQyxrQkN0S3FDO0FyRHVoSXpDOztBb0R6MkhBO0VBQ0Usc0JBQXNCO0FwRDQySHhCOztBb0R4MkhBO0V6Qy9KTSw2QkN0RHFCO0FaaWtJM0I7O0FvRDUySEE7O0V6Qy9KTSw2QkN0RHFCO0Fac2tJM0I7O0FvRGozSEE7RUVyREksVUFBVTtBdEQwNkhkOztBZ0Qza0lFOzs7RXJDd0ZJLHFCQ3ZGcUI7RUQwR25CO0VBQ0EsK0NBQTREO0FYdStIcEU7O0FvRHIzSEE7RXpDdElNLDRCQzFFbUI7RUQ2RmpCO0VBQ0Esb0RBQTREO0FYNitIcEU7O0FvRDMzSEE7RXpDdElNLDRCQzFFbUI7RUQ2RmpCO0VBQ0Esb0RBQTREO0FYbS9IcEU7O0FvRGo0SEE7RXpDdElNLHlCQzFFbUI7RUQ2RmpCO0VBQ0EsaURBQTREO0FYeS9IcEU7O0FvRHY0SEE7RXpDdElNLGNDMUVtQjtFRDZGakI7RUFDQSxzQ0FBNEQ7QVgrL0hwRTs7QW9ENzRIQTtFekN0SU0sY0MxRW1CO0VENkZqQjtFQUNBLHNDQUE0RDtBWHFnSXBFOztBb0RuNUhBO0V6Q3RJTSxvQkMxRW1CO0VENkZqQjtFQUNBLDRDQUE0RDtBWDJnSXBFOztBb0R6NUhBOztFekN0SU0sY0MxRW1CO0VENkZqQjtFQUNBLHNDQUE0RDtBWGtoSXBFOztBb0RoNkhBO0V6Q3RJTSxjQzFFbUI7RUQ2RmpCO0VBQ0Esc0NBQTREO0FYd2hJcEU7O0FvRHQ2SEE7RXpDdElNLGNDMUVtQjtFRDZGakI7RUFDQSxzQ0FBNEQ7QVg4aElwRTs7QW9ENTZIQTtFRXpFSSxVQUFVO0F0RHkvSGQ7O0FnRDlvSUU7OztFckN3RkkscUJDMUVtQjtFRDZGakI7RUFDQSw2Q0FBNEQ7QVgwaUlwRTs7QWdEdHBJRTs7Ozs7O0VyQ3dGSSxxQkMxRW1CO0VENkZqQjtFQUNBLDZDQUE0RDtBWHFqSXBFOztBZ0RqcUlFOzs7RXJDd0ZJLHFCQzFFbUI7RUQ2RmpCO0VBQ0EsNkNBQTREO0FYNmpJcEU7O0FnRHpxSUU7OztFckN3RkkscUJDMUVtQjtFRDZGakI7RUFDQSw2Q0FBNEQ7QVhxa0lwRTs7QWdEanJJRTs7Ozs7O0VyQ3dGSSxxQkMxRW1CO0VENkZqQjtFQUNBLDZDQUE0RDtBWGdsSXBFOztBZ0Q1cklFOzs7RXJDd0ZJLHFCQzFFbUI7RUQ2RmpCO0VBQ0EsNkNBQTREO0FYd2xJcEU7O0FzRDNuSUc7RTNDbEJHLHlCMEM1Q3VHO0VDeUczRyxtQkFBbUI7RUFDbkIsb0JBQW9CO0F0RHFsSXRCOztBb0RoK0hBO0V6Q25MTSx3Q0MzQytFO0Faa3NJckY7O0FvRHArSEE7RXpDbkxNLDBCQzNDK0U7QVpzc0lyRjs7QW9EeCtIQTtFekNuTE0sMEJDM0MrRTtBWjBzSXJGOztBb0Q1K0hBO0V6Q25MTSwwQkMzQytFO0FaOHNJckY7O0FvRGgvSEE7O0V6Q25MTSwwQkMzQytFO0FabXRJckY7O0FvRHIvSEE7RXpDbkxNLHlCQzNDK0U7QVp1dElyRjs7QW9Eei9IQTtFekNuTE0sd0NDM0MrRTtBWjJ0SXJGOztBb0Q3L0hBO0VFbEhJLGVBQWU7QXREbW5JbkI7O0FvRDcvSEE7RXpDdkxNLDZCMkMyTTJDO0VBNk4vQztFM0N4YUkseUIwQ2hDbUQ7QXJEMHRJekQ7O0FnRGp2SUU7OztFckN1REksaUNDM0MrRTtBWjJ1SXJGOztBb0R6Z0lBO0VFdUJJLG1CQUFtQjtBdERzL0h2Qjs7QXVDcHZJRTtFQUNFO0lBQ0UsK0RBQTJGO0V2Q3V2SS9GO0V1Q3B2SUU7SUFDRSxpRUFBZ0U7SUFDaEUsZ0VBQTRGO0V2Q3N2SWhHO0V1Q252SUU7SUFDRSx3RUFBdUU7SUFDdkUsaUVBQTZGO0V2Q3F2SWpHO0V1Q2x2SUU7SUFDRSwrREFBMkY7RXZDb3ZJL0Y7QUFDRjs7QXVDcndJRTtFQUNFO0lBQ0UsaUVBQTJGO0V2Q3d3SS9GO0V1Q3J3SUU7SUFDRSxpRUFBZ0U7SUFDaEUsa0VBQTRGO0V2Q3V3SWhHO0V1Q3B3SUU7SUFDRSx3RUFBdUU7SUFDdkUsbUVBQTZGO0V2Q3N3SWpHO0V1Q253SUU7SUFDRSxpRUFBMkY7RXZDcXdJL0Y7QUFDRjs7QXVDdHhJRTtFQUNFO0lBQ0UsZ0VBQTJGO0V2Q3l4SS9GO0V1Q3R4SUU7SUFDRSxpRUFBZ0U7SUFDaEUsaUVBQTRGO0V2Q3d4SWhHO0V1Q3J4SUU7SUFDRSx3RUFBdUU7SUFDdkUsa0VBQTZGO0V2Q3V4SWpHO0V1Q3B4SUU7SUFDRSxnRUFBMkY7RXZDc3hJL0Y7QUFDRjs7QXVDdnlJRTtFQUNFO0lBQ0UsZ0VBQTJGO0V2QzB5SS9GO0V1Q3Z5SUU7SUFDRSxpRUFBZ0U7SUFDaEUsaUVBQTRGO0V2Q3l5SWhHO0V1Q3R5SUU7SUFDRSx3RUFBdUU7SUFDdkUsa0VBQTZGO0V2Q3d5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TGhCOztBa0JoekxJO0VBRUksK0NBQStDO0FsQmt6THZEOztBa0I5eUxJO0VBRUksTUFBTTtFQUNOO0VBQ0EsT0FBTztFQUNQLG1CQUFtQjtFQUNuQiwrQkFBK0I7QWxCZ3pMdkM7O0FrQjF5TEk7RUFFSSw2QkFBNkI7RUFDN0I7RUFDQSwrQkFBK0I7QWxCNHlMdkM7O0FrQnR5TEk7RUFFSSx5RkFFZ0U7QWxCc3lMeEU7O0FrQmh5TEk7RUFFSSwwQ0NoSzRCO0VEcUs1QixnR0FBZ0c7QWxCOHhMeEc7O0FrQnQyTEU7RUFxU0kscUJBQTJCO0VBQzNCO0VBQ0Esc0JBQTRCO0VBQzVCLFdBQWtCO0VBQ2xCLFlBQW1CO0FsQnFrTHpCOztBa0I3MExJO0VBK1FJLHNDQUF5QztFQUN6Qyx1Q0FBMEM7QWxCa2tMbEQ7O0FrQm4zTEU7RVBoQ0ksc0JDM0MrRTtBWms4THJGOztBa0I3dkxJO0VBR0ksYUNoTkk7QW5CODhMWjs7QWtCNXRMTTtFQWVGLHlCQUF5QjtFQUl6QixhQ3BRUTtBbkJrOUxaOztBa0Jsc0xJO0VBRUksZ0NBQXdEO0FsQm9zTGhFOztBa0IvckxNO0VBRUkseUJDclN3QjtFRDBTeEIsYUM3UkU7QW5CMDlMWjs7QWtCdnJMRTtFQUVJLDZCQUF3QjtBbEJ5ckw5Qjs7QWNqK0xJO0VBMENBLHdIQ2xEZ0M7QWY2K0xwQzs7QWNyK0xJO0VBMENBLHlIQ2xEZ0M7QWZpL0xwQzs7QWN6K0xJO0VBMENBLHlIQ2xEZ0M7QWZxL0xwQzs7QWM3K0xJO0VBMENBLHlIQ2xEZ0M7QWZ5L0xwQzs7QWNqL0xJO0VBMENBLDBIQ2xEZ0M7QWY2L0xwQzs7QWNyL0xJO0VBMENBLDBIQ2xEZ0M7QWZpZ01wQzs7QWN6L0xJO0VBMENBLDJIQ2xEZ0M7QWZxZ01wQzs7QWM3L0xJO0VBMENBLDJIQ2xEZ0M7QWZ5Z01wQzs7QWNqZ01JO0VBMENBLDJIQ2xEZ0M7QWY2Z01wQzs7QWNyZ01JO0VBMENBLDJIQ2xEZ0M7QWZpaE1wQzs7QWN6Z01JO0VBMENBLDRIQ2xEZ0M7QWZxaE1wQzs7QWM3Z01JO0VBMENBLDRIQ2xEZ0M7QWZ5aE1wQzs7QWNqaE1JO0VBMENBLDRIQ2xEZ0M7QWY2aE1wQzs7QWNyaE1JO0VBMENBLDRIQ2xEZ0M7QWZpaU1wQzs7QWN6aE1JO0VBMENBLDRIQ2xEZ0M7QWZxaU1wQzs7QWM3aE1JO0VBMENBLDRIQ2xEZ0M7QWZ5aU1wQzs7QWNqaU1JO0VBMENBLDZIQ2xEZ0M7QWY2aU1wQzs7QWNyaU1JO0VBMENBLDZIQ2xEZ0M7QWZpak1wQzs7QWN6aU1JO0VBMENBLDZIQ2xEZ0M7QWZxak1wQzs7QWM3aU1JO0VBMENBLDZIQ2xEZ0M7QWZ5ak1wQzs7QWNqak1JO0VBMENBLDhIQ2xEZ0M7QWY2ak1wQzs7QWNyak1JO0VBMENBLDhIQ2xEZ0M7QWZpa01wQzs7QWN6ak1JO0VBMENBLDhIQ2xEZ0M7QWZxa01wQzs7QWM3ak1JO0VBMENBLDhIQ2xEZ0M7QWZ5a01wQzs7QWNqa01JO0VBMENBLDhIQ2xEZ0M7QWY2a01wQzs7QWNoa01FO0VBRUkseURBd0RzRDtFQXBEdEQsdUJDeUU2QjtBZnMvTG5DOztBOEJwa01FO0VBMkhFLHFCQUFxQjtFQUNyQixrQkFBa0I7RUFDbEIsc0JBQXNCO0VBQ3RCLFlBQVk7RUFDWixhQUFhO0VBQ2IsNkJBQTZCO0VBQzdCLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsZUNqSjRCO0VEa0o1QixxQkFBcUI7RUFDckIsZUFBZTtFQUNmLGlCQUFpQjtFQS9EakIsV0hkc0Y7RUdldEYsWUhmc0Y7RUdnQnRGLGFBQWlEO0E5QjZnTXJEOztBOEJ0bE1FOztFQTZJSSxXQzNKMEI7RUQ0SjFCLFlDNUowQjtBL0IwbU1oQzs7QThCNWxNRTtFbkIrRUksMEJDOURrQjtFRGlGaEI7RUFDQSxtRUFBNEQ7RW1CcUQ5RCxlQUFlO0VBQ2Ysb0JBQW9CO0E5QjI4TDFCOztBOEIvbE1FO0VBRUkscUJBQXFCO0E5QmltTTNCOztBOEJubU1FO0VBUU0sYUFBYTtBOUIrbE1yQjs7QThCMWxNRTtFQUdNLGFBQWE7QTlCMmxNckI7O0E4QjlsTUU7RUFTUSxxQkFBcUI7QTlCeWxNL0I7O0E4QnBuTUU7RVptRUUsdUJBQXFCO0VBQ3JCLG9CQUFrQjtFQUNsQixtQkFBaUI7RUFDakIsd0JBQXNCO0VBQ3RCLGdDQUE4QjtFQUM5QixrQ0FBZ0M7RUFFaEMsNkNBQTZDO0FsQm9qTWpEOztBa0Joak1FO0VBR0ksa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1Ysb0JBQW9CO0VBQ3BCLFdBQVc7QWxCaWpNakI7O0FrQjdpTUU7RUFHSSw2REFFbUQ7RUFJbkQsVUFBVTtBbEJ5aU1oQjs7QWtCbGlNSTtFQUVJLCtDQUErQztBbEJvaU12RDs7QWtCaGlNSTtFQUVJLE1BQU07RUFDTjtFQUNBLE9BQU87RUFDUCxtQkFBbUI7RUFDbkIsK0JBQStCO0FsQmtpTXZDOztBa0I1aE1JO0VBRUksNkJBQTZCO0VBQzdCO0VBQ0EsK0JBQStCO0FsQjhoTXZDOztBa0J4aE1JO0VBRUkseUZBRWdFO0FsQndoTXhFOztBa0JsaE1JO0VBRUksMENDaEs0QjtFRHFLNUIsZ0dBQWdHO0FsQmdoTXhHOztBa0J4bE1FO0VBOFRJLG9CQUErQjtFQUMvQjtFQUNBLHFCQUFnQztFQUNoQyxXQVRTO0VBVVQsWUFWUztBbEJ3eUxmOztBa0J6eExJO0VBR0ksMkNBQXNEO0VBQ3REO0VBQ0EsNkNBQXdEO0VBQ3hELHNDQUF5QztFQUN6Qyx1Q0FBMEM7QWxCMHhMbEQ7O0FrQnZrTUk7RUFtVEksc0NBQXlDO0VBQ3pDLHVDQUEwQztBbEJ3eExsRDs7QWtCN21NRTtFUGhDSSxzQkMzQytFO0FaNHJNckY7O0FrQnYvTEk7RUFHSSxhQ2hOSTtBbkJ3c01aOztBa0J0OUxNO0VBZUYseUJBQXlCO0VBSXpCLGFDcFFRO0FuQjRzTVo7O0FrQjU3TEk7RUFFSSxnQ0FBd0Q7QWxCODdMaEU7O0FrQno3TE07RUFFSSx5QkNyU3dCO0VEMFN4QixhQzdSRTtBbkJvdE1aOztBa0JqN0xFO0VBRUksNkJBQXdCO0FsQm03TDlCOztBNkQ5c01FO0UvQzZCRSwySENsRGdDO0U4QzRNaEMsb0JBQW9CO0VBQ3BCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLHNCQUFzQjtFQUN0QixXQ2pOaUI7RURrTmpCLFlDbE5pQjtFRG1OakIsVUFBVTtFQUNWLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUl4QixtSTVDaE93RTtFTitGdEUseUJDbEZvQjtFRGtGcEIsV0NoRnlGO0VEbUd2RjtFQUNBLDBDQUE0RDtBWDBvTXBFOztBNkR0dU1FO0VwRFBFLGtCb0R3TCtCO0E3RHlqTW5DOztBNkQxdU1FO0VwRFBFLGtCb0R3TCtCO0E3RDZqTW5DOztBNkQ5dU1FO0VBaU5JLFVBQVU7RUFDVixTQUFTO0E3RGlpTWY7O0E2RG52TUU7RS9DNkJFLDJIQ2xEZ0M7QWY0d01wQzs7QTZEdnZNRTtFL0M2QkUsNEhDbERnQztBZmd4TXBDOztBNkQzdk1FO0VBc09JLGFBQWE7QTdEeWhNbkI7O0E2RC92TUU7RUE0T0ksZUFBZTtBN0R1aE1yQjs7QTZEbndNRTtFQXVQSSxXQUFXO0E3RGdoTWpCOztBV3ZyTTZDO0VrRGhGM0M7SWxEbUZZO0lBQ0EscURBQTREO0VYeXJNeEU7QUFDRjs7QTZEOXdNRTtFQStGSSxXQTVGNkI7RUE2RjdCLFlBN0Y2QjtFQThGN0IsZUE5RjZCO0E3RGl4TW5DOztBNkQ3d01FO0VBMFBFLFdDclJzQjtFRHNSdEIsWUN0UnNCO0E5RDZ5TTFCOztBNkR0b01HO0V4RHRJRywrQkNsQ29EO0VEa0NwRCxrQ0M5QjhCO0VEOEI5QixtQ0M3QitCO0VENkIvQixtQkMyRWtCO0VEM0VsQixvQkM0RW9CO0VENUVwQixnQkN0Qk87RURzQlAseUJFZ0J1QztFRmhCdkMscUJDK0VxQjtFRC9FckIseUJDZ0Z5QjtFR3BHM0IsbUJxQ3lJK0M7RWVZL0MsZUNwS2lDO0VEb1NqQyxXQUFXO0VBQ1gsZUFBZTtFQUNmLFlDblMwQjtBOUQ2ek05Qjs7QTZEL3hNRTtFcERsQkUsbUJxQ3lJK0M7QTlDNHFNbkQ7O0E2RG55TUU7RWhEZ09FO0VBR0YsaUJBQWM7RUFIWjtFQUdGLGtCQUFj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QUFhO0VBQ2IsMkJBQTJCO0VBQzNCLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIscUNBQXFDO0VBQ3JDLGNBQWM7QUEyN05sQjs7QUFuOE5HO0VBV0cscUJFdkxvQjtBRm1uTzFCOztBQXY4Tkc7RUFlRyxtQkFBbUI7RUFDbkIsa0JBQWtCO0FBNDdOeEI7O0FBNThORztFQW9CRyxlQUFlO0VBQ2YsWUFBWTtBQTQ3TmxCOztBQXg3TkU7RUFDRSxxQkV2TW9CO0FGa29PeEI7O0FBdDdOQTtFQUNFLG1CQUFtQjtBQXk3TnJCIiwiZmlsZSI6Ii9jc3Mvc2hvcC9zZWxsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vaWNvbj9mYW1pbHk9TWF0ZXJpYWwrSWNvbnN8TWF0ZXJpYWwrSWNvbnMrT3V0bGluZWRcIik7XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnQtZmFtaWx5L01vbnRzZXJyYXQvTW9udHNlcnJhdC1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udC1mYW1pbHkvT3Blbl9TYW5zL09wZW5TYW5zLVJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJQVCBTZXJpZlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnQtZmFtaWx5L1BUX1NlcmlmL1BUU2VyaWYtUmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyoqXHJcbiAgIENPVUxFVVJTXHJcbiovXG4vKipcclxuICAgUmVzcG9uc2l2ZVxyXG4gKi9cbi5tZGMtYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wODkyOWVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDAgOHB4IDAgOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLXdpZHRoOiA2NHB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4ubWRjLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLm1kYy1idXR0b246YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLm1kYy1idXR0b246aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tZGMtYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzcpO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLWJ1dHRvbi5tZGMtYnV0dG9uLS1kZW5zZSB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm1kYy1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy1idXR0b24gLm1kYy1idXR0b25fX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLWJ1dHRvbiAubWRjLWJ1dHRvbl9faWNvbiwgLm1kYy1idXR0b24gLm1kYy1idXR0b25fX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLm1kYy1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICBjb2xvcjogIzYyMDBlZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICM2MjAwZWUpO1xufVxuXG4ubWRjLWJ1dHRvbl9fbGFiZWwgKyAubWRjLWJ1dHRvbl9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1idXR0b25fX2xhYmVsICsgLm1kYy1idXR0b25fX2ljb24sIC5tZGMtYnV0dG9uX19sYWJlbCArIC5tZGMtYnV0dG9uX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbnN2Zy5tZGMtYnV0dG9uX19pY29uIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4ubWRjLWJ1dHRvbi0tcmFpc2VkIC5tZGMtYnV0dG9uX19pY29uLFxuLm1kYy1idXR0b24tLXVuZWxldmF0ZWQgLm1kYy1idXR0b25fX2ljb24sXG4ubWRjLWJ1dHRvbi0tb3V0bGluZWQgLm1kYy1idXR0b25fX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtYnV0dG9uLS1yYWlzZWQgLm1kYy1idXR0b25fX2ljb24sIC5tZGMtYnV0dG9uLS1yYWlzZWQgLm1kYy1idXR0b25fX2ljb25bZGlyPVwicnRsXCJdLCBbZGlyPVwicnRsXCJdXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZCAubWRjLWJ1dHRvbl9faWNvbixcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkIC5tZGMtYnV0dG9uX19pY29uW2Rpcj1cInJ0bFwiXSwgW2Rpcj1cInJ0bFwiXVxuLm1kYy1idXR0b24tLW91dGxpbmVkIC5tZGMtYnV0dG9uX19pY29uLFxuLm1kYy1idXR0b24tLW91dGxpbmVkIC5tZGMtYnV0dG9uX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IC00cHg7XG59XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQgLm1kYy1idXR0b25fX2xhYmVsICsgLm1kYy1idXR0b25fX2ljb24sXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZCAubWRjLWJ1dHRvbl9fbGFiZWwgKyAubWRjLWJ1dHRvbl9faWNvbixcbi5tZGMtYnV0dG9uLS1vdXRsaW5lZCAubWRjLWJ1dHRvbl9fbGFiZWwgKyAubWRjLWJ1dHRvbl9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IC00cHg7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1idXR0b24tLXJhaXNlZCAubWRjLWJ1dHRvbl9fbGFiZWwgKyAubWRjLWJ1dHRvbl9faWNvbiwgLm1kYy1idXR0b24tLXJhaXNlZCAubWRjLWJ1dHRvbl9fbGFiZWwgKyAubWRjLWJ1dHRvbl9faWNvbltkaXI9XCJydGxcIl0sIFtkaXI9XCJydGxcIl1cbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkIC5tZGMtYnV0dG9uX19sYWJlbCArIC5tZGMtYnV0dG9uX19pY29uLFxuLm1kYy1idXR0b24tLXVuZWxldmF0ZWQgLm1kYy1idXR0b25fX2xhYmVsICsgLm1kYy1idXR0b25fX2ljb25bZGlyPVwicnRsXCJdLCBbZGlyPVwicnRsXCJdXG4ubWRjLWJ1dHRvbi0tb3V0bGluZWQgLm1kYy1idXR0b25fX2xhYmVsICsgLm1kYy1idXR0b25fX2ljb24sXG4ubWRjLWJ1dHRvbi0tb3V0bGluZWQgLm1kYy1idXR0b25fX2xhYmVsICsgLm1kYy1idXR0b25fX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogLTRweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLm1kYy1idXR0b24tLXJhaXNlZCxcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkIHtcbiAgcGFkZGluZzogMCAxNnB4IDAgMTZweDtcbn1cblxuLm1kYy1idXR0b24tLXJhaXNlZDpkaXNhYmxlZCxcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNyk7XG59XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQ6bm90KDpkaXNhYmxlZCksXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZDpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MjAwZWU7XG59XG5cbkBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgLm1kYy1idXR0b24tLXJhaXNlZDpub3QoOmRpc2FibGVkKSxcbiAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6bm90KDpkaXNhYmxlZCkge1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzYyMDBlZSk7XG4gIH1cbn1cblxuLm1kYy1idXR0b24tLXJhaXNlZDpub3QoOmRpc2FibGVkKSxcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY29sb3I6ICNmZmY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1wcmltYXJ5LCAjZmZmKTtcbn1cblxuLm1kYy1idXR0b24tLXJhaXNlZCB7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuLm1kYy1idXR0b24tLXJhaXNlZDpob3ZlciwgLm1kYy1idXR0b24tLXJhaXNlZDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggNHB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWJ1dHRvbi0tcmFpc2VkOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1idXR0b24tLXJhaXNlZDpkaXNhYmxlZCB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1idXR0b24tLW91dGxpbmVkIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgcGFkZGluZzogMCAxNXB4IDAgMTVweDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG59XG5cbi5tZGMtYnV0dG9uLS1vdXRsaW5lZDpkaXNhYmxlZCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM3KTtcbn1cblxuLm1kYy1idXR0b24tLW91dGxpbmVkOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjIwMGVlO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICM2MjAwZWUpO1xufVxuXG4ubWRjLWJ1dHRvbi0tZGVuc2Uge1xuICBoZWlnaHQ6IDMycHg7XG4gIGZvbnQtc2l6ZTogLjgxMjVyZW07XG59XG5cbkBrZXlmcmFtZXMgbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0LCAwKSkgc2NhbGUoMSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiB2YXIoLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHksIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBvcGFjaXR5OiB2YXIoLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHksIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5tZGMtcmlwcGxlLXN1cmZhY2UtLXRlc3QtZWRnZS12YXItYnVnIHtcbiAgLS1tZGMtcmlwcGxlLXN1cmZhY2UtdGVzdC1lZGdlLXZhcjogMXB4IHNvbGlkICMwMDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLm1kYy1yaXBwbGUtc3VyZmFjZS0tdGVzdC1lZGdlLXZhci1idWc6OmJlZm9yZSB7XG4gIGJvcmRlcjogdmFyKC0tbWRjLXJpcHBsZS1zdXJmYWNlLXRlc3QtZWRnZS12YXIpO1xufVxuXG4ubWRjLWJ1dHRvbiB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4ubWRjLWJ1dHRvbjo6YmVmb3JlLCAubWRjLWJ1dHRvbjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5tZGMtYnV0dG9uOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICB6LWluZGV4OiAxO1xufVxuXG4ubWRjLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuLm1kYy1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLm1kYy1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG59XG5cbi5tZGMtYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cblxuLm1kYy1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbi5tZGMtYnV0dG9uOjpiZWZvcmUsIC5tZGMtYnV0dG9uOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuXG4ubWRjLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG5cbi5tZGMtYnV0dG9uOjpiZWZvcmUsIC5tZGMtYnV0dG9uOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MjAwZWU7XG59XG5cbkBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgLm1kYy1idXR0b246OmJlZm9yZSwgLm1kYy1idXR0b246OmFmdGVyIHtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICM2MjAwZWUpO1xuICB9XG59XG5cbi5tZGMtYnV0dG9uOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA0O1xufVxuXG4ubWRjLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSwgLm1kYy1idXR0b246bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1idXR0b246bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuLm1kYy1idXR0b246bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWJ1dHRvbi0tcmFpc2VkOjpiZWZvcmUsIC5tZGMtYnV0dG9uLS1yYWlzZWQ6OmFmdGVyLFxuLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6OmJlZm9yZSxcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbkBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgLm1kYy1idXR0b24tLXJhaXNlZDo6YmVmb3JlLCAubWRjLWJ1dHRvbi0tcmFpc2VkOjphZnRlcixcbiAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6OmJlZm9yZSxcbiAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6OmFmdGVyIHtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXByaW1hcnksICNmZmYpO1xuICB9XG59XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQ6aG92ZXI6OmJlZm9yZSxcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA4O1xufVxuXG4ubWRjLWJ1dHRvbi0tcmFpc2VkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAubWRjLWJ1dHRvbi0tcmFpc2VkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSxcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLFxuLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yNDtcbn1cblxuLm1kYy1idXR0b24tLXJhaXNlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlcixcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyLFxuLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yNDtcbn1cblxuLm1kYy1idXR0b24tLXJhaXNlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLFxuLm1kYy1idXR0b24tLXVuZWxldmF0ZWQubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjI0O1xufVxuXG5odG1sLFxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuaDEsIGgyIHtcbiAgZm9udC1mYW1pbHk6IFwiUFQgU2VyaWZcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyLjVlbTtcbiAgY29sb3I6ICM1NzNEMUM7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIGNvbG9yOiAjNTczRDFDO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjNjY2O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5wLFxudWwgPiBsaSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xufVxuXG5wIHtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG5tYWluIHtcbiAgbWluLWhlaWdodDogNjAwcHg7XG59XG5cbi5mbGV4LXJvdywgLmhlYWRlcl9sb2dvLCAuaGVhZGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXMsIC5oZWFkZXJfYmFza2V0IC5jb3VudCwgLmZvb3Rlcl9uYXYtYmFyIC5mb290ZXJfbG9nbywgLmZvb3Rlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zLCAuZm9vdGVyX25hdi1iYXIgLm5hdi1iYXJfcGF5bWVudC1tZXRob2RzLCAuZm9ybV9pbnB1dC1ncm91cCwgLnNob3AsIC5maWxlX2FyaWFuZSwgLmZvYWx0aW5nLWJhc2tldCAuY291bnQsIC5wcm9kdWN0LCAucHJvZHVjdF9pbWFnZXMgLmxpc3QtcGhvdG8sIC5wcm9kdWN0LWRldGFpbHMucHJvZHVjdC1kZXRhaWxzX19zaW1wbGUsIC5wcm9kdWN0LWRldGFpbHMucHJvZHVjdC1kZXRhaWxzX19zaW1wbGUgLnByb2R1Y3QtZGV0YWlsc19jaG9pY2VzLCAuZGV2aXMtc2VsbGUtZm9ybV9xdWVzdGlvbnMsIC5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9ucyAuYW5zd2VycywgLmNob2ljZS1jb2xvcixcbi5jaG9pY2UtY2FyZHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uZmxleC1jb2x1bW4sIC5mb3JtLCAuZm9ybV9yYWRpby1ncm91cCwgLnNob3BfbmF2IHVsLCAucHJvZHVjdF9pbWFnZXMsIC5wcm9kdWN0LWRldGFpbHMucHJvZHVjdC1kZXRhaWxzX19zaW1wbGUgLnByb2R1Y3QtZGV0YWlsc19vcHRpb24sIC5kZXZpcy1zZWxsZS1mb3JtLCAuZGV2aXMtc2VsbGUtZm9ybV9xdWVzdGlvbnMgLnF1ZXN0aW9uLCAuZGV2aXMtc2VsbGUtZm9ybV9xdWVzdGlvbnMgLmNvbnRhY3QsIC5jaG9pY2UtY2FyZHNfZGV0YWlscyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5mbGV4LWNlbnRlci1jZW50ZXIsIC5oZWFkZXJfbG9nbywgLmhlYWRlcl9iYXNrZXQgLmNvdW50LCAuZm9vdGVyX25hdi1iYXIgLmZvb3Rlcl9sb2dvLCAuZm9vdGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXMsIC5mb290ZXJfbmF2LWJhciAubmF2LWJhcl9wYXltZW50LW1ldGhvZHMsIC5mb3JtIC5jaG9pY2Utc2ltcGxlLCAuZm9hbHRpbmctYmFza2V0IC5jb3VudCwgLmRldmlzLXNlbGxlLWZvcm1fcXVlc3Rpb25zIC5hbnN3ZXJzIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbi50ZXh0LWp1c3RpZnkgaDEsIC50ZXh0LWp1c3RpZnkgaDIsIC50ZXh0LWp1c3RpZnkgaDMge1xuICB0ZXh0LWFsaWduOiBpbml0aWFsO1xufVxuXG4uY29udGFpbmVyX2NlbnRlciwgLmZpbGVfYXJpYW5lIHtcbiAgd2lkdGg6IDkwJTtcbiAgbWF4LXdpZHRoOiA4NTBweDtcbiAgbWFyZ2luOiAwIGF1dG8gM2VtO1xufVxuXG4uc2VwYXJhdGV1ciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IGxpZ2h0Z3JheTtcbn1cblxuLnNlcGFyYXRldXIuc2VwYXJhdGV1cl9fdmVydGljYWwge1xuICBoZWlnaHQ6IDIwMHB4O1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCBsaWdodGdyYXk7XG59XG5cbi5tYWluX19oZWFkZXItcGFkZGluZyB7XG4gIHBhZGRpbmctdG9wOiAxMjBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5tYWluX19oZWFkZXItcGFkZGluZyB7XG4gICAgcGFkZGluZy10b3A6IDcycHg7XG4gIH1cbn1cblxuLyoqXHJcbiAgIEJhY2tncm91bmQgY2VudGVyIGNvdmVyXHJcbiAqL1xuLmNvbnRhaW5lci1iYWNrZ3JvdW5kLCAuaGVhZGVyLWJhbm5pZXJlLCAucHJvZHVjdF9pbWFnZXMgLmNvdmVyLCAucHJvZHVjdF9pbWFnZXMgLmxpc3QtcGhvdG8gbGksIC5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1idWNrbGVfaW1nLCAucHJvZHVjdC1kZXRhaWxzIC5jaG9pY2UtY29sb3JfaW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY29udGFpbmVyLWJhY2tncm91bmQgaW1nLCAuaGVhZGVyLWJhbm5pZXJlIGltZywgLnByb2R1Y3RfaW1hZ2VzIC5jb3ZlciBpbWcsIC5wcm9kdWN0X2ltYWdlcyAubGlzdC1waG90byBsaSBpbWcsIC5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1idWNrbGVfaW1nIGltZywgLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWNvbG9yX2ltZyBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi8qKlxyXG4gICBIZWFkZXIgYXZlYyBsZSBmb25kIGV0IGxhIGNhdGNoIHBocmFzZVxyXG4gKi9cbi5oZWFkZXItYmFubmllcmVfY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBwYWRkaW5nOiAxMDBweCAwO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKipcclxuICAgTG9hZGVyIFNwaW5uZXJcclxuICovXG4uc3Bpbm5lci1kdWFsLXJpbmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA2NHB4O1xuICBoZWlnaHQ6IDY0cHg7XG59XG5cbi5zcGlubmVyLWR1YWwtcmluZzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDQ2cHg7XG4gIGhlaWdodDogNDZweDtcbiAgbWFyZ2luOiAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiA1cHggc29saWQgI0NDNjYwMDtcbiAgYm9yZGVyLWNvbG9yOiAjQ0M2NjAwIHRyYW5zcGFyZW50ICNDQzY2MDAgdHJhbnNwYXJlbnQ7XG4gIGFuaW1hdGlvbjogbGRzLWR1YWwtcmluZyAxLjJzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBsZHMtZHVhbC1yaW5nIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuLyoqXHJcbiAgIFN0eWxlIGR1IGJvdXRvblxyXG4gKi9cbi5tZGMtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY29sb3I6ICNDQzY2MDA7XG59XG5cbi5tZGMtYnV0dG9uLS1vdXRsaW5lZDpub3QoOmRpc2FibGVkKSB7XG4gIGJvcmRlci1jb2xvcjogI0NDNjYwMDtcbn1cblxuLm1kYy1idXR0b246OmJlZm9yZSwgLm1kYy1idXR0b246OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NDNjYwMDtcbn1cblxuLm1kYy1idXR0b24tLXJhaXNlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQzY2MDAgIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxyXG4gICBCYW5kZWF1IEFsZXJ0IENvb2tpZXNcclxuICovXG4uYWxlcnQtY29va2llcyB7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzU3M0QxQztcbiAgYm9yZGVyLXRvcDogc29saWQgMnB4ICNDQzY2MDA7XG4gIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmFsZXJ0LWNvb2tpZXMgcCB7XG4gIGZsZXg6IDQ7XG59XG5cbi5hbGVydC1jb29raWVzX2FjdGlvbnMge1xuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5hbGVydC1jb29raWVzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi8qKlxyXG4gICBUb29sVGlwXHJcbiAqL1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50b29sdGlwIC50b29sdGlwdGV4dCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IGNhbGMoMTAwJSArIDEwcHgpO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICB3aWR0aDogMTIwcHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzg5MDlDO1xufVxuXG4udG9vbHRpcCAudG9vbHRpcHRleHQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIGJvcmRlci13aWR0aDogNXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM3ODkwOUMgdHJhbnNwYXJlbnQ7XG59XG5cbi50b29sdGlwOmhvdmVyIC50b29sdGlwdGV4dCB7XG4gIGFuaW1hdGlvbjogdG9vbHRpcC1hbmltYXRpb24gZWFzZS1pbi1vdXQgMC4zcztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbn1cblxuQGtleWZyYW1lcyB0b29sdGlwLWFuaW1hdGlvbiB7XG4gIGZyb20ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLyoqXHJcbiAgICBIRUFERVJcclxuICovXG5oZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcbn1cblxuLyoqXHJcbiAgIExvZ28gSm9sbGV0IGRhbnMgbGUgaGVhZGVyXHJcbiovXG4uaGVhZGVyX2xvZ28ge1xuICBoZWlnaHQ6IDcwcHg7XG59XG5cbi5oZWFkZXJfbG9nbyBzdmcge1xuICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5oZWFkZXJfbG9nbyBsYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAzNXB4O1xufVxuXG4uaGVhZGVyX2xvZ28gbGFiZWwgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjVweDtcbiAgbWFyZ2luOiA1cHggMDtcbn1cblxuLmhlYWRlcl9sb2dvIGxhYmVsIHNwYW46YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU3M0QxQztcbn1cblxuLyoqXHJcbiAgIEJ1cmdlciBtZW51IGR1IG1vZGUgdMOpbMOpcGhvbmVcclxuKi9cbiNoZWFkZXJfdG9nZ2xlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI2hlYWRlcl90b2dnbGU6Y2hlY2tlZCArIC5oZWFkZXJfbG9nbyBsYWJlbCBzcGFuOm50aC1jaGlsZCgxKTphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICB0b3A6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4jaGVhZGVyX3RvZ2dsZTpjaGVja2VkICsgLmhlYWRlcl9sb2dvIGxhYmVsIHNwYW46bnRoLWNoaWxkKDIpOmFmdGVyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4jaGVhZGVyX3RvZ2dsZTpjaGVja2VkICsgLmhlYWRlcl9sb2dvIGxhYmVsIHNwYW46bnRoLWNoaWxkKDMpOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICB0b3A6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4vKipcclxuICAgTWVudSBkZSBuYXZpZ2F0aW9uXHJcbiovXG4uaGVhZGVyX25hdi1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICM1NzNEMUM7XG59XG5cbi5oZWFkZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDI1cHggMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmhlYWRlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zIGxpIHtcbiAgbWluLXdpZHRoOiAxNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LWZhbWlseTogXCJQVCBTZXJpZlwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbn1cblxuLmhlYWRlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zIGxpIGEge1xuICBjb2xvcjogIzU3M0QxQztcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzU3M0QxQyAwJSwgIzU3M0QxQyAycHgsIHRyYW5zcGFyZW50IDJweCkgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDAgMTAwJTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIDAuM3M7XG59XG5cbi5oZWFkZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtcyBsaSBhLmFjdGl2ZSwgLmhlYWRlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zIGxpIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLyoqXHJcbiAgIFBhbmllciBkZSBsYSBib3V0aXF1ZSBcclxuICAgKHZpc2libGUgcXVlIGRhbnMgbGEgYm91dGlxdWUpXHJcbiovXG4uaGVhZGVyX2Jhc2tldCB7XG4gIG1hcmdpbjogMCAxNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDVweDtcbn1cblxuLmhlYWRlcl9iYXNrZXQgLmNvdW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDYzMDMwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi5oZWFkZXJfYmFza2V0X2VtcHR5IC5jb3VudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oZWFkZXJfYmFza2V0X3VwIC5jb3VudCB7XG4gIGFuaW1hdGlvbjogY291bnQtem9vbSAzcyBmb3J3YXJkcyAxO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhlYWRlcl9iYXNrZXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjb3VudC16b29tIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbi8qKlxyXG4gICBTUEVDSUFMIFBPVVIgTEEgSE9NRSBQQUdFXHJcbiAqL1xuaGVhZGVyLmhlYWRlcl9faG9tZS1wYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDYwMHB4O1xuICByaWdodDogMDtcbn1cblxuaGVhZGVyLmhlYWRlcl9faG9tZS1wYWdlIC5oZWFkZXJfbG9nbyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmhlYWRlci5oZWFkZXJfX2hvbWUtcGFnZSAuaGVhZGVyX25hdi1iYXIge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbmhlYWRlci5oZWFkZXJfX2hvbWUtcGFnZSAuaGVhZGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXMge1xuICBtYXJnaW46IDMwcHggMCAwO1xufVxuXG5oZWFkZXIuaGVhZGVyX19ob21lLXBhZ2UgLmhlYWRlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zIGEge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICNmZmYgMCUsICNmZmYgMnB4LCB0cmFuc3BhcmVudCAycHgpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAwIDEwMCU7XG59XG5cbmhlYWRlci5oZWFkZXJfX2hvbWUtcGFnZSAuaGVhZGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXMgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgaGVhZGVyLmhlYWRlcl9faG9tZS1wYWdlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMjtcbiAgfVxuICBoZWFkZXIuaGVhZGVyX19ob21lLXBhZ2UgLmhlYWRlcl9sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIGhlYWRlci5oZWFkZXJfX2hvbWUtcGFnZSAuaGVhZGVyX25hdi1iYXIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuICBoZWFkZXIuaGVhZGVyX19ob21lLXBhZ2UgLmhlYWRlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zIHtcbiAgICBtYXJnaW46IDAgMCAyNXB4IDA7XG4gIH1cbiAgaGVhZGVyLmhlYWRlcl9faG9tZS1wYWdlIC5oZWFkZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtcyBhIHtcbiAgICBjb2xvcjogIzU3M0QxQztcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjNTczRDFDIDAlLCAjNTczRDFDIDJweCwgdHJhbnNwYXJlbnQgMnB4KSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwIDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIDAuM3M7XG4gIH1cbiAgaGVhZGVyLmhlYWRlcl9faG9tZS1wYWdlIC5oZWFkZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtcyBhLmFjdGl2ZSwgaGVhZGVyLmhlYWRlcl9faG9tZS1wYWdlIC5oZWFkZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtcyBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgfVxufVxuXG4vKipcclxuICAgUkVTUE9OU0lWRVxyXG4gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGVhZGVyX2xvZ28gbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5oZWFkZXJfbmF2LWJhciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDBweDtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlLW91dDtcbiAgfVxuICAuaGVhZGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgLmhlYWRlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zIGxpIHtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxuICAjaGVhZGVyX3RvZ2dsZTpjaGVja2VkIH4gLmhlYWRlcl9uYXYtYmFyIHtcbiAgICBoZWlnaHQ6IDIxNXB4O1xuICB9XG59XG5cbmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NzNEMUM7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuZm9vdGVyIC50ZXh0LWNlbnRlciB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQsIFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5mb290ZXJfbmF2LWJhciAuZm9vdGVyX2xvZ28gc3ZnIHtcbiAgaGVpZ2h0OiA1OXB4O1xufVxuXG4uZm9vdGVyX25hdi1iYXIgLmZvb3Rlcl9sb2dvIHN2ZyAqIHtcbiAgZmlsbDogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmZvb3Rlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAyNXB4IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5mb290ZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtcyBsaSB7XG4gIG1pbi13aWR0aDogMTUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQsIFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5mb290ZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtcyBsaSBhIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uZm9vdGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXMgbGkgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uZm9vdGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXMgbGkgc3ZnIHtcbiAgbWF4LXdpZHRoOiAzMHB4O1xufVxuXG4uZm9vdGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXMgbGk6bnRoLWNoaWxkKDEpIGE6aG92ZXIgKiB7XG4gIGZpbGw6IGNvcm5mbG93ZXJibHVlICFpbXBvcnRhbnQ7XG59XG5cbi5mb290ZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtcyBsaTpudGgtY2hpbGQoMikgYTpob3ZlciAqIHtcbiAgZmlsbDogYmVpZ2UgIWltcG9ydGFudDtcbn1cblxuLmZvb3Rlcl9uYXYtYmFyIC5uYXYtYmFyX3BheW1lbnQtbWV0aG9kcyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5mb290ZXJfbmF2LWJhciAubmF2LWJhcl9wYXltZW50LW1ldGhvZHMgaW1nIHtcbiAgbWF4LWhlaWdodDogNTBweDtcbiAgbWF4LXdpZHRoOiAxMjBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5mb290ZXJfbmF2LWJhciAubmF2LWJhcl9wYXltZW50LW1ldGhvZHMge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuLyoqXHJcbiAgIFJFU1BPTlNJVkVcclxuICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmZvb3Rlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zOm50aC1jaGlsZCgyKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuZm9vdGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXM6bnRoLWNoaWxkKDIpIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG59XG5cbi5tZGMtdG91Y2gtdGFyZ2V0LXdyYXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRoIHtcbiAgMCUsXG4gIDUwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDI5Ljc4MzM0O1xuICB9XG4gIDUwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIHtcbiAgMCUsXG4gIDY4LjIlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgfVxuICA2OC4yJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAsIDEpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWNoZWNrZWQtdW5jaGVja2VkLWNoZWNrbWFyay1wYXRoIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogLTI5Ljc4MzM0O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1jaGVja21hcmsge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtY2hlY2ttYXJrIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTQsIDAsIDAsIDEpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IG1kYy1hbmltYXRpb24tZGVjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLW1peGVkbWFyayB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE0LCAwLCAwLCAxKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQtbWl4ZWRtYXJrIHtcbiAgMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDMyLjglLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5tZGMtY2hlY2tib3gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwIDE4cHg7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBsaW5lLWhlaWdodDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICBwYWRkaW5nOiAxMXB4O1xufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUsXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xufVxuXG5Ac3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbiAgLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG4gIH1cbn1cblxuLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTg3ODY7XG59XG5cbkBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICB9XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpob3ZlciAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCkgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmUgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xufVxuXG5Ac3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gIC5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsXG4gIC5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICB9XG59XG5cbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIHRvcDogMTFweDtcbiAgbGVmdDogMTFweDtcbn1cblxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICB0b3A6IC0xM3B4O1xuICBsZWZ0OiAtMTNweDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbn1cblxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbCB7XG4gIHRvcDogMHB4O1xuICByaWdodDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDE4Nzg2O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTg3ODY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC11OWU0YmE3Yzcge1xuICAwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIDUwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDE4Nzg2O1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTg3ODY7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmQtdTllNGJhN2M3IHtcbiAgMCUsXG4gIDgwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDE4Nzg2O1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTg3ODY7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICB9XG4gIDEwMCUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1jaGVja2VkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYW5pbWF0aW9uLW5hbWU6IG1kYy1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmQtdTllNGJhN2M3O1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWNoZWNrZWQtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAubWRjLWNoZWNrYm94LS1hbmltLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYW5pbWF0aW9uLW5hbWU6IG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLXU5ZTRiYTdjNztcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGlzYWJsZWRdOm5vdCg6Y2hlY2tlZCk6bm90KDppbmRldGVybWluYXRlKSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkaXNhYmxlZF06Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkaXNhYmxlZF06aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBib3JkZXItY29sb3I6ICNmZmY7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgbWFyZ2luOiAwIDFweDtcbiAgfVxufVxuXG4ubWRjLWNoZWNrYm94LS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgYm9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgd2lsbC1jaGFuZ2U6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCBib3JkZXItY29sb3IgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cblxuLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG5Ac3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXN1cmZhY2UsICMwMDApO1xuICB9XG59XG5cbi5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxODBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cblxuLm1kYy1jaGVja2JveC0tdXBncmFkZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgge1xuICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAxODBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gIHN0cm9rZS13aWR0aDogMy4xMnB4O1xuICBzdHJva2UtZGFzaG9mZnNldDogMjkuNzgzMzQ7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDI5Ljc4MzM0O1xufVxuXG4ubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKSByb3RhdGUoMGRlZyk7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSksIHRyYW5zZm9ybSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xufVxuXG4ubWRjLWNoZWNrYm94LS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveC0tdXBncmFkZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLFxuLm1kYy1jaGVja2JveC0tdXBncmFkZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgsXG4ubWRjLWNoZWNrYm94LS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAubWRjLWNoZWNrYm94LS1hbmltLWNoZWNrZWQtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMTgwbXM7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtY2hlY2tlZCAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRoIDE4MG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmsgOTBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC1jaGVja2VkLXVuY2hlY2tlZC1jaGVja21hcmstcGF0aCA5MG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLWNoZWNrbWFyayA5MG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayA5MG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1pbmRldGVybWluYXRlLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWNoZWNrbWFyayA1MDBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS1jaGVja2VkIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1taXhlZG1hcmsgNTAwbXMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFyayAzMDBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSksIGJhY2tncm91bmQtY29sb3IgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgge1xuICBzdHJva2UtZGFzaG9mZnNldDogMDtcbn1cblxuLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSksIHRyYW5zZm9ybSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpmb2N1cyB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDAuMTI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgODBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSksIHRyYW5zZm9ybSA4MG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgb3BhY2l0eTogMDtcbiAgY3Vyc29yOiBpbmhlcml0O1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3gtLXRvdWNoIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xuICBtYXJnaW4tbGVmdDogNHB4O1xufVxuXG4ubWRjLWNoZWNrYm94LS10b3VjaCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbCB7XG4gIHRvcDogLTRweDtcbiAgcmlnaHQ6IC00cHg7XG4gIGxlZnQ6IC00cHg7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTgwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCB0cmFuc2Zvcm0gMTgwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSksIHRyYW5zZm9ybSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtY2hlY2tib3gge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb24gLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbkBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSxcbiAgLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXN1cmZhY2UsICMwMDApO1xuICB9XG59XG5cbi5tZGMtY2hlY2tib3g6aG92ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA0O1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSwgLm1kYy1jaGVja2JveDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1jaGVja2JveDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuLm1kYy1jaGVja2JveDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZSAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gNTAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDUwJSk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIGNhbGMoNTAlIC0gNTAlKSk7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cblxuLm1kYy1jaGVja2JveF9fcmlwcGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi5tZGMtZm9ybS1maWVsZCwgLmZvcm1fY2hlY2tib3gtZ3JvdXAge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxNzg2ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQsIHJnYmEoMCwgMCwgMCwgMC44NykpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm1kYy1mb3JtLWZpZWxkID4gbGFiZWwsIC5mb3JtX2NoZWNrYm94LWdyb3VwID4gbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBvcmRlcjogMDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLWZvcm0tZmllbGQgPiBsYWJlbCwgW2Rpcj1cInJ0bFwiXSAuZm9ybV9jaGVja2JveC1ncm91cCA+IGxhYmVsLCAubWRjLWZvcm0tZmllbGQgPiBsYWJlbFtkaXI9XCJydGxcIl0sIC5mb3JtX2NoZWNrYm94LWdyb3VwID4gbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1mb3JtLWZpZWxkID4gbGFiZWwsIFtkaXI9XCJydGxcIl0gLmZvcm1fY2hlY2tib3gtZ3JvdXAgPiBsYWJlbCwgLm1kYy1mb3JtLWZpZWxkID4gbGFiZWxbZGlyPVwicnRsXCJdLCAuZm9ybV9jaGVja2JveC1ncm91cCA+IGxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDRweDtcbn1cblxuLm1kYy1mb3JtLWZpZWxkLS1hbGlnbi1lbmQgPiBsYWJlbCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gIG9yZGVyOiAtMTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLWZvcm0tZmllbGQtLWFsaWduLWVuZCA+IGxhYmVsLCAubWRjLWZvcm0tZmllbGQtLWFsaWduLWVuZCA+IGxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtZm9ybS1maWVsZC0tYWxpZ24tZW5kID4gbGFiZWwsIC5tZGMtZm9ybS1maWVsZC0tYWxpZ24tZW5kID4gbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ubWRjLWljb24tYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBwYWRkaW5nOiAxMnB4O1xufVxuXG4ubWRjLWljb24tYnV0dG9uIHN2Zyxcbi5tZGMtaWNvbi1idXR0b24gaW1nIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1kaXNhYmxlZC1vbi1saWdodCwgcmdiYSgwLCAwLCAwLCAwLjM4KSk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZGMtaWNvbi1idXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5tZGMtaWNvbi1idXR0b25fX2ljb24ubWRjLWljb24tYnV0dG9uX19pY29uLS1vbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZGMtaWNvbi1idXR0b24tLW9uIC5tZGMtaWNvbi1idXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWRjLWljb24tYnV0dG9uLS1vbiAubWRjLWljb24tYnV0dG9uX19pY29uLm1kYy1pY29uLWJ1dHRvbl9faWNvbi0tb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbjo6YmVmb3JlLCAubWRjLWljb24tYnV0dG9uOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbjo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuXG4ubWRjLWljb24tYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuXG4ubWRjLWljb24tYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbjo6YmVmb3JlLCAubWRjLWljb24tYnV0dG9uOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSA1MCUpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGNhbGMoNTAlIC0gNTAlKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUsIC5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCBjYWxjKDUwJSAtIDUwJSkpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG5cbi5tZGMtaWNvbi1idXR0b246OmJlZm9yZSwgLm1kYy1pY29uLWJ1dHRvbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG4ubWRjLWljb24tYnV0dG9uOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA0O1xufVxuXG4ubWRjLWljb24tYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAubWRjLWljb24tYnV0dG9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtaWNvbi1idXR0b246bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWljb24tYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1yYWRpbyB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtLCBib3JkZXItY29sb3IsIGNvbG9yO1xufVxuXG4ubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6bm90KDpjaGVja2VkKSArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxuXG4ubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6Y2hlY2tlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDE4Nzg2O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG59XG5cbi5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDE4Nzg2O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG59XG5cbi5tZGMtcmFkaW8gW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOm5vdCg6Y2hlY2tlZCkgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSxcbi5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQ6bm90KDpjaGVja2VkKSArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xufVxuXG4ubWRjLXJhZGlvIFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpjaGVja2VkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUsXG4ubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkOmNoZWNrZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbn1cblxuLm1kYy1yYWRpbyBbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2wgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSxcbi5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbn1cblxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xufVxuXG5Ac3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG4gIH1cbn1cblxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICB0b3A6IC0xMHB4O1xuICBsZWZ0OiAtMTBweDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbn1cblxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbCB7XG4gIHRvcDogMHB4O1xuICByaWdodDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbn1cblxuLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCB0cmFuc2Zvcm0gMTIwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG59XG5cbi5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTIwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG59XG5cbi5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICBib3JkZXItd2lkdGg6IDEwcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCBib3JkZXItY29sb3IgMTIwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG59XG5cbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogaW5oZXJpdDtcbiAgei1pbmRleDogMTtcbn1cblxuLm1kYy1yYWRpby0tdG91Y2gge1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG59XG5cbi5tZGMtcmFkaW8tLXRvdWNoIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sIHtcbiAgdG9wOiAtNHB4O1xuICByaWdodDogLTRweDtcbiAgbGVmdDogLTRweDtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbn1cblxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQsXG4ubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgdHJhbnNmb3JtIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn1cblxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlLFxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSxcbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTIwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCBib3JkZXItY29sb3IgMTIwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuXG4ubWRjLXJhZGlvLS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgYm9yZGVyLWNvbG9yIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn1cblxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kLFxuW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Zm9jdXMgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAwLjEyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgdHJhbnNmb3JtIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn1cblxuLm1kYy1yYWRpbyB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4ubWRjLXJhZGlvIC5tZGMtcmFkaW9fX3JpcHBsZTo6YmVmb3JlLFxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19yaXBwbGU6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWRjLXJhZGlvIC5tZGMtcmFkaW9fX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cblxuLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtcmFkaW9fX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbi5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLXJhZGlvX19yaXBwbGU6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG5cbi5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkIC5tZGMtcmFkaW9fX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuXG4ubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbiAubWRjLXJhZGlvX19yaXBwbGU6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiAyMjVtcyBmb3J3YXJkcywgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIDc1bXMgZm9yd2FyZHM7XG59XG5cbi5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb24gLm1kYy1yYWRpb19fcmlwcGxlOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLXJhZGlvIC5tZGMtcmFkaW9fX3JpcHBsZTo6YmVmb3JlLFxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19yaXBwbGU6OmFmdGVyIHtcbiAgdG9wOiBjYWxjKDUwJSAtIDUwJSk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogY2FsYyg1MCUgLSA1MCUpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQgLm1kYy1yYWRpb19fcmlwcGxlOjpiZWZvcmUsXG4ubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQgLm1kYy1yYWRpb19fcmlwcGxlOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIGNhbGMoNTAlIC0gNTAlKSk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCBjYWxjKDUwJSAtIDUwJSkpO1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuXG4ubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQgLm1kYy1yYWRpb19fcmlwcGxlOjphZnRlciB7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG5cbi5tZGMtcmFkaW8gLm1kYy1yYWRpb19fcmlwcGxlOjpiZWZvcmUsXG4ubWRjLXJhZGlvIC5tZGMtcmFkaW9fX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xufVxuXG5Ac3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fcmlwcGxlOjpiZWZvcmUsXG4gIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fcmlwcGxlOjphZnRlciB7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICB9XG59XG5cbi5tZGMtcmFkaW86aG92ZXIgLm1kYy1yYWRpb19fcmlwcGxlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA0O1xufVxuXG4ubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCAubWRjLXJhZGlvX19yaXBwbGU6OmJlZm9yZSwgLm1kYy1yYWRpbzpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIC5tZGMtcmFkaW9fX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1yYWRpbzpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpIC5tZGMtcmFkaW9fX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuLm1kYy1yYWRpbzpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZSAubWRjLXJhZGlvX19yaXBwbGU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi5tZGMtcmFkaW9fX3JpcHBsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQGtleWZyYW1lcyBtZGMtc2VsZWN0LWZsb2F0LW5hdGl2ZS1jb250cm9sIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLm1kYy1saW5lLXJpcHBsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgb3BhY2l0eSAxODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAyO1xufVxuXG4ubWRjLWxpbmUtcmlwcGxlLS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1kYy1saW5lLXJpcHBsZS0tZGVhY3RpdmF0aW5nIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1ub3RjaGVkLW91dGxpbmUsIC5tZGMtbm90Y2hlZC1vdXRsaW5lW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB3aWR0aDogMTJweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmdbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbn1cblxuLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgZmxleC1ncm93OiAxO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZywgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMnB4ICogMik7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxN3B4O1xuICBib3R0b206IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xufVxuXG4ubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAvIC43NSk7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lLS1uby1sYWJlbCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gge1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwOTM3ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgY29sb3IgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogMS4xNXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogdGV4dDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLWZsb2F0aW5nLWxhYmVsLCAubWRjLWZsb2F0aW5nLWxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogYXV0bztcbiAgLyogQG5vZmxpcCAqL1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgY3Vyc29yOiBhdXRvO1xufVxuXG4ubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwLjc1KTtcbn1cblxuLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2Uge1xuICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zdGFuZGFyZCAyNTBtcyAxO1xufVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zdGFuZGFyZCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MywgMC40OTU4Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMC43NSk7XG4gIH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0NCwgMC4zODEzNSwgMC41NSwgMC45NTYzNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gMCUpKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwJSkpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMC43NSk7XG4gIH1cbn1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgY29sb3I6ICMwMDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbn1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTZweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBvcGFjaXR5OiAwLjU0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5tZGMtc2VsZWN0X19pY29uOm5vdChbdGFiaW5kZXhdKSxcbi5tZGMtc2VsZWN0X19pY29uW3RhYmluZGV4PVwiLTFcIl0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzMzM2VtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgb3BhY2l0eTogMDtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbi5tZGMtc2VsZWN0LWhlbHBlci10ZXh0OjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDE2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xufVxuXG4ubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tcGVyc2lzdGVudCB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIG9wYWNpdHk6IDE7XG4gIHdpbGwtY2hhbmdlOiBpbml0aWFsO1xufVxuXG4ubWRjLXNlbGVjdCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDU2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybSwgY29sb3I7XG59XG5cbi5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVzbW9rZTtcbn1cblxuLm1kYy1zZWxlY3Q6OmJlZm9yZSwgLm1kYy1zZWxlY3Q6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWRjLXNlbGVjdDo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cblxuLm1kYy1zZWxlY3QubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbi5tZGMtc2VsZWN0Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG5cbi5tZGMtc2VsZWN0Lm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuXG4ubWRjLXNlbGVjdC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiAyMjVtcyBmb3J3YXJkcywgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIDc1bXMgZm9yd2FyZHM7XG59XG5cbi5tZGMtc2VsZWN0Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLXNlbGVjdDo6YmVmb3JlLCAubWRjLXNlbGVjdDo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gMTAwJSk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgd2lkdGg6IDIwMCU7XG4gIGhlaWdodDogMjAwJTtcbn1cblxuLm1kYy1zZWxlY3QubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuXG4ubWRjLXNlbGVjdDo6YmVmb3JlLCAubWRjLXNlbGVjdDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWRjLXNlbGVjdDpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4wNDtcbn1cblxuLm1kYy1zZWxlY3QubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC5tZGMtc2VsZWN0Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCxcbi5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40Mik7XG59XG5cbi5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpICsgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuXG4ubWRjLXNlbGVjdCwgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG59XG5cbi5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1saW5lLXJpcHBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MjAwZWU7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICM2MjAwZWUpO1xufVxuXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogcmdiYSg5OCwgMCwgMjM4LCAwLjg3KTtcbn1cblxuLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sOmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLm1kYy1zZWxlY3QgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwJSkgc2NhbGUoMC43NSk7XG59XG5cbi5tZGMtc2VsZWN0IC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG4gIHRvcDogMjFweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1zZWxlY3QgLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy1zZWxlY3QgLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDE2cHg7XG59XG5cbi5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDQ4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDQ4cHg7XG59XG5cbi5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDRweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbiAgdG9wOiAxN3B4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiA0cHg7XG59XG5cbi5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDM2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDM2cHg7XG59XG5cbi5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAzNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLCAubWRjLXNlbGVjdC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDM2cHg7XG59XG5cbi5tZGMtc2VsZWN0X19kcm9wZG93bi1pY29uIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTBweCUyMiUyMGhlaWdodCUzRCUyMjVweCUyMiUyMHZpZXdCb3glM0QlMjI3JTIwMTAlMjAxMCUyMDUlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwaWQlM0QlMjJTaGFwZSUyMiUyMHN0cm9rZSUzRCUyMm5vbmUlMjIlMjBmaWxsJTNEJTIyJTIzMDAwJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMG9wYWNpdHklM0QlMjIwLjU0JTIyJTIwcG9pbnRzJTNEJTIyNyUyMDEwJTIwMTIlMjAxNSUyMDE3JTIwMTAlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTNDJTJGc3ZnJTNFXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogYXV0bztcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogOHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTZweDtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0X19kcm9wZG93bi1pY29uLCAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbltkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogYXV0bztcbn1cblxuLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb24ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMHB4JTIyJTIwaGVpZ2h0JTNEJTIyNXB4JTIyJTIwdmlld0JveCUzRCUyMjclMjAxMCUyMDEwJTIwNSUyMiUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBpZCUzRCUyMlNoYXBlJTIyJTIwc3Ryb2tlJTNEJTIybm9uZSUyMiUyMGZpbGwlM0QlMjIlMjM2MjAwZWUlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwb3BhY2l0eSUzRCUyMjElMjIlMjBwb2ludHMlM0QlMjI3JTIwMTAlMjAxMiUyMDE1JTIwMTclMjAxMCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElM0MlMkZzdmclM0VcIikgbm8tcmVwZWF0IGNlbnRlcjtcbn1cblxuLm1kYy1zZWxlY3QtLWFjdGl2YXRlZCAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlWSgtNXB4KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuXG4ubWRjLXNlbGVjdC5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbGluZS1yaXBwbGU6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAyKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1kYy1zZWxlY3QgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0IHtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICBtYXJnaW4tbGVmdDogMTZweDtcbn1cblxuLm1kYy1zZWxlY3QtLWZvY3VzZWQgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dDpub3QoLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnKSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgcGFkZGluZy10b3A6IDIycHg7XG59XG5cbi5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCxcbi5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogNTJweDtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwOTM3ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDU2cHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLCAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2xbZGlyPVwicnRsXCJdLCBbZGlyPVwicnRsXCJdXG4ubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCxcbi5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0W2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiA1MnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDo6LW1zLWV4cGFuZCxcbi5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sOjotbXMtdmFsdWUsXG4ubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dDo6LW1zLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KFwiXCIpIHtcbiAgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgdGV4dC1pbmRlbnQ6IC0ycHg7XG4gIH1cbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgYm9yZGVyOiBub25lO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci13aWR0aDogMnB4O1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzYyMDBlZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjNjIwMGVlKTtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZCAyNTBtcyAxO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmdbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOjpiZWZvcmUsIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDo6YWZ0ZXIge1xuICBjb250ZW50OiBub25lO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDQlKSBzY2FsZSgxKTtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDUycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiAxMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogMTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLCAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sW2Rpcj1cInJ0bFwiXSwgW2Rpcj1cInJ0bFwiXVxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0LFxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0W2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiA1MnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2ljb24ge1xuICB6LWluZGV4OiAyO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1cmVtO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4ubWRjLXNlbGVjdC0taW52YWxpZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWxpbmUtcmlwcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogI2IwMDAyMDtcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0taW52YWxpZCArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0LS12YWxpZGF0aW9uLW1zZyB7XG4gIGNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6aG92ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG59XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb24ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMHB4JTIyJTIwaGVpZ2h0JTNEJTIyNXB4JTIyJTIwdmlld0JveCUzRCUyMjclMjAxMCUyMDEwJTIwNSUyMiUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBpZCUzRCUyMlNoYXBlJTIyJTIwc3Ryb2tlJTNEJTIybm9uZSUyMiUyMGZpbGwlM0QlMjIlMjNiMDAwMjAlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwb3BhY2l0eSUzRCUyMjElMjIlMjBwb2ludHMlM0QlMjI3JTIwMTAlMjAxMiUyMDE1JTIwMTclMjAxMCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElM0MlMkZzdmclM0VcIikgbm8tcmVwZWF0IGNlbnRlcjtcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWRjLXNlbGVjdC0tcmVxdWlyZWQgLm1kYy1mbG9hdGluZy1sYWJlbDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIipcIjtcbn1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM3KTtcbn1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkIC5tZGMtc2VsZWN0X19kcm9wZG93bi1pY29uIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTBweCUyMiUyMGhlaWdodCUzRCUyMjVweCUyMiUyMHZpZXdCb3glM0QlMjI3JTIwMTAlMjAxMCUyMDUlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwaWQlM0QlMjJTaGFwZSUyMiUyMHN0cm9rZSUzRCUyMm5vbmUlMjIlMjBmaWxsJTNEJTIyJTIzMDAwJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMG9wYWNpdHklM0QlMjIwLjM3JTIyJTIwcG9pbnRzJTNEJTIyNyUyMDEwJTIwMTIlMjAxNSUyMDE3JTIwMTAlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTNDJTJGc3ZnJTNFXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG59XG5cbi5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLWxpbmUtcmlwcGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNyk7XG59XG5cbi5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4ubWRjLXNlbGVjdC0tZGlzYWJsZWQgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM3KTtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xufVxuXG4ubWRjLXNlbGVjdC0tZGlzYWJsZWQgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tZGMtc2VsZWN0LS1kaXNhYmxlZC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4ubWRjLXNlbGVjdC0tZGlzYWJsZWQubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBub25lO1xufVxuXG4ubWRjLXNlbGVjdC0tZGlzYWJsZWQubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXNlbGVjdC0tZGlzYWJsZWQubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy1zZWxlY3QtLWRpc2FibGVkLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE2KTtcbn1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9faWNvbiwgLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogMTZweDtcbn1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCxcbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDMycHg7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCwgLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbFtkaXI9XCJydGxcIl0sIFtkaXI9XCJydGxcIl1cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCxcbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMzJweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xufVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NCUpIHRyYW5zbGF0ZVgoLTMycHgpIHNjYWxlKDEpO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSwgLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlW2Rpcj1cInJ0bFwiXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ0JSkgdHJhbnNsYXRlWCgzMnB4KSBzY2FsZSgxKTtcbn1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMzAlKSB0cmFuc2xhdGVYKC0zMnB4KSBzY2FsZSgwLjc1KTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0sIFtkaXI9XCJydGxcIl1cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlW2Rpcj1cInJ0bFwiXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTMwJSkgdHJhbnNsYXRlWCgzMnB4KSBzY2FsZSgwLjc1KTtcbn1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtc2VsZWN0LW91dGxpbmVkLWxlYWRpbmctaWNvbiAyNTBtcyAxO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSwgLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkW2Rpcj1cInJ0bFwiXSAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXNlbGVjdC1vdXRsaW5lZC1sZWFkaW5nLWljb24tcnRsIDI1MG1zIDE7XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdC1pdGVtX190ZXh0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMzJweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QtaXRlbV9fdGV4dCwgLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0LWl0ZW1fX3RleHRbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMzJweDtcbn1cblxuLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZCB7XG4gIGNvbG9yOiAjMDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc3VyZmFjZSwgIzAwMCk7XG59XG5cbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6OmJlZm9yZSwgLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG5Ac3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gIC5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6OmJlZm9yZSwgLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YWZ0ZXIge1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc3VyZmFjZSwgIzAwMCk7XG4gIH1cbn1cblxuLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4wNDtcbn1cblxuLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSwgLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG5cbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7XG59XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXNlbGVjdC1vdXRsaW5lZC1sZWFkaW5nLWljb24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDMycHgpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMsIDAuNDk1ODIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gMzJweCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDQsIDAuMzgxMzUsIDAuNTUsIDAuOTU2MzUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIDMycHgpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMzJweCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXNlbGVjdC1vdXRsaW5lZC1sZWFkaW5nLWljb24tcnRsIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAtMzJweCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MywgMC40OTU4Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAtMzJweCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDQsIDAuMzgxMzUsIDAuNTUsIDAuOTU2MzUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIC0zMnB4KSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIC0zMnB4KSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7XG4gIH1cbn1cblxuLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzMzMzZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBvcGFjaXR5OiAwO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0OjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDE2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xufVxuXG4ubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtLXBlcnNpc3RlbnQge1xuICB0cmFuc2l0aW9uOiBub25lO1xuICBvcGFjaXR5OiAxO1xuICB3aWxsLWNoYW5nZTogaW5pdGlhbDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzMzMzZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXI6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMTZweDtcbiAgY29udGVudDogXCJcIjtcbiAgdmVydGljYWwtYWxpZ246IDA7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyLCAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXJbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyLCAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXJbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb24sXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubWRjLXRleHQtZmllbGRfX2ljb246bm90KFt0YWJpbmRleF0pLFxuLm1kYy10ZXh0LWZpZWxkX19pY29uW3RhYmluZGV4PVwiLTFcIl0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLXRleHQtZmllbGQge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogNTZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtLCBjb2xvcjtcbn1cblxuLm1kYy10ZXh0LWZpZWxkOjpiZWZvcmUsIC5tZGMtdGV4dC1maWVsZDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5tZGMtdGV4dC1maWVsZDo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLXRleHQtZmllbGQubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuXG4ubWRjLXRleHQtZmllbGQubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzO1xufVxuXG4ubWRjLXRleHQtZmllbGQubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbi5tZGMtdGV4dC1maWVsZDo6YmVmb3JlLCAubWRjLXRleHQtZmllbGQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA0O1xufVxuXG4ubWRjLXRleHQtZmllbGQubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLXRleHQtZmllbGQ6OmJlZm9yZSwgLm1kYy10ZXh0LWZpZWxkOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuXG4ubWRjLXRleHQtZmllbGQubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuXG4ubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuXG4ubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBjYXJldC1jb2xvcjogIzYyMDBlZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjYXJldC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICM2MjAwZWUpO1xufVxuXG4ubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLW91dGxpbmVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40Mik7XG59XG5cbi5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkIC5tZGMtbGluZS1yaXBwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjIwMGVlO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjNjIwMGVlKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyLFxuLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZSAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuXG4ubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxuXG4ubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVzbW9rZTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG4gIHRvcDogMThweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtdGV4dC1maWVsZCAubWRjLWZsb2F0aW5nLWxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogMTZweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiA0cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsLCAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiA0cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogNHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xuICB0b3A6IDE3cHg7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLCAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiA0cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDM2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDM2cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiA0MHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLCAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDQwcHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDA5MzdlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDIwcHggMTZweCA2cHg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5tZGMtdGV4dC1maWVsZF9faW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA2N21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIG9wYWNpdHk6IDA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxuXG4ubWRjLXRleHQtZmllbGRfX2lucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpICFpbXBvcnRhbnQ7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZnVsbHdpZHRoIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6OnBsYWNlaG9sZGVyLFxuLm1kYy10ZXh0LWZpZWxkLS1uby1sYWJlbCAubWRjLXRleHQtZmllbGRfX2lucHV0OjpwbGFjZWhvbGRlcixcbi5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLXRleHQtZmllbGRfX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDQwbXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDExMG1zO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWRjLXRleHQtZmllbGRfX2lucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkX19pbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgei1pbmRleDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW5vLWxhYmVsOm5vdCgubWRjLXRleHQtZmllbGQtLW91dGxpbmVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkX19pbnB1dDotd2Via2l0LWF1dG9maWxsICsgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwLjc1KTtcbiAgY3Vyc29yOiBhdXRvO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIHtcbiAgYm9yZGVyOiBub25lO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjIwMGVlO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICM2MjAwZWUpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZCAyNTBtcyAxO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLCAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZywgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmdbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ0JSkgc2NhbGUoMSk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDo6YmVmb3JlLCAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOjphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDEycHggMTZweCAxNHB4O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgei1pbmRleDogMjtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNik7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSB7XG4gIGhlaWdodDogNDhweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzNCUpIHNjYWxlKDEpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZS5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwJSkgc2NhbGUoMC44KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZSAyNTBtcyAxO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgcGFkZGluZzogMTJweCAxMnB4IDdweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIHRvcDogMTRweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgdG9wOiAxMnB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAxNnB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pbnB1dCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2lucHV0W2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogNDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDQ4cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2ljb24sIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faWNvbltkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDE2cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXRbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogNDhweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NCUpIHRyYW5zbGF0ZVgoLTMycHgpIHNjYWxlKDEpO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NCUpIHRyYW5zbGF0ZVgoMzJweCkgc2NhbGUoMSk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTMwJSkgdHJhbnNsYXRlWCgtMzJweCkgc2NhbGUoMC43NSk7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlW2Rpcj1cInJ0bFwiXSwgW2Rpcj1cInJ0bFwiXVxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlW2Rpcj1cInJ0bFwiXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTMwJSkgdHJhbnNsYXRlWCgzMnB4KSBzY2FsZSgwLjc1KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24gMjUwbXMgMTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWRbZGlyPVwicnRsXCJdIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24tcnRsIDI1MG1zIDE7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDM2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDM2cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTM0JSkgdHJhbnNsYXRlWCgtMjFweCkgc2NhbGUoMSk7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmVbZGlyPVwicnRsXCJdIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMzQlKSB0cmFuc2xhdGVYKDIxcHgpIHNjYWxlKDEpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBmb250LXNpemU6IDAuOHJlbTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwJSkgdHJhbnNsYXRlWCgtMjFweCkgc2NhbGUoMC44KTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZS5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0sIFtkaXI9XCJydGxcIl1cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlW2Rpcj1cInJ0bFwiXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwJSkgdHJhbnNsYXRlWCgyMXB4KSBzY2FsZSgwLjgpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2Uge1xuICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0LWZpZWxkLW91dGxpbmVkLWxlYWRpbmctaWNvbi1kZW5zZSAyNTBtcyAxO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlW2Rpcj1cInJ0bFwiXSAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLWRlbnNlLXJ0bCAyNTBtcyAxO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMzJweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAzMnB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDEycHg7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uLCAubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxMnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogNDhweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2lucHV0LCAubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2lucHV0W2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDE2cHg7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faWNvbltkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogNDhweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXRbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogYXV0bztcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogYXV0bztcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogMTZweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbiB+IC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDEycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogYXV0bztcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uIH4gLm1kYy10ZXh0LWZpZWxkX19pY29uLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uIH4gLm1kYy10ZXh0LWZpZWxkX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMTJweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2lucHV0LCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pbnB1dFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24sXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgYm90dG9tOiAxNnB4O1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMTJweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24sIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbltkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDEycHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNDRweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faW5wdXQsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faW5wdXRbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogNDRweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogNDRweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogNDRweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogMTJweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uLCAubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMTJweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA0NHB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2lucHV0LCAubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pbnB1dFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNDRweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMTJweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogYXV0bztcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBhdXRvO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAxMnB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiB+IC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDEycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogYXV0bztcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiB+IC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24gfiAubWRjLXRleHQtZmllbGRfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogYXV0bztcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxMnB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNDRweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA0NHB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2lucHV0W2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDQ0cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwJSkgc2NhbGUoMC44KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtZGVuc2UgMjUwbXMgMTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgcGFkZGluZzogMTJweCAxMnB4IDA7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogLjgxM3JlbTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGZvbnQtc2l6ZTogLjgxM3JlbTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyLFxuLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgY29udGVudDogXCIqXCI7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzYyMDBlZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjNjIwMGVlKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQgMjUwbXMgMTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZ1tkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6OmJlZm9yZSwgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTo6YWZ0ZXIge1xuICBjb250ZW50OiBub25lO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDQlKSBzY2FsZSgxKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlciB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogMTZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEzcHg7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIsIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgYWxpZ24tc2VsZjogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDhweCAxcHggMXB4IDA7XG4gIHBhZGRpbmc6IDAgMTZweCAxNnB4O1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyICsgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICB0b3A6IDE3cHg7XG4gIGJvdHRvbTogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci13aWR0aDogMnB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWZ1bGx3aWR0aCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWZ1bGx3aWR0aDpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1mdWxsd2lkdGg6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpOjpiZWZvcmUsIC5tZGMtdGV4dC1maWVsZC0tZnVsbHdpZHRoOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKTo6YWZ0ZXIge1xuICBjb250ZW50OiBub25lO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWZ1bGx3aWR0aDpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSk6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZnVsbHdpZHRoOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1mdWxsd2lkdGgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWZ1bGx3aWR0aC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUge1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZCArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbn1cblxuLm1kYy1mb3JtLWZpZWxkID4gLm1kYy10ZXh0LWZpZWxkICsgbGFiZWwsIC5mb3JtX2NoZWNrYm94LWdyb3VwID4gLm1kYy10ZXh0LWZpZWxkICsgbGFiZWwge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWZvY3VzZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogcmdiYSg5OCwgMCwgMjM4LCAwLjg3KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlcixcbi5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDo6YWZ0ZXIge1xuICBjb2xvcjogcmdiYSg5OCwgMCwgMjM4LCAwLjg3KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dDpub3QoLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LS12YWxpZGF0aW9uLW1zZykge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzYyMDBlZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjNjIwMGVlKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbGluZS1yaXBwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cge1xuICBjb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBjYXJldC1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjYXJldC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1mbG9hdGluZy1sYWJlbDo6YWZ0ZXIsXG4ubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlciB7XG4gIGNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWludmFsaWQubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbjpub3QoLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbik6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIGNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWludmFsaWQubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb246bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbiB+IC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIGNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWludmFsaWQgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LS12YWxpZGF0aW9uLW1zZyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNik7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzcpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM3KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZSAubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM3KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIsXG4ubWRjLXRleHQtZmllbGQtLWRpc2FibGVkICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIC5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzcpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDYpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuQGtleWZyYW1lcyBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1kZW5zZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC03MCUpIHNjYWxlKDAuOCk7XG4gIH1cbiAgMzMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjcwMTczLCAwLjQ5NTgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIDAlKSkgdHJhbnNsYXRlWSgtNzAlKSBzY2FsZSgwLjgpO1xuICB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDQsIDAuMzgxMzUsIDAuNTUsIDAuOTU2MzUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIDAlKSkgdHJhbnNsYXRlWSgtNzAlKSBzY2FsZSgwLjgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwJSkpIHRyYW5zbGF0ZVkoLTcwJSkgc2NhbGUoMC44KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0LWZpZWxkLW91dGxpbmVkIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwJSkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MywgMC40OTU4Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDQsIDAuMzgxMzUsIDAuNTUsIDAuOTU2MzUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIDAlKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDAlKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC0xMjAlKSBzY2FsZSgwLjgpO1xuICB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MywgMC40OTU4Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7XG4gIH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0NCwgMC4zODEzNSwgMC41NSwgMC45NTYzNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gMCUpKSB0cmFuc2xhdGVZKC0xMjAlKSBzY2FsZSgwLjgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwJSkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDApKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMsIDAuNDk1ODIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gMCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDQsIDAuMzgxMzUsIDAuNTUsIDAuOTU2MzUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIDApKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLWRlbnNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAyMXB4KSkgdHJhbnNsYXRlWSgtMTIwJSkgc2NhbGUoMC44KTtcbiAgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMsIDAuNDk1ODIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gMjFweCkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7XG4gIH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0NCwgMC4zODEzNSwgMC41NSwgMC45NTYzNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gMjFweCkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDIxcHgpKSB0cmFuc2xhdGVZKC0xMjAlKSBzY2FsZSgwLjgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLXJ0bCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MywgMC40OTU4Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAwKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7XG4gIH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0NCwgMC4zODEzNSwgMC41NSwgMC45NTYzNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gMCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24tZGVuc2UtcnRsIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAtMjFweCkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7XG4gIH1cbiAgMzMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjcwMTczLCAwLjQ5NTgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIC0yMXB4KSkgdHJhbnNsYXRlWSgtMTIwJSkgc2NhbGUoMC44KTtcbiAgfVxuICA2NiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMwMjQ0LCAwLjM4MTM1LCAwLjU1LCAwLjk1NjM1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAtMjFweCkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIC0yMXB4KSkgdHJhbnNsYXRlWSgtMTIwJSkgc2NhbGUoMC44KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0YXJlYSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMsIDAuNDk1ODIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gMCUpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICA2NiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMwMjQ0LCAwLjM4MTM1LCAwLjU1LCAwLjk1NjM1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwJSkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG59XG5cbi8qKlxyXG4gICBTdHlsZSBDb2xvciBGb2N1cyBkZXMgSW5wdXRcclxuICovXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsLFxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlcixcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsOmFmdGVyLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1mbG9hdGluZy1sYWJlbCxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIge1xuICBjb2xvcjogcmdiYSgyMDQsIDEwMiwgMCwgMC44NykgIWltcG9ydGFudDtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjQ0M2NjAwO1xufVxuXG4vKipcclxuICAgU3R5bGUgVGV4dEZpZWxkXHJcbiAqL1xuLm1kYy10ZXh0LWZpZWxkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBjYXJldC1jb2xvcjogIzAwMDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgbWluLWhlaWdodDogMjUwcHg7XG4gIHBhZGRpbmc6IDEwcHggMjVweCAxNnB4O1xufVxuXG4vKipcclxuICAgU3R5bGUgU2VsZWN0XHJcbiAqL1xuLm1kYy1zZWxlY3QgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5tZGMtc2VsZWN0IGkubWF0ZXJpYWwtaWNvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogNXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2Utb3V0O1xufVxuXG4ubWRjLXNlbGVjdC5tZGMtc2VsZWN0LS1mb2N1c2VkIGkubWF0ZXJpYWwtaWNvbnMge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgY29sb3I6ICNDQzY2MDA7XG59XG5cbi8qKlxyXG4gICBGb3JtIEdsb2JhbFxyXG4gKi9cbi5tZGMtdGV4dC1maWVsZCxcbi5tZGMtc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5mb3JtIGgzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5mb3JtX2lucHV0LWdyb3VwIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi5mb3JtX2lucHV0LWdyb3VwID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmZvcm1faW5wdXQtZ3JvdXAgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uZm9ybV9pbnB1dC1ncm91cCA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZm9ybV9pbnB1dC1ncm91cCA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uZm9ybV9pbnB1dC1ncm91cCA+IGRpdjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5mb3JtX2lucHV0LWdyb3VwID4gZGl2Om5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uZm9ybV9jaGVja2JveC1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5mb3JtX2NoZWNrYm94LWdyb3VwIGxhYmVsIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uZm9ybV9yYWRpby1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xufVxuXG4uZm9ybV9ub3RpZiB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG1hcmdpbjogMTVweCAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogc29saWQgMXB4O1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAwLjllbTtcbn1cblxuLmZvcm1fbm90aWYuZm9ybV9ub3RpZl92YWxpZCB7XG4gIGNvbG9yOiAjMTU1NzI0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRlZGRhO1xuICBib3JkZXItY29sb3I6ICNjM2U2Y2I7XG59XG5cbi5mb3JtX25vdGlmLmZvcm1fbm90aWZfZXJyb3Ige1xuICBjb2xvcjogI2FiMmU0NjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZGRkZDtcbiAgYm9yZGVyLWNvbG9yOiAjZjVkZGRkO1xufVxuXG4uZm9ybV9ub3RpZi5mb3JtX25vdGlmX3dhcm5pbmcge1xuICBjb2xvcjogIzg1NjQwNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNjZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZlZWJhO1xufVxuXG4uZm9ybV9ub3RpZiB1bCB7XG4gIG1hcmdpbjogNXB4IDA7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbn1cblxuLmZvcm0gLmNob2ljZS1zaW1wbGUge1xuICBtYXJnaW46IDE1cHggMDtcbn1cblxuLmZvcm0gLmNob2ljZS1zaW1wbGUgaW5wdXRbdHlwZT1yYWRpb10ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZm9ybSAuY2hvaWNlLXNpbXBsZSBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwYWRkaW5nOiAxM3B4IDE3cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1NzNEMUM7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjNTczRDFDO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mb3JtIC5jaG9pY2Utc2ltcGxlIGxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDEwMiwgMCwgMC4xKTtcbn1cblxuLmZvcm0gLmNob2ljZS1zaW1wbGUgbGFiZWw6bnRoLWNoaWxkKDIpIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG59XG5cbi5mb3JtIC5jaG9pY2Utc2ltcGxlIGxhYmVsOmxhc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xufVxuXG4uZm9ybSAuY2hvaWNlLXNpbXBsZSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTczRDFDO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZm9ybSAuY2hvaWNlLXNpbXBsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmZvcm0gLmNob2ljZS1zaW1wbGUgbGFiZWwge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnbGcnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2xnLnR0Zj8yMnQxOW1cIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2xnLndvZmY/MjJ0MTltXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2xnLnN2Zz8yMnQxOW0jbGdcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7XG59XG5cbi5sZy1pY29uIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdsZycgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5ldmVyO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmxnLWFjdGlvbnMgLmxnLW5leHQsIC5sZy1hY3Rpb25zIC5sZy1wcmV2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjb2xvcjogIzk5OTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAyMnB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgcGFkZGluZzogOHB4IDEwcHggOXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB6LWluZGV4OiAxMDgwO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubGctYWN0aW9ucyAubGctbmV4dC5kaXNhYmxlZCwgLmxnLWFjdGlvbnMgLmxnLXByZXYuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4ubGctYWN0aW9ucyAubGctbmV4dDpob3ZlciwgLmxnLWFjdGlvbnMgLmxnLXByZXY6aG92ZXIge1xuICBjb2xvcjogI0ZGRjtcbn1cblxuLmxnLWFjdGlvbnMgLmxnLW5leHQge1xuICByaWdodDogMjBweDtcbn1cblxuLmxnLWFjdGlvbnMgLmxnLW5leHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTVcIjtcbn1cblxuLmxnLWFjdGlvbnMgLmxnLXByZXYge1xuICBsZWZ0OiAyMHB4O1xufVxuXG4ubGctYWN0aW9ucyAubGctcHJldjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlMDk0XCI7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsZy1yaWdodC1lbmQge1xuICAwJSB7XG4gICAgbGVmdDogMDtcbiAgfVxuICA1MCUge1xuICAgIGxlZnQ6IC0zMHB4O1xuICB9XG4gIDEwMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGxnLXJpZ2h0LWVuZCB7XG4gIDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgbGVmdDogLTMwcHg7XG4gIH1cbiAgMTAwJSB7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuXG5ALW1zLWtleWZyYW1lcyBsZy1yaWdodC1lbmQge1xuICAwJSB7XG4gICAgbGVmdDogMDtcbiAgfVxuICA1MCUge1xuICAgIGxlZnQ6IC0zMHB4O1xuICB9XG4gIDEwMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsZy1yaWdodC1lbmQge1xuICAwJSB7XG4gICAgbGVmdDogMDtcbiAgfVxuICA1MCUge1xuICAgIGxlZnQ6IC0zMHB4O1xuICB9XG4gIDEwMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxnLWxlZnQtZW5kIHtcbiAgMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBsZWZ0OiAzMHB4O1xuICB9XG4gIDEwMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGxnLWxlZnQtZW5kIHtcbiAgMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBsZWZ0OiAzMHB4O1xuICB9XG4gIDEwMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuQC1tcy1rZXlmcmFtZXMgbGctbGVmdC1lbmQge1xuICAwJSB7XG4gICAgbGVmdDogMDtcbiAgfVxuICA1MCUge1xuICAgIGxlZnQ6IDMwcHg7XG4gIH1cbiAgMTAwJSB7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxnLWxlZnQtZW5kIHtcbiAgMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBsZWZ0OiAzMHB4O1xuICB9XG4gIDEwMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuLmxnLW91dGVyLmxnLXJpZ2h0LWVuZCAubGctb2JqZWN0IHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGxnLXJpZ2h0LWVuZCAwLjNzO1xuICAtby1hbmltYXRpb246IGxnLXJpZ2h0LWVuZCAwLjNzO1xuICBhbmltYXRpb246IGxnLXJpZ2h0LWVuZCAwLjNzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sZy1vdXRlci5sZy1sZWZ0LWVuZCAubGctb2JqZWN0IHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGxnLWxlZnQtZW5kIDAuM3M7XG4gIC1vLWFuaW1hdGlvbjogbGctbGVmdC1lbmQgMC4zcztcbiAgYW5pbWF0aW9uOiBsZy1sZWZ0LWVuZCAwLjNzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sZy10b29sYmFyIHtcbiAgei1pbmRleDogMTA4MjtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xufVxuXG4ubGctdG9vbGJhciAubGctaWNvbiB7XG4gIGNvbG9yOiAjOTk5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBoZWlnaHQ6IDQ3cHg7XG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDUwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiBtZWRpdW0gbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMnMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBsaW5lYXI7XG59XG5cbi5sZy10b29sYmFyIC5sZy1pY29uOmhvdmVyIHtcbiAgY29sb3I6ICNGRkY7XG59XG5cbi5sZy10b29sYmFyIC5sZy1jbG9zZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlMDcwXCI7XG59XG5cbi5sZy10b29sYmFyIC5sZy1kb3dubG9hZDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlMGYyXCI7XG59XG5cbi5sZy1zdWItaHRtbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gIGJvdHRvbTogMDtcbiAgY29sb3I6ICNFRUU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMTBweCA0MHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwODA7XG59XG5cbi5sZy1zdWItaHRtbCBoNCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmxnLXN1Yi1odG1sIHAge1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbjogNXB4IDAgMDtcbn1cblxuI2xnLWNvdW50ZXIge1xuICBjb2xvcjogIzk5OTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy10b3A6IDEycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5sZy10b29sYmFyLCAubGctcHJldiwgLmxnLW5leHQge1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjM1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIGNvbG9yIDAuMnMgbGluZWFyO1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjM1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIGNvbG9yIDAuMnMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gMC4zNXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMzVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgY29sb3IgMC4ycyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4zNXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBjb2xvciAwLjJzIGxpbmVhcjtcbn1cblxuLmxnLWhpZGUtaXRlbXMgLmxnLXByZXYge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbn1cblxuLmxnLWhpZGUtaXRlbXMgLmxnLW5leHQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG59XG5cbi5sZy1oaWRlLWl0ZW1zIC5sZy10b29sYmFyIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG59XG5cbmJvZHk6bm90KC5sZy1mcm9tLWhhc2gpIC5sZy1vdXRlci5sZy1zdGFydC16b29tIC5sZy1vYmplY3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjUsIDAuNSwgMC41KTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNSwgMC41LCAwLjUpO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgIWltcG9ydGFudDtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpICFpbXBvcnRhbnQ7XG4gIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbn1cblxuYm9keTpub3QoLmxnLWZyb20taGFzaCkgLmxnLW91dGVyLmxnLXN0YXJ0LXpvb20gLmxnLWl0ZW0ubGctY29tcGxldGUgLmxnLW9iamVjdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5sZy1vdXRlciAubGctdGh1bWItb3V0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEQwQTBBO1xuICBib3R0b206IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwODA7XG4gIG1heC1oZWlnaHQ6IDM1MHB4O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzO1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcztcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcztcbn1cblxuLmxnLW91dGVyIC5sZy10aHVtYi1vdXRlci5sZy1ncmFiIC5sZy10aHVtYi1pdGVtIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogLW1vei1ncmFiO1xuICBjdXJzb3I6IC1vLWdyYWI7XG4gIGN1cnNvcjogLW1zLWdyYWI7XG4gIGN1cnNvcjogZ3JhYjtcbn1cblxuLmxnLW91dGVyIC5sZy10aHVtYi1vdXRlci5sZy1ncmFiYmluZyAubGctdGh1bWItaXRlbSB7XG4gIGN1cnNvcjogbW92ZTtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IC1tb3otZ3JhYmJpbmc7XG4gIGN1cnNvcjogLW8tZ3JhYmJpbmc7XG4gIGN1cnNvcjogLW1zLWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4ubGctb3V0ZXIgLmxnLXRodW1iLW91dGVyLmxnLWRyYWdnaW5nIC5sZy10aHVtYiB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDtcbn1cblxuLmxnLW91dGVyLmxnLXRodW1iLW9wZW4gLmxnLXRodW1iLW91dGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwJSwgMCk7XG59XG5cbi5sZy1vdXRlciAubGctdGh1bWIge1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogLTVweDtcbn1cblxuLmxnLW91dGVyIC5sZy10aHVtYi1pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsb2F0OiBsZWZ0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5sZy1vdXRlciAubGctdGh1bWItaXRlbSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4yNXMgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4yNXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4yNXMgZWFzZTtcbiAgfVxufVxuXG4ubGctb3V0ZXIgLmxnLXRodW1iLWl0ZW0uYWN0aXZlLCAubGctb3V0ZXIgLmxnLXRodW1iLWl0ZW06aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNhOTA3MDc7XG59XG5cbi5sZy1vdXRlciAubGctdGh1bWItaXRlbSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmxnLW91dGVyLmxnLWhhcy10aHVtYiAubGctaXRlbSB7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDtcbn1cblxuLmxnLW91dGVyLmxnLWNhbi10b2dnbGUgLmxnLWl0ZW0ge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmxnLW91dGVyLmxnLXB1bGwtY2FwdGlvbi11cCAubGctc3ViLWh0bWwge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvdHRvbSAwLjI1cyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBib3R0b20gMC4yNXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuMjVzIGVhc2U7XG59XG5cbi5sZy1vdXRlci5sZy1wdWxsLWNhcHRpb24tdXAubGctdGh1bWItb3BlbiAubGctc3ViLWh0bWwge1xuICBib3R0b206IDEwMHB4O1xufVxuXG4ubGctb3V0ZXIgLmxnLXRvZ2dsZS10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwRDBBMEE7XG4gIGJvcmRlci1yYWRpdXM6IDJweCAycHggMCAwO1xuICBjb2xvcjogIzk5OTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGhlaWdodDogMzlweDtcbiAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogLTM5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBvdXRsaW5lOiBtZWRpdW0gbm9uZTtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4ubGctb3V0ZXIgLmxnLXRvZ2dsZS10aHVtYjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlMWZmXCI7XG59XG5cbi5sZy1vdXRlciAubGctdG9nZ2xlLXRodW1iOmhvdmVyIHtcbiAgY29sb3I6ICNGRkY7XG59XG5cbi5sZy1vdXRlciAubGctdmlkZW8tY29udCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDVweDtcbn1cblxuLmxnLW91dGVyIC5sZy12aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmxnLW91dGVyIC5sZy12aWRlbyAubGctb2JqZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5sZy1vdXRlciAubGctdmlkZW8gLmxnLXZpZGVvLXBsYXkge1xuICB3aWR0aDogODRweDtcbiAgaGVpZ2h0OiA1OXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNDJweDtcbiAgbWFyZ2luLXRvcDogLTMwcHg7XG4gIHotaW5kZXg6IDEwODA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmxnLW91dGVyIC5sZy1oYXMtdmltZW8gLmxnLXZpZGVvLXBsYXkge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvdmltZW8tcGxheS5wbmdcIikgbm8tcmVwZWF0IHNjcm9sbCAwIDAgdHJhbnNwYXJlbnQ7XG59XG5cbi5sZy1vdXRlciAubGctaGFzLXZpbWVvOmhvdmVyIC5sZy12aWRlby1wbGF5IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3ZpbWVvLXBsYXkucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgMCAtNThweCB0cmFuc3BhcmVudDtcbn1cblxuLmxnLW91dGVyIC5sZy1oYXMtaHRtbDUgLmxnLXZpZGVvLXBsYXkge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWcvdmlkZW8tcGxheS5wbmdcIikgbm8tcmVwZWF0IHNjcm9sbCAwIDA7XG4gIGhlaWdodDogNjRweDtcbiAgbWFyZ2luLWxlZnQ6IC0zMnB4O1xuICBtYXJnaW4tdG9wOiAtMzJweDtcbiAgd2lkdGg6IDY0cHg7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLmxnLW91dGVyIC5sZy1oYXMtaHRtbDU6aG92ZXIgLmxnLXZpZGVvLXBsYXkge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubGctb3V0ZXIgLmxnLWhhcy15b3V0dWJlIC5sZy12aWRlby1wbGF5IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3lvdXR1YmUtcGxheS5wbmdcIikgbm8tcmVwZWF0IHNjcm9sbCAwIDAgdHJhbnNwYXJlbnQ7XG59XG5cbi5sZy1vdXRlciAubGctaGFzLXlvdXR1YmU6aG92ZXIgLmxnLXZpZGVvLXBsYXkge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcveW91dHViZS1wbGF5LnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgLTYwcHggdHJhbnNwYXJlbnQ7XG59XG5cbi5sZy1vdXRlciAubGctdmlkZW8tb2JqZWN0IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4ubGctb3V0ZXIgLmxnLWhhcy12aWRlbyAubGctdmlkZW8tb2JqZWN0IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ubGctb3V0ZXIgLmxnLWhhcy12aWRlby5sZy12aWRlby1wbGF5aW5nIC5sZy1vYmplY3QsIC5sZy1vdXRlciAubGctaGFzLXZpZGVvLmxnLXZpZGVvLXBsYXlpbmcgLmxnLXZpZGVvLXBsYXkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubGctb3V0ZXIgLmxnLWhhcy12aWRlby5sZy12aWRlby1wbGF5aW5nIC5sZy12aWRlby1vYmplY3Qge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4ubGctcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgaGVpZ2h0OiA1cHg7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTA4MztcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMDhzIGVhc2UgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjA4cyBlYXNlIDBzO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMDhzIGVhc2UgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4wOHMgZWFzZSAwcztcbn1cblxuLmxnLXByb2dyZXNzLWJhciAubGctcHJvZ3Jlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTkwNzA3O1xuICBoZWlnaHQ6IDVweDtcbiAgd2lkdGg6IDA7XG59XG5cbi5sZy1wcm9ncmVzcy1iYXIubGctc3RhcnQgLmxnLXByb2dyZXNzIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5sZy1zaG93LWF1dG9wbGF5IC5sZy1wcm9ncmVzcy1iYXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubGctYXV0b3BsYXktYnV0dG9uOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGUwMWRcIjtcbn1cblxuLmxnLXNob3ctYXV0b3BsYXkgLmxnLWF1dG9wbGF5LWJ1dHRvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFhXCI7XG59XG5cbi5sZy1vdXRlci5sZy1jc3MzLmxnLXpvb20tZHJhZ2dpbmcgLmxnLWl0ZW0ubGctY29tcGxldGUubGctem9vbWFibGUgLmxnLWltZy13cmFwLCAubGctb3V0ZXIubGctY3NzMy5sZy16b29tLWRyYWdnaW5nIC5sZy1pdGVtLmxnLWNvbXBsZXRlLmxnLXpvb21hYmxlIC5sZy1pbWFnZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xufVxuXG4ubGctb3V0ZXIubGctdXNlLXRyYW5zaXRpb24tZm9yLXpvb20gLmxnLWl0ZW0ubGctY29tcGxldGUubGctem9vbWFibGUgLmxnLWltZy13cmFwIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcztcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcztcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHM7XG59XG5cbi5sZy1vdXRlci5sZy11c2UtbGVmdC1mb3Item9vbSAubGctaXRlbS5sZy1jb21wbGV0ZS5sZy16b29tYWJsZSAubGctaW1nLXdyYXAge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIHRvcCAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcztcbiAgLW1vei10cmFuc2l0aW9uOiBsZWZ0IDAuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCB0b3AgMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHM7XG4gIC1vLXRyYW5zaXRpb246IGxlZnQgMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIHRvcCAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcztcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgdG9wIDAuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzO1xufVxuXG4ubGctb3V0ZXIgLmxnLWl0ZW0ubGctY29tcGxldGUubGctem9vbWFibGUgLmxnLWltZy13cmFwIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmxnLW91dGVyIC5sZy1pdGVtLmxnLWNvbXBsZXRlLmxnLXpvb21hYmxlIC5sZy1pbWFnZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4xNXMgIWltcG9ydGFudDtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjE1cyAhaW1wb3J0YW50O1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4xNXMgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMTVzICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuI2xnLXpvb20taW46YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTMxMVwiO1xufVxuXG4jbGctYWN0dWFsLXNpemUge1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbiNsZy1hY3R1YWwtc2l6ZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlMDMzXCI7XG59XG5cbiNsZy16b29tLW91dCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbiNsZy16b29tLW91dDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlMzEyXCI7XG59XG5cbi5sZy16b29tZWQgI2xnLXpvb20tb3V0IHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi5sZy1vdXRlciAubGctcGFnZXItb3V0ZXIge1xuICBib3R0b206IDYwcHg7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMTA4MDtcbiAgaGVpZ2h0OiAxMHB4O1xufVxuXG4ubGctb3V0ZXIgLmxnLXBhZ2VyLW91dGVyLmxnLXBhZ2VyLWhvdmVyIC5sZy1wYWdlci1jb250IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5sZy1vdXRlciAubGctcGFnZXItY29udCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIG1hcmdpbjogMCA1cHg7XG59XG5cbi5sZy1vdXRlciAubGctcGFnZXItY29udDpob3ZlciAubGctcGFnZXItdGh1bWItY29udCB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLmxnLW91dGVyIC5sZy1wYWdlci1jb250LmxnLXBhZ2VyLWFjdGl2ZSAubGctcGFnZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggd2hpdGUgaW5zZXQ7XG59XG5cbi5sZy1vdXRlciAubGctcGFnZXItdGh1bWItY29udCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjRkZGO1xuICBib3R0b206IDEwMCU7XG4gIGhlaWdodDogODNweDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLWxlZnQ6IC02MHB4O1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiA1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEyMHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlIDBzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjE1cyBlYXNlIDBzO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSAwcywgLW1vei10cmFuc2Zvcm0gMC4xNXMgZWFzZSAwcztcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlIDBzLCAtby10cmFuc2Zvcm0gMC4xNXMgZWFzZSAwcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlIDBzLCB0cmFuc2Zvcm0gMC4xNXMgZWFzZSAwcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbn1cblxuLmxnLW91dGVyIC5sZy1wYWdlci10aHVtYi1jb250IGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5sZy1vdXRlciAubGctcGFnZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogMCAwIDAgOHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSBpbnNldDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTJweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZSAwcztcbiAgLW8tdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzIGVhc2UgMHM7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBlYXNlIDBzO1xuICB3aWR0aDogMTJweDtcbn1cblxuLmxnLW91dGVyIC5sZy1wYWdlcjpob3ZlciwgLmxnLW91dGVyIC5sZy1wYWdlcjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDhweCB3aGl0ZSBpbnNldDtcbn1cblxuLmxnLW91dGVyIC5sZy1jYXJldCB7XG4gIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDEwcHggZGFzaGVkO1xuICBib3R0b206IC0xMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMDtcbn1cblxuLmxnLWZ1bGxzY3JlZW46YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTIwY1wiO1xufVxuXG4ubGctZnVsbHNjcmVlbi1vbiAubGctZnVsbHNjcmVlbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlMjBkXCI7XG59XG5cbi5sZy1vdXRlciAjbGctZHJvcGRvd24tb3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIGJvdHRvbTogMDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwODE7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjE4cywgb3BhY2l0eSAwLjE4cyBsaW5lYXIgMHM7XG4gIC1vLXRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMgbGluZWFyIDAuMThzLCBvcGFjaXR5IDAuMThzIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC4xOHMsIG9wYWNpdHkgMC4xOHMgbGluZWFyIDBzO1xufVxuXG4ubGctb3V0ZXIubGctZHJvcGRvd24tYWN0aXZlIC5sZy1kcm9wZG93biwgLmxnLW91dGVyLmxnLWRyb3Bkb3duLWFjdGl2ZSAjbGctZHJvcGRvd24tb3ZlcmxheSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMHB4LCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwcHgsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwcHgsIDApO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMHB4LCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwcHgsIDApO1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4ubGctb3V0ZXIubGctZHJvcGRvd24tYWN0aXZlICNsZy1zaGFyZSB7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG4ubGctb3V0ZXIgLmxnLWRyb3Bkb3duIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRvcDogNTBweDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMThzIGxpbmVhciAwcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC41cywgb3BhY2l0eSAwLjE4cyBsaW5lYXIgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC4xOHMgbGluZWFyIDBzLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjVzLCBvcGFjaXR5IDAuMThzIGxpbmVhciAwcztcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuMThzIGxpbmVhciAwcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC41cywgb3BhY2l0eSAwLjE4cyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE4cyBsaW5lYXIgMHMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDAuNXMsIG9wYWNpdHkgMC4xOHMgbGluZWFyIDBzO1xufVxuXG4ubGctb3V0ZXIgLmxnLWRyb3Bkb3duOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNGRkY7XG4gIHJpZ2h0OiAxNnB4O1xuICB0b3A6IC0xNnB4O1xufVxuXG4ubGctb3V0ZXIgLmxnLWRyb3Bkb3duID4gbGk6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbn1cblxuLmxnLW91dGVyIC5sZy1kcm9wZG93biA+IGxpOmhvdmVyIGEsIC5sZy1vdXRlciAubGctZHJvcGRvd24gPiBsaTpob3ZlciAubGctaWNvbiB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4ubGctb3V0ZXIgLmxnLWRyb3Bkb3duIGEge1xuICBjb2xvcjogIzMzMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHBhZGRpbmc6IDRweCAxMnB4O1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIixcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmxnLW91dGVyIC5sZy1kcm9wZG93biBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3KTtcbn1cblxuLmxnLW91dGVyIC5sZy1kcm9wZG93biAubGctZHJvcGRvd24tdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5sZy1vdXRlciAubGctZHJvcGRvd24gLmxnLWljb24ge1xuICBjb2xvcjogIzMzMztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgcGFkZGluZzogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5sZy1vdXRlciAjbGctc2hhcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sZy1vdXRlciAjbGctc2hhcmU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTgwZFwiO1xufVxuXG4ubGctb3V0ZXIgI2xnLXNoYXJlLWZhY2Vib29rIC5sZy1pY29uIHtcbiAgY29sb3I6ICMzYjU5OTg7XG59XG5cbi5sZy1vdXRlciAjbGctc2hhcmUtZmFjZWJvb2sgLmxnLWljb246YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuXG4ubGctb3V0ZXIgI2xnLXNoYXJlLXR3aXR0ZXIgLmxnLWljb24ge1xuICBjb2xvcjogIzAwYWNlZDtcbn1cblxuLmxnLW91dGVyICNsZy1zaGFyZS10d2l0dGVyIC5sZy1pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cblxuLmxnLW91dGVyICNsZy1zaGFyZS1nb29nbGVwbHVzIC5sZy1pY29uIHtcbiAgY29sb3I6ICNkZDRiMzk7XG59XG5cbi5sZy1vdXRlciAjbGctc2hhcmUtZ29vZ2xlcGx1cyAubGctaWNvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG59XG5cbi5sZy1vdXRlciAjbGctc2hhcmUtcGludGVyZXN0IC5sZy1pY29uIHtcbiAgY29sb3I6ICNjYjIwMjc7XG59XG5cbi5sZy1vdXRlciAjbGctc2hhcmUtcGludGVyZXN0IC5sZy1pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5MDZcIjtcbn1cblxuLmxnLW91dGVyIC5sZy1pbWctcm90YXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiAwIDVweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzIsIDAsIDAuNjcsIDApIDBzO1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzIsIDAsIDAuNjcsIDApIDBzO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC4zMiwgMCwgMC42NywgMCkgMHM7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjMyLCAwLCAwLjY3LCAwKSAwcztcbn1cblxuLmxnLXJvdGF0ZS1sZWZ0OmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cblxuLmxnLXJvdGF0ZS1yaWdodDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG59XG5cbi5sZy1pY29uLmxnLWZsaXAtaG9yLCAubGctaWNvbi5sZy1mbGlwLXZlciB7XG4gIGZvbnQtc2l6ZTogMjZweDtcbn1cblxuLmxnLWZsaXAtaG9yOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cblxuLmxnLWZsaXAtdmVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5MDNcIjtcbn1cblxuLmxnLWdyb3VwIHtcbiAgKnpvb206IDE7XG59XG5cbi5sZy1ncm91cDpiZWZvcmUsIC5sZy1ncm91cDphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIlwiO1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuLmxnLWdyb3VwOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5sZy1vdXRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDUwO1xuICBvcGFjaXR5OiAwO1xuICBvdXRsaW5lOiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSAwcztcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlIDBzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UgMHM7XG59XG5cbi5sZy1vdXRlciAqIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5sZy1vdXRlci5sZy12aXNpYmxlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmxnLW91dGVyLmxnLWNzczMgLmxnLWl0ZW0ubGctcHJldi1zbGlkZSwgLmxnLW91dGVyLmxnLWNzczMgLmxnLWl0ZW0ubGctbmV4dC1zbGlkZSwgLmxnLW91dGVyLmxnLWNzczMgLmxnLWl0ZW0ubGctY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGluaGVyaXQgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLmxnLW91dGVyLmxnLWNzczMubGctZHJhZ2dpbmcgLmxnLWl0ZW0ubGctcHJldi1zbGlkZSwgLmxnLW91dGVyLmxnLWNzczMubGctZHJhZ2dpbmcgLmxnLWl0ZW0ubGctbmV4dC1zbGlkZSwgLmxnLW91dGVyLmxnLWNzczMubGctZHJhZ2dpbmcgLmxnLWl0ZW0ubGctY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmxnLW91dGVyLmxnLWdyYWIgaW1nLmxnLW9iamVjdCB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IC1tb3otZ3JhYjtcbiAgY3Vyc29yOiAtby1ncmFiO1xuICBjdXJzb3I6IC1tcy1ncmFiO1xuICBjdXJzb3I6IGdyYWI7XG59XG5cbi5sZy1vdXRlci5sZy1ncmFiYmluZyBpbWcubGctb2JqZWN0IHtcbiAgY3Vyc29yOiBtb3ZlO1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogLW1vei1ncmFiYmluZztcbiAgY3Vyc29yOiAtby1ncmFiYmluZztcbiAgY3Vyc29yOiAtbXMtZ3JhYmJpbmc7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi5sZy1vdXRlciAubGcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuLmxnLW91dGVyIC5sZy1pbm5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubGctb3V0ZXIgLmxnLWl0ZW0ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvbG9hZGluZy5naWZcIikgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyIHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5sZy1vdXRlci5sZy1jc3MzIC5sZy1wcmV2LXNsaWRlLCAubGctb3V0ZXIubGctY3NzMyAubGctY3VycmVudCwgLmxnLW91dGVyLmxnLWNzczMgLmxnLW5leHQtc2xpZGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmxnLW91dGVyLmxnLWNzcyAubGctY3VycmVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuXG4ubGctb3V0ZXIgLmxnLWl0ZW0sIC5sZy1vdXRlciAubGctaW1nLXdyYXAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubGctb3V0ZXIgLmxnLWl0ZW06YmVmb3JlLCAubGctb3V0ZXIgLmxnLWltZy13cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiA1MCU7XG4gIHdpZHRoOiAxcHg7XG4gIG1hcmdpbi1yaWdodDogLTFweDtcbn1cblxuLmxnLW91dGVyIC5sZy1pbWctd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbn1cblxuLmxnLW91dGVyIC5sZy1pdGVtLmxnLWNvbXBsZXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLmxnLW91dGVyIC5sZy1pdGVtLmxnLWN1cnJlbnQge1xuICB6LWluZGV4OiAxMDYwO1xufVxuXG4ubGctb3V0ZXIgLmxnLWltYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubGctb3V0ZXIubGctc2hvdy1hZnRlci1sb2FkIC5sZy1pdGVtIC5sZy1vYmplY3QsIC5sZy1vdXRlci5sZy1zaG93LWFmdGVyLWxvYWQgLmxnLWl0ZW0gLmxnLXZpZGVvLXBsYXkge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSAwcztcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlIDBzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UgMHM7XG59XG5cbi5sZy1vdXRlci5sZy1zaG93LWFmdGVyLWxvYWQgLmxnLWl0ZW0ubGctY29tcGxldGUgLmxnLW9iamVjdCwgLmxnLW91dGVyLmxnLXNob3ctYWZ0ZXItbG9hZCAubGctaXRlbS5sZy1jb21wbGV0ZSAubGctdmlkZW8tcGxheSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5sZy1vdXRlciAubGctZW1wdHktaHRtbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5sZy1vdXRlci5sZy1oaWRlLWRvd25sb2FkICNsZy1kb3dubG9hZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5sZy1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDQwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSAwcztcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlIDBzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UgMHM7XG59XG5cbi5sZy1iYWNrZHJvcC5pbiB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5sZy1jc3MzLmxnLW5vLXRyYW5zIC5sZy1wcmV2LXNsaWRlLCAubGctY3NzMy5sZy1uby10cmFucyAubGctbmV4dC1zbGlkZSwgLmxnLWNzczMubGctbm8tdHJhbnMgLmxnLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmUgMHMgZWFzZSAwcyAhaW1wb3J0YW50O1xuICAtbW96LXRyYW5zaXRpb246IG5vbmUgMHMgZWFzZSAwcyAhaW1wb3J0YW50O1xuICAtby10cmFuc2l0aW9uOiBub25lIDBzIGVhc2UgMHMgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogbm9uZSAwcyBlYXNlIDBzICFpbXBvcnRhbnQ7XG59XG5cbi5sZy1jc3MzLmxnLXVzZS1jc3MzIC5sZy1pdGVtIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5sZy1jc3MzLmxnLXVzZS1sZWZ0IC5sZy1pdGVtIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5sZy1jc3MzLmxnLWZhZGUgLmxnLWl0ZW0ge1xuICBvcGFjaXR5OiAwO1xufVxuXG4ubGctY3NzMy5sZy1mYWRlIC5sZy1pdGVtLmxnLWN1cnJlbnQge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubGctY3NzMy5sZy1mYWRlIC5sZy1pdGVtLmxnLXByZXYtc2xpZGUsIC5sZy1jc3MzLmxnLWZhZGUgLmxnLWl0ZW0ubGctbmV4dC1zbGlkZSwgLmxnLWNzczMubGctZmFkZSAubGctaXRlbS5sZy1jdXJyZW50IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZSAwcztcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZSAwcztcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2UgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlIDBzO1xufVxuXG4ubGctY3NzMy5sZy1zbGlkZS5sZy11c2UtY3NzMyAubGctaXRlbSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1jc3MzIC5sZy1pdGVtLmxnLXByZXYtc2xpZGUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbn1cblxuLmxnLWNzczMubGctc2xpZGUubGctdXNlLWNzczMgLmxnLWl0ZW0ubGctbmV4dC1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbn1cblxuLmxnLWNzczMubGctc2xpZGUubGctdXNlLWNzczMgLmxnLWl0ZW0ubGctY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmxnLWNzczMubGctc2xpZGUubGctdXNlLWNzczMgLmxnLWl0ZW0ubGctcHJldi1zbGlkZSwgLmxnLWNzczMubGctc2xpZGUubGctdXNlLWNzczMgLmxnLWl0ZW0ubGctbmV4dC1zbGlkZSwgLmxnLWNzczMubGctc2xpZGUubGctdXNlLWNzczMgLmxnLWl0ZW0ubGctY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMXMgZWFzZSAwcztcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4xcyBlYXNlIDBzO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMXMgZWFzZSAwcztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjFzIGVhc2UgMHM7XG59XG5cbi5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1sZWZ0IC5sZy1pdGVtIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xufVxuXG4ubGctY3NzMy5sZy1zbGlkZS5sZy11c2UtbGVmdCAubGctaXRlbS5sZy1wcmV2LXNsaWRlIHtcbiAgbGVmdDogLTEwMCU7XG59XG5cbi5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1sZWZ0IC5sZy1pdGVtLmxnLW5leHQtc2xpZGUge1xuICBsZWZ0OiAxMDAlO1xufVxuXG4ubGctY3NzMy5sZy1zbGlkZS5sZy11c2UtbGVmdCAubGctaXRlbS5sZy1jdXJyZW50IHtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmxnLWNzczMubGctc2xpZGUubGctdXNlLWxlZnQgLmxnLWl0ZW0ubGctcHJldi1zbGlkZSwgLmxnLWNzczMubGctc2xpZGUubGctdXNlLWxlZnQgLmxnLWl0ZW0ubGctbmV4dC1zbGlkZSwgLmxnLWNzczMubGctc2xpZGUubGctdXNlLWxlZnQgLmxnLWl0ZW0ubGctY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbGVmdCAxcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4xcyBlYXNlIDBzO1xuICAtbW96LXRyYW5zaXRpb246IGxlZnQgMXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMXMgZWFzZSAwcztcbiAgLW8tdHJhbnNpdGlvbjogbGVmdCAxcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4xcyBlYXNlIDBzO1xuICB0cmFuc2l0aW9uOiBsZWZ0IDFzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjFzIGVhc2UgMHM7XG59XG5cbi5tZGMtY2FyZCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc3VyZmFjZSwgI2ZmZik7XG4gIGJveC1zaGFkb3c6IDBweCAycHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMXB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5tZGMtY2FyZC0tb3V0bGluZWQge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICNlMGUwZTA7XG59XG5cbi5tZGMtY2FyZF9fbWVkaWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLm1kYy1jYXJkX19tZWRpYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5tZGMtY2FyZF9fbWVkaWE6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbn1cblxuLm1kYy1jYXJkX19tZWRpYTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG59XG5cbi5tZGMtY2FyZF9fbWVkaWEtLXNxdWFyZTo6YmVmb3JlIHtcbiAgbWFyZ2luLXRvcDogMTAwJTtcbn1cblxuLm1kYy1jYXJkX19tZWRpYS0tMTYtOTo6YmVmb3JlIHtcbiAgbWFyZ2luLXRvcDogNTYuMjUlO1xufVxuXG4ubWRjLWNhcmRfX21lZGlhLWNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG59XG5cbi5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xufVxuXG4ubWRjLWNhcmRfX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiA1MnB4O1xuICBwYWRkaW5nOiA4cHg7XG59XG5cbi5tZGMtY2FyZF9fYWN0aW9ucy0tZnVsbC1ibGVlZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5tZGMtY2FyZF9fYWN0aW9uLWJ1dHRvbnMsXG4ubWRjLWNhcmRfX2FjdGlvbi1pY29ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5tZGMtY2FyZF9fYWN0aW9uLWljb25zIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgZmxleC1ncm93OiAxO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4ubWRjLWNhcmRfX2FjdGlvbi1idXR0b25zICsgLm1kYy1jYXJkX19hY3Rpb24taWNvbnMge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLWNhcmRfX2FjdGlvbi1idXR0b25zICsgLm1kYy1jYXJkX19hY3Rpb24taWNvbnMsIC5tZGMtY2FyZF9fYWN0aW9uLWJ1dHRvbnMgKyAubWRjLWNhcmRfX2FjdGlvbi1pY29uc1tkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMTZweDtcbn1cblxuLm1kYy1jYXJkX19hY3Rpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5tZGMtY2FyZF9fYWN0aW9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLm1kYy1jYXJkX19hY3Rpb24tLWJ1dHRvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIHBhZGRpbmc6IDAgOHB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtY2FyZF9fYWN0aW9uLS1idXR0b24sIC5tZGMtY2FyZF9fYWN0aW9uLS1idXR0b25bZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLm1kYy1jYXJkX19hY3Rpb24tLWJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1jYXJkX19hY3Rpb24tLWJ1dHRvbjpsYXN0LWNoaWxkLCAubWRjLWNhcmRfX2FjdGlvbi0tYnV0dG9uOmxhc3QtY2hpbGRbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tZGMtY2FyZF9fYWN0aW9ucy0tZnVsbC1ibGVlZCAubWRjLWNhcmRfX2FjdGlvbi0tYnV0dG9uIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1jYXJkX19hY3Rpb25zLS1mdWxsLWJsZWVkIC5tZGMtY2FyZF9fYWN0aW9uLS1idXR0b24sIC5tZGMtY2FyZF9fYWN0aW9ucy0tZnVsbC1ibGVlZCAubWRjLWNhcmRfX2FjdGlvbi0tYnV0dG9uW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tZGMtY2FyZF9fYWN0aW9uLS1pY29uIHtcbiAgbWFyZ2luOiAtNnB4IDA7XG4gIHBhZGRpbmc6IDEycHg7XG59XG5cbi5tZGMtY2FyZF9fYWN0aW9uLS1pY29uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbiB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4ubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uOjpiZWZvcmUsIC5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb246OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICB6LWluZGV4OiAxO1xufVxuXG4ubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG5cbi5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb24ubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG59XG5cbi5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb24ubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzO1xufVxuXG4ubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uOjpiZWZvcmUsIC5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb246OmFmdGVyIHtcbiAgdG9wOiBjYWxjKDUwJSAtIDEwMCUpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGNhbGMoNTAlIC0gMTAwJSk7XG4gIHdpZHRoOiAyMDAlO1xuICBoZWlnaHQ6IDIwMCU7XG59XG5cbi5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuXG4ubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uOjpiZWZvcmUsIC5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb246OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4wNDtcbn1cblxuLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSwgLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG5cbi5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb246bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtZWxldmF0aW9uLS16MCB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXoxIHtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXoyIHtcbiAgYm94LXNoYWRvdzogMHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXozIHtcbiAgYm94LXNoYWRvdzogMHB4IDNweCAzcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAzcHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXo0LCAucHJvZHVjdF9pbWFnZXMgLmxpc3QtcGhvdG8gbGk6aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXo1IHtcbiAgYm94LXNoYWRvdzogMHB4IDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA1cHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDE0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZWxldmF0aW9uLS16NiB7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggNnB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggMThweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXo3IHtcbiAgYm94LXNoYWRvdzogMHB4IDRweCA1cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA3cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDJweCAxNnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWVsZXZhdGlvbi0tejgge1xuICBib3gtc2hhZG93OiAwcHggNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZWxldmF0aW9uLS16OSB7XG4gIGJveC1zaGFkb3c6IDBweCA1cHggNnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggOXB4IDEycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMTZweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXoxMCB7XG4gIGJveC1zaGFkb3c6IDBweCA2cHggNnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTBweCAxNHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNHB4IDE4cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZWxldmF0aW9uLS16MTEge1xuICBib3gtc2hhZG93OiAwcHggNnB4IDdweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDExcHggMTVweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDRweCAyMHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWVsZXZhdGlvbi0tejEyIHtcbiAgYm94LXNoYWRvdzogMHB4IDdweCA4cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxMnB4IDE3cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA1cHggMjJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXoxMyB7XG4gIGJveC1zaGFkb3c6IDBweCA3cHggOHB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTNweCAxOXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNXB4IDI0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZWxldmF0aW9uLS16MTQge1xuICBib3gtc2hhZG93OiAwcHggN3B4IDlweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDE0cHggMjFweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDVweCAyNnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWVsZXZhdGlvbi0tejE1IHtcbiAgYm94LXNoYWRvdzogMHB4IDhweCA5cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxNXB4IDIycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA2cHggMjhweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXoxNiB7XG4gIGJveC1zaGFkb3c6IDBweCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWVsZXZhdGlvbi0tejE3IHtcbiAgYm94LXNoYWRvdzogMHB4IDhweCAxMXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTdweCAyNnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNnB4IDMycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZWxldmF0aW9uLS16MTgge1xuICBib3gtc2hhZG93OiAwcHggOXB4IDExcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxOHB4IDI4cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA3cHggMzRweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXoxOSB7XG4gIGJveC1zaGFkb3c6IDBweCA5cHggMTJweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDE5cHggMjlweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDdweCAzNnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWVsZXZhdGlvbi0tejIwIHtcbiAgYm94LXNoYWRvdzogMHB4IDEwcHggMTNweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDIwcHggMzFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDhweCAzOHB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWVsZXZhdGlvbi0tejIxIHtcbiAgYm94LXNoYWRvdzogMHB4IDEwcHggMTNweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDIxcHggMzNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDhweCA0MHB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWVsZXZhdGlvbi0tejIyIHtcbiAgYm94LXNoYWRvdzogMHB4IDEwcHggMTRweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDIycHggMzVweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDhweCA0MnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWVsZXZhdGlvbi0tejIzIHtcbiAgYm94LXNoYWRvdzogMHB4IDExcHggMTRweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDIzcHggMzZweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDlweCA0NHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWVsZXZhdGlvbi0tejI0IHtcbiAgYm94LXNoYWRvdzogMHB4IDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDI0cHggMzhweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDlweCA0NnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWVsZXZhdGlvbi10cmFuc2l0aW9uIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICB3aWxsLWNoYW5nZTogYm94LXNoYWRvdztcbn1cblxuLm1kYy1pY29uLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IDI0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbiAgcGFkZGluZzogMTJweDtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbiBzdmcsXG4ubWRjLWljb24tYnV0dG9uIGltZyB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG5cbi5tZGMtaWNvbi1idXR0b246ZGlzYWJsZWQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtZGlzYWJsZWQtb24tbGlnaHQsIHJnYmEoMCwgMCwgMCwgMC4zOCkpO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLWljb24tYnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubWRjLWljb24tYnV0dG9uX19pY29uLm1kYy1pY29uLWJ1dHRvbl9faWNvbi0tb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWRjLWljb24tYnV0dG9uLS1vbiAubWRjLWljb24tYnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi0tb24gLm1kYy1pY29uLWJ1dHRvbl9faWNvbi5tZGMtaWNvbi1idXR0b25fX2ljb24tLW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubWRjLWljb24tYnV0dG9uIHtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi5tZGMtaWNvbi1idXR0b246OmJlZm9yZSwgLm1kYy1pY29uLWJ1dHRvbjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5tZGMtaWNvbi1idXR0b246OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiAyMjVtcyBmb3J3YXJkcywgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIDc1bXMgZm9yd2FyZHM7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbi5tZGMtaWNvbi1idXR0b246OmJlZm9yZSwgLm1kYy1pY29uLWJ1dHRvbjo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gNTAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDUwJSk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlLCAubWRjLWljb24tYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIGNhbGMoNTAlIC0gNTAlKSk7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuXG4ubWRjLWljb24tYnV0dG9uOjpiZWZvcmUsIC5tZGMtaWNvbi1idXR0b246OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbjpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4wNDtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSwgLm1kYy1pY29uLWJ1dHRvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWljb24tYnV0dG9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG5cbi5tZGMtaWNvbi1idXR0b246bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtZmFiIHtcbiAgYm94LXNoYWRvdzogMHB4IDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA2cHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCAxOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDU2cHg7XG4gIGhlaWdodDogNTZweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgb3BhY2l0eSAxNW1zIGxpbmVhciAzMG1zLCB0cmFuc2Zvcm0gMjcwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xuICBjb2xvcjogI2ZmZjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXNlY29uZGFyeSwgI2ZmZik7XG59XG5cbi5tZGMtZmFiOm5vdCgubWRjLWZhYi0tZXh0ZW5kZWQpIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ubWRjLWZhYjpub3QoLm1kYy1mYWItLWV4dGVuZGVkKSAubWRjLWZhYl9fcmlwcGxlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ubWRjLWZhYjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLm1kYy1mYWI6aG92ZXIsIC5tZGMtZmFiOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMHB4IDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWZhYjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggN3B4IDhweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDEycHggMTdweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDVweCAyMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWZhYjphY3RpdmUsIC5tZGMtZmFiOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLm1kYy1mYWI6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tZGMtZmFiID4gc3ZnIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgLm1kYy1mYWIge1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbiAgfVxufVxuXG4ubWRjLWZhYiAubWRjLWZhYl9faWNvbiB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMjRweDtcbn1cblxuLm1kYy1mYWItLW1pbmkge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4ubWRjLWZhYi0tZXh0ZW5kZWQge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA4OTI5ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ4cHg7XG59XG5cbi5tZGMtZmFiLS1leHRlbmRlZCAubWRjLWZhYl9fcmlwcGxlIHtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbn1cblxuLm1kYy1mYWItLWV4dGVuZGVkIC5tZGMtZmFiX19pY29uIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogLThweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1mYWItLWV4dGVuZGVkIC5tZGMtZmFiX19pY29uLCAubWRjLWZhYi0tZXh0ZW5kZWQgLm1kYy1mYWJfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMTJweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IC04cHg7XG59XG5cbi5tZGMtZmFiLS1leHRlbmRlZCAubWRjLWZhYl9fbGFiZWwgKyAubWRjLWZhYl9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAtOHB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtZmFiLS1leHRlbmRlZCAubWRjLWZhYl9fbGFiZWwgKyAubWRjLWZhYl9faWNvbiwgLm1kYy1mYWItLWV4dGVuZGVkIC5tZGMtZmFiX19sYWJlbCArIC5tZGMtZmFiX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xufVxuXG4ubWRjLWZhYl9fbGFiZWwge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWRjLWZhYl9faWNvbiB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxODBtcyA5MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG59XG5cbi5tZGMtZmFiIC5tZGMtZmFiX19pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubWRjLWZhYi0tZXhpdGVkIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciAxNTBtcywgdHJhbnNmb3JtIDE4MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKTtcbn1cblxuLm1kYy1mYWItLWV4aXRlZCAubWRjLWZhYl9faWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMzVtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSk7XG59XG5cbi5tZGMtZmFiIHtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi5tZGMtZmFiIC5tZGMtZmFiX19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtZmFiIC5tZGMtZmFiX19yaXBwbGU6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWRjLWZhYiAubWRjLWZhYl9fcmlwcGxlOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICB6LWluZGV4OiAxO1xufVxuXG4ubWRjLWZhYi5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtZmFiX19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLWZhYi5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtZmFiX19yaXBwbGU6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG5cbi5tZGMtZmFiLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZCAubWRjLWZhYl9fcmlwcGxlOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG59XG5cbi5tZGMtZmFiLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbiAubWRjLWZhYl9fcmlwcGxlOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzO1xufVxuXG4ubWRjLWZhYi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbiAubWRjLWZhYl9fcmlwcGxlOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLWZhYiAubWRjLWZhYl9fcmlwcGxlOjpiZWZvcmUsXG4ubWRjLWZhYiAubWRjLWZhYl9fcmlwcGxlOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuXG4ubWRjLWZhYi5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtZmFiX19yaXBwbGU6OmFmdGVyIHtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cblxuLm1kYy1mYWIgLm1kYy1mYWJfX3JpcHBsZTo6YmVmb3JlLFxuLm1kYy1mYWIgLm1kYy1mYWJfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5Ac3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gIC5tZGMtZmFiIC5tZGMtZmFiX19yaXBwbGU6OmJlZm9yZSxcbiAgLm1kYy1mYWIgLm1kYy1mYWJfX3JpcHBsZTo6YWZ0ZXIge1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc2Vjb25kYXJ5LCAjZmZmKTtcbiAgfVxufVxuXG4ubWRjLWZhYjpob3ZlciAubWRjLWZhYl9fcmlwcGxlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA4O1xufVxuXG4ubWRjLWZhYi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQgLm1kYy1mYWJfX3JpcHBsZTo6YmVmb3JlLCAubWRjLWZhYjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIC5tZGMtZmFiX19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMjQ7XG59XG5cbi5tZGMtZmFiOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCkgLm1kYy1mYWJfX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuLm1kYy1mYWI6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmUgLm1kYy1mYWJfX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjI0O1xufVxuXG4ubWRjLWZhYi5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMjQ7XG59XG5cbi5tZGMtZmFiIC5tZGMtZmFiX19yaXBwbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qKlxuICAgQm91dGlxdWVcbiAqL1xuLmNvbnRhaW5lcl9jZW50ZXIsIC5maWxlX2FyaWFuZSB7XG4gIG1heC13aWR0aDogOTUwcHg7XG59XG5cbi8qKlxuICAgUsOpcGFydGl0aW9uIGRlIGxhIGJvdXRpcXVlXG4qL1xuLnNob3BfbmF2IHtcbiAgZmxleDogMjtcbn1cblxuLnNob3BfY29udGVudCB7XG4gIGZsZXg6IDc7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAuc2hvcCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuc2hvcF9uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyoqXG4gICBBc2lkZSBkZSBsYSBib3V0aXF1ZVxuKi9cbi5zaG9wX25hdiBoMiB7XG4gIHBhZGRpbmc6IDVweCAwcHggNXB4IDA7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xufVxuXG4uc2hvcF9uYXYgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5zaG9wX25hdiB1bCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgfVxufVxuXG4uc2hvcF9uYXYgLmNhdGVnb3J5IHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGRpc3BsYXk6IGNvbnRlbnRzO1xuICBmb250LXNpemU6IDAuOWVtO1xufVxuXG4uc2hvcF9uYXYgLmNhdGVnb3J5IGEge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAwIDUwcHggNTBweCAwO1xufVxuXG4uc2hvcF9uYXYgLmNhdGVnb3J5LmFjdGl2ZSBhIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0M2NjAwO1xufVxuXG4uc2hvcF9uYXYgLmNhdGVnb3J5OmhvdmVyOm5vdCguYWN0aXZlKSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDEwMiwgMCwgMC4xNSk7XG59XG5cbi8qIFxuICAgRmlsZSBkJ2FyaW5lXG4gICBwcsOpc2VudCBzdXIgbGVzIHBhZ2VzIC97Y2F0ZWdvcmllfSBldCAve2NhdGVnb3JpZX0ve3Byb2R1Y3R9IFxuKi9cbi5maWxlX2FyaWFuZSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogMTVweCBhdXRvO1xuICBwYWRkaW5nOiA1cHggMDtcbiAgY29sb3I6ICM1NzNEMUM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG59XG5cbi5maWxlX2FyaWFuZSBhLFxuLmZpbGVfYXJpYW5lIHNwYW4ge1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIG1hcmdpbjogNXB4IDA7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5maWxlX2FyaWFuZSBhIHtcbiAgY29sb3I6IGdyYXk7XG4gIGJvcmRlci1yaWdodDogc29saWQgMXB4IGdyYXk7XG59XG5cbi5maWxlX2FyaWFuZSBzcGFuIHtcbiAgY29sb3I6ICNDQzY2MDA7XG59XG5cbi8qKlxuICAgQ29udGVudSBkZSBsYSBwYWdlXG4gICAow6AgY290w6kgZGUgbCdhc2lkZSlcbiovXG4uc2hvcF9jb250ZW50IHtcbiAgbWFyZ2luOiAwIDEwcHggMTBweCAyMHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnNob3BfY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICB9XG59XG5cbi8qKlxuICAgRkFCIFBhbmllclxuICAgKHZpc2libGUgcXUnZW4gbW9kZSBtb2JpbGUpXG4qL1xuLmZvYWx0aW5nLWJhc2tldCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAzNXB4O1xuICByaWdodDogMzVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NDNjYwMDtcbiAgei1pbmRleDogMTA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZm9hbHRpbmctYmFza2V0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxufVxuXG4uZm9hbHRpbmctYmFza2V0IC5jb3VudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2MzAzMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuXG4uZm9hbHRpbmctYmFza2V0X19lbXB0eSAuY291bnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZm9hbHRpbmctYmFza2V0X191cCAuY291bnQge1xuICBhbmltYXRpb246IGNvdW50LXpvb20gM3MgZm9yd2FyZHMgMTtcbn1cblxuLyogUGFnZSBkJ3VuIHByZHVpdCAqL1xuLnByb2R1Y3Qge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMzgwcHg7XG59XG5cbi5wcm9kdWN0X2ltYWdlcywgLnByb2R1Y3RfZGV0YWlscyB7XG4gIGZsZXg6IDE7XG4gIHBhZGRpbmc6IDAgMTVweDtcbn1cblxuLnByb2R1Y3RfaW1hZ2VzIC5jb3ZlciB7XG4gIGhlaWdodDogMzUwcHg7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLnByb2R1Y3RfaW1hZ2VzIC5jb3ZlciBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9kdWN0X2ltYWdlcyAubGlzdC1waG90byB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAxMHB4IDAgMCAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLnByb2R1Y3RfaW1hZ2VzIC5saXN0LXBob3RvIGxpIHtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgbWFyZ2luOiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBlYXNlLWluLW91dCBib3gtc2hhZG93IDAuM3M7XG59XG5cbi5wcm9kdWN0X2RldGFpbHMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ucHJvZHVjdF9kZXRhaWxzIGgxIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDIuMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnByb2R1Y3RfZGV0YWlscyAucHJpY2Vfc3RhcnQsXG4ucHJvZHVjdF9kZXRhaWxzIGgzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBNb250c2VycmF0LCBzYW5zLXNlcmlmO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBjb2xvcjogIzY2Njtcbn1cblxuLnByb2R1Y3RfZGV0YWlscyAucHJpY2Vfc3RhcnQge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5wcm9kdWN0X2RldGFpbHMgLnByaWNlX3N0YXJ0ICsgaDMge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ucHJvZHVjdF9kZXRhaWxzIGgzIHtcbiAgZm9udC1zaXplOiAxLjZlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnByb2R1Y3RfZGV0YWlscyAucHJvZHVjdF9zdGF0dXMge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiA0cHggN3B4O1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5wcm9kdWN0X2RldGFpbHMgLnByb2R1Y3Rfc3RhdHVzXzAge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcbn1cblxuLnByb2R1Y3RfZGV0YWlscyAucHJvZHVjdF9zdGF0dXNfMSwgLnByb2R1Y3RfZGV0YWlscyAucHJvZHVjdF9zdGF0dXNfMiwgLnByb2R1Y3RfZGV0YWlscyAucHJvZHVjdF9zdGF0dXNfMyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3O1xufVxuXG4ucHJvZHVjdF9kZXRhaWxzIC5wcm9kdWN0X3N0YXR1c180IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XG59XG5cbi5wcm9kdWN0X2RldGFpbHMgcCB7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAucHJvZHVjdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAucHJvZHVjdF9pbWFnZXMge1xuICAgIG1heC1oZWlnaHQ6IGluaXRpYWw7XG4gIH1cbiAgLnByb2R1Y3RfaW1hZ2VzIGltZyB7XG4gICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5wcm9kdWN0X2RldGFpbHMge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLyogRMOpdGFpbHMgZHUgcHJvZHVpdCAtIE9wdGlvbnMgKi9cbi5wcm9kdWN0LWRldGFpbHMucHJvZHVjdC1kZXRhaWxzX19zaW1wbGUgLnByb2R1Y3QtZGV0YWlsc19vcHRpb24ge1xuICBmbGV4OiAxO1xuICBtYXJnaW46IDAgMTBweDtcbn1cblxuLnByb2R1Y3QtZGV0YWlscy5wcm9kdWN0LWRldGFpbHNfX3NpbXBsZSAucHJvZHVjdC1kZXRhaWxzX3RpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzc3NztcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5wcm9kdWN0LWRldGFpbHMucHJvZHVjdC1kZXRhaWxzX19zaW1wbGUgLnByb2R1Y3QtZGV0YWlsc19jaG9pY2VzIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5wcm9kdWN0LWRldGFpbHMucHJvZHVjdC1kZXRhaWxzX19zaW1wbGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnByb2R1Y3QtZGV0YWlscy5wcm9kdWN0LWRldGFpbHNfX3NpbXBsZSAucHJvZHVjdC1kZXRhaWxzX29wdGlvbiB7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG4gIH1cbn1cblxuLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWJ1Y2tsZV9idWNrbGUge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBtYXJnaW46IDEwcHggNXB4IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWJ1Y2tsZV9pbWcge1xuICBib3JkZXI6IHNvbGlkIDFweCBsaWdodGdyYXk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1idWNrbGVfaW1nIGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1jb2xvciB7XG4gIC8qIHN1cmNoYXJnZSBkZXMgdG9vbHRpcHMgKi9cbn1cblxuLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWNvbG9yX2NvbG9yIHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgbWFyZ2luOiAxMHB4IDVweCAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1jb2xvcl9pbWcge1xuICBib3JkZXI6IHNvbGlkIDFweCBsaWdodGdyYXk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWNvbG9yX2ltZzpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI0NDNjYwMDtcbn1cblxuLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWNvbG9yX2ltZyBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4ucHJvZHVjdC1kZXRhaWxzIC5jaG9pY2UtY29sb3JfaW1nLm5vaXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG4ucHJvZHVjdC1kZXRhaWxzIC5jaG9pY2UtY29sb3JfaW1nLmJsYW5jIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWNvbG9yX2ltZy5tYXJyb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2QxOTAxO1xufVxuXG4ucHJvZHVjdC1kZXRhaWxzIC5jaG9pY2UtY29sb3JfaW1nLmhhdmFuZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTUzMjA7XG59XG5cbi5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1jb2xvcl9pbWcucm91Z2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2QwMzAzO1xufVxuXG4ucHJvZHVjdC1kZXRhaWxzIC5jaG9pY2UtY29sb3JfaW1nLmphdW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzcwMDtcbn1cblxuLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWNvbG9yX2ltZy5ibGV1LXR1cnF1b2lzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwZjg7XG59XG5cbi5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1jb2xvcl9pbWcubnVsbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWNvbG9yX2ltZy5udWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gIHdpZHRoOiAxMjRweDtcbiAgaGVpZ2h0OiAycHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZVooLTMxZGVnKTtcbn1cblxuLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWNvbG9yX2NvbG9yIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyAucHJvZHVjdC1kZXRhaWxzIC5jaG9pY2UtY29sb3JfaW1nIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTczRDFDO1xufVxuXG4ucHJvZHVjdC1kZXRhaWxzIC5jaG9pY2UtY29sb3JfY29sb3IgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIC5jaG9pY2UtY29sb3JfaW1nOmFmdGVyIHtcbiAgY29udGVudDogJ1xcMjcxNCc7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1zaGFkb3c6IC0xcHggMCBibGFjaywgMCAxcHggYmxhY2ssIDFweCAwIGJsYWNrLCAwIC0xcHggYmxhY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi5kZXZpcy1zZWxsZS1mb3JtIHtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIC8qIFF1ZXN0aW9uICsgUsOpcG9uc2VzIGR1IGZvcm11bGFpcmUgKi9cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5kZXZpcy1zZWxsZS1mb3JtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmRldmlzLXNlbGxlLWZvcm1fcXVlc3Rpb25zIHtcbiAgbWluLWhlaWdodDogMTc1cHg7XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbn1cblxuLmRldmlzLXNlbGxlLWZvcm1fcXVlc3Rpb25zIC5xdWVzdGlvbixcbi5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9ucyAuYW5zd2Vycyxcbi5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9ucyAuY29udGFjdCB7XG4gIGZsZXg6IDE7XG4gIG1hcmdpbjogMTBweDtcbn1cblxuLmRldmlzLXNlbGxlLWZvcm1fcXVlc3Rpb25zIC5xdWVzdGlvbiB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuM2VtO1xufVxuXG4uZGV2aXMtc2VsbGUtZm9ybV9xdWVzdGlvbnMgLnF1ZXN0aW9uX251bWJlciB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgY29sb3I6ICNhYWE7XG59XG5cbi5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9ucyAuYW5zd2Vyc19fdGV4dCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9ucyAuYW5zd2Vyc19fdGV4dCAubWRjLXRleHQtZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZGV2aXMtc2VsbGUtZm9ybV9xdWVzdGlvbnMgLmNvbnRhY3QgLm1kYy10ZXh0LWZpZWxkOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmRldmlzLXNlbGxlLWZvcm1fcXVlc3Rpb25zIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9ucyAucXVlc3Rpb24ge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gIH1cbn1cblxuLmRldmlzLXNlbGxlLWZvcm1fcXVlc3Rpb25zOm50aC1jaGlsZCgyKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjExLCAyMTEsIDIxMSwgMC4yKTtcbn1cblxuLmRldmlzLXNlbGxlLWZvcm1fcXVlc3Rpb25zOm50aC1jaGlsZCg0KSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjExLCAyMTEsIDIxMSwgMC4yKTtcbn1cblxuLmRldmlzLXNlbGxlLWZvcm1fcXVlc3Rpb25zOm50aC1jaGlsZCg2KSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjExLCAyMTEsIDIxMSwgMC4yKTtcbn1cblxuLmRldmlzLXNlbGxlLWZvcm1fcXVlc3Rpb25zOm50aC1jaGlsZCg4KSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjExLCAyMTEsIDIxMSwgMC4yKTtcbn1cblxuLmRldmlzLXNlbGxlLWZvcm1fcXVlc3Rpb25zOm50aC1jaGlsZCgxMCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxMSwgMjExLCAyMTEsIDAuMik7XG59XG5cbi5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9uczpudGgtY2hpbGQoMTIpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTEsIDIxMSwgMjExLCAwLjIpO1xufVxuXG4uZGV2aXMtc2VsbGUtZm9ybV9xdWVzdGlvbnM6bnRoLWNoaWxkKDE0KSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjExLCAyMTEsIDIxMSwgMC4yKTtcbn1cblxuLmNob2ljZS1jb2xvcixcbi5jaG9pY2UtY2FyZHMge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5jaG9pY2UtY29sb3IgaW5wdXRbdHlwZT0ncmFkaW8nXSxcbi5jaG9pY2UtY2FyZHMgaW5wdXRbdHlwZT0ncmFkaW8nXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxyXG4gICBGb3JtIENob2l4IGQndW5lIGNvdWxldXJcclxuICAgPGxhYmVsPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgLz5cclxuICAgICAgPGRpdj4gPC9kaXY+XHJcbiAgIDwvbGFiZWw+XHJcbiAqL1xuLmNob2ljZS1jb2xvciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAvKiBzdXJjaGFyZ2UgZGVzIHRvb2x0aXBzICovXG59XG5cbi5jaG9pY2UtY29sb3JfY29sb3Ige1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW46IDEwcHggNXB4IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNob2ljZS1jb2xvcl9pbWcge1xuICBib3JkZXI6IHNvbGlkIDFweCBsaWdodGdyYXk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNob2ljZS1jb2xvcl9pbWc6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNDQzY2MDA7XG59XG5cbi5jaG9pY2UtY29sb3JfaW1nIGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi5jaG9pY2UtY29sb3JfaW1nLm5vaXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG4uY2hvaWNlLWNvbG9yX2ltZy5ibGFuYyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5jaG9pY2UtY29sb3JfaW1nLm1hcnJvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZDE5MDE7XG59XG5cbi5jaG9pY2UtY29sb3JfaW1nLmhhdmFuZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTUzMjA7XG59XG5cbi5jaG9pY2UtY29sb3JfaW1nLnJvdWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NkMDMwMztcbn1cblxuLmNob2ljZS1jb2xvcl9pbWcuamF1bmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjNzAwO1xufVxuXG4uY2hvaWNlLWNvbG9yX2ltZy5ibGV1LXR1cnF1b2lzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwZjg7XG59XG5cbi5jaG9pY2UtY29sb3JfaW1nLm51bGwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jaG9pY2UtY29sb3JfaW1nLm51bGw6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgd2lkdGg6IDEyNHB4O1xuICBoZWlnaHQ6IDJweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlWigtMzFkZWcpO1xufVxuXG4uY2hvaWNlLWNvbG9yX2NvbG9yIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyAuY2hvaWNlLWNvbG9yX2ltZyB7XG4gIGJvcmRlci1jb2xvcjogIzU3M0QxQztcbn1cblxuLmNob2ljZS1jb2xvcl9jb2xvciBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgLmNob2ljZS1jb2xvcl9pbWc6YWZ0ZXIge1xuICBjb250ZW50OiAnXFwyNzE0JztcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXNoYWRvdzogLTFweCAwIGJsYWNrLCAwIDFweCBibGFjaywgMXB4IDAgYmxhY2ssIDAgLTFweCBibGFjaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLyoqXHJcbiAgIEZvcm0gQ2hvaXggZCd1bmUgY291bGV1clxyXG4gICA8bGFiZWw+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiAvPlxyXG4gICAgICA8ZGl2PiA8L2Rpdj5cclxuICAgPC9sYWJlbD5cclxuICovXG4uY2hvaWNlLWNhcmRzIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5jaG9pY2UtY2FyZHNfY2FyZCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogY2FsYygzMCUgLSAyMHB4KTtcbn1cblxuLmNob2ljZS1jYXJkc19kZXRhaWxzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTUwcHg7XG4gIGJvcmRlcjogc29saWQgMXB4IGxpZ2h0Z3JheTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLmNob2ljZS1jYXJkc19kZXRhaWxzOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjQ0M2NjAwO1xufVxuXG4uY2hvaWNlLWNhcmRzX2RldGFpbHMgc3BhbiB7XG4gIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNob2ljZS1jYXJkc19kZXRhaWxzIHN2ZyB7XG4gIG1heC13aWR0aDogNzVweDtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4uY2hvaWNlLWNhcmRzX2NhcmQgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIC5jaG9pY2UtY2FyZHNfZGV0YWlscyB7XG4gIGJvcmRlci1jb2xvcjogIzU3M0QxQztcbn1cblxuI2RldmlzLWZvcm1fYnV0dG9uIHtcbiAgbWFyZ2luOiA0MHB4IDAgMTVweDtcbn1cbiIsIkBtaXhpbiBmb250KCRmb250LWZhbWlseSwgJGZvbnQtZmlsZSkge1xyXG4gICBAZm9udC1mYWNlIHtcclxuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcclxuICAgICAgc3JjOiB1cmwoJGZvbnQtZmlsZSArICcudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xyXG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgIH1cclxufVxyXG5AaW5jbHVkZSBmb250KCdNb250c2VycmF0JywgJy4uL2ZvbnQtZmFtaWx5L01vbnRzZXJyYXQvTW9udHNlcnJhdC1SZWd1bGFyJyk7XHJcbkBpbmNsdWRlIGZvbnQoJ09wZW4gU2FucycsICcuLi9mb250LWZhbWlseS9PcGVuX1NhbnMvT3BlblNhbnMtUmVndWxhcicpO1xyXG5AaW5jbHVkZSBmb250KCdQVCBTZXJpZicsICcuLi9mb250LWZhbWlseS9QVF9TZXJpZi9QVFNlcmlmLVJlZ3VsYXInKTtcclxuXHJcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2ljb24/ZmFtaWx5PU1hdGVyaWFsK0ljb25zfE1hdGVyaWFsK0ljb25zK091dGxpbmVkJyk7XHJcblxyXG4iLCJcclxuLyoqXHJcbiAgIENPVUxFVVJTXHJcbiovXHJcblxyXG4kY29sb3JfcHJpbWFpcmU6ICM1NzNEMUM7XHJcbiRjb2xvcl9zZWNvbmRhaXJlOiAjQ0M2NjAwO1xyXG4kY29sb3JfYmFja2dyb3VuZDogd2hpdGU7XHJcblxyXG4kd2lkdGhfbWF4X2NvbnRlbnQ6IDg1MHB4O1xyXG4kd2lkdGhfbWF4X2NvbnRlbnRfc2hvcDogOTUwcHg7XHJcblxyXG4kY29sb3Jfbm9pcjogIzAwMDtcclxuJGNvbG9yX2JsYW5jOiAjZmZmO1xyXG4kY29sb3JfbWFycm9uOiAjM2QxOTAxO1xyXG4kY29sb3JfaGF2YW5lOiAjOTk1MzIwO1xyXG4kY29sb3Jfcm91Z2U6ICNjZDAzMDM7XHJcbiRjb2xvcl9qYXVuZTogI2ZmYzcwMDtcclxuJGNvbG9yX2JsZXUtdHVycXVvaXNlOiAjMDAwMGY4O1xyXG4iLCJcclxuLyoqXHJcbiAgIFJlc3BvbnNpdmVcclxuICovXHJcblxyXG5AbWl4aW4gbWVkaWEoJHBvaW50KSB7XHJcbiAgIEBpZiAkcG9pbnQgPT0gbW9iaWxlb25seSB7XHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyBAY29udGVudDsgfVxyXG4gICB9XHJcblxyXG4gICBAZWxzZSBpZiAkcG9pbnQgPT0gdGFibGV0IHtcclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7IEBjb250ZW50OyB9XHJcbiAgIH1cclxuXHJcbiAgIEBlbHNlIGlmICRwb2ludCA9PSBsYXB0b3Age1xyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHsgQGNvbnRlbnQ7IH1cclxuICAgfVxyXG5cclxuICAgQGVsc2UgaWYgJHBvaW50ID09IGRlc2t0b3Age1xyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7IEBjb250ZW50OyB9XHJcbiAgIH1cclxuICAgQGVsc2Uge1xyXG4gICAgICBAd2FybiBcIk1lZGlhIG1peGluIHN1cHBvcnQ6IGRlc2t0b3AsIGxhcHRvcCwgdGFibGV0LCBtb2JpbGVvbmx5XCJcclxuICAgfVxyXG59IiwiLy9cbi8vIENvcHlyaWdodCAyMDE2IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZWxldmF0aW9uL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3JpcHBsZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3NoYXBlL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9zaGFwZS9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gbWRjLWJ1dHRvbi1jb3JlLXN0eWxlcygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy1idXR0b24td2l0aG91dC1yaXBwbGUoJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1yaXBwbGUoJHF1ZXJ5KTtcbn1cblxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlcyBmcm9tIHRoZSBvdGhlclxuLy8gYnV0dG9uIHN0eWxlcy4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdCBtb3N0IHVzZXJzIHVzZSBgbWRjLWJ1dHRvbi1jb3JlLXN0eWxlc2AgaW5zdGVhZC5cbkBtaXhpbiBtZGMtYnV0dG9uLXdpdGhvdXQtcmlwcGxlKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgYnV0dG9uXG4gIC5tZGMtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWJhc2VfKCRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1zaGFwZS1yYWRpdXMoc21hbGwsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKHRyYW5zcGFyZW50LCAkcXVlcnkpO1xuXG4gICAgLy8gVGhlIGljb24gQ1NTIGNsYXNzIG92ZXJyaWRlcyBzdHlsZXMgZGVmaW5lZCBpbiB0aGUgLm1hdGVyaWFsLWljb25zIENTU1xuICAgIC8vIGNsYXNzLCB3aGljaCBpcyBsb2FkZWQgc2VwYXJhdGVseSBzbyB0aGUgb3JkZXIgb2YgQ1NTIGRlZmluaXRpb25zIGlzIG5vdFxuICAgIC8vIGd1YXJhbnRlZWQuIFRoZXJlZm9yZSwgaW5jcmVhc2Ugc3BlY2lmaXR5IGJ5IG5lc3RpbmcgdGhpcyBjbGFzcyB0byBlbnN1cmVcbiAgICAvLyBvdmVycmlkZXMgYXBwbHkuXG4gICAgLm1kYy1idXR0b25fX2ljb24ge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbl9faWNvbl87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1pbmstY29sb3IocHJpbWFyeSwgJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtYnV0dG9uX19sYWJlbCArIC5tZGMtYnV0dG9uX19pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbl9faWNvbi10cmFpbGluZ187XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICBzdmcubWRjLWJ1dHRvbl9faWNvbiB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1idXR0b25fX2ljb24tc3ZnXztcbiAgICB9XG4gIH1cblxuICAubWRjLWJ1dHRvbi0tcmFpc2VkLFxuICAubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZCxcbiAgLm1kYy1idXR0b24tLW91dGxpbmVkIHtcbiAgICAubWRjLWJ1dHRvbl9faWNvbiB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAvLyBJY29ucyBpbnNpZGUgY29udGFpbmVkIGJ1dHRvbnMgaGF2ZSBkaWZmZXJlbnQgc3R5bGVzIGR1ZSB0byBpbmNyZWFzZWQgYnV0dG9uIHBhZGRpbmdcbiAgICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbl9faWNvbi1jb250YWluZWRfO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtYnV0dG9uX19sYWJlbCArIC5tZGMtYnV0dG9uX19pY29uIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1idXR0b25fX2ljb24tY29udGFpbmVkLXRyYWlsaW5nXztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWJ1dHRvbi0tcmFpc2VkLFxuICAubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZCB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi0tZmlsbGVkXygkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IocHJpbWFyeSwgJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWluay1jb2xvcihvbi1wcmltYXJ5LCAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1idXR0b24tLXJhaXNlZCB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi0tcmFpc2VkXygkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1idXR0b24tLW91dGxpbmVkIHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLS1vdXRsaW5lZF8oJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLW91dGxpbmUtd2lkdGgoJG1kYy1idXR0b24tb3V0bGluZWQtYm9yZGVyLXdpZHRoLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1vdXRsaW5lLWNvbG9yKHByaW1hcnksICRxdWVyeSk7XG4gIH1cblxuICAubWRjLWJ1dHRvbi0tZGVuc2Uge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLS1kZW5zZV87XG4gICAgfVxuICB9XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIGJ1dHRvbiBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1idXR0b24tY29yZS1zdHlsZXNgIGluc3RlYWQuXG5AbWl4aW4gbWRjLWJ1dHRvbi1yaXBwbGUoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICBAaW5jbHVkZSBtZGMtcmlwcGxlLWNvbW1vbigkcXVlcnkpO1xuXG4gIC5tZGMtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2UoJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXJhZGl1cy1ib3VuZGVkKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzKHByaW1hcnksIGZhbHNlLCAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1idXR0b24tLXJhaXNlZCxcbiAgLm1kYy1idXR0b24tLXVuZWxldmF0ZWQge1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMob24tcHJpbWFyeSwgZmFsc2UsICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1idXR0b24tZmlsbGVkLWFjY2Vzc2libGUoJGNvbnRhaW5lci1maWxsLWNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmaWxsLXRvbmU6IG1kYy10aGVtZS10b25lKCRjb250YWluZXItZmlsbC1jb2xvcik7XG5cbiAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkY29udGFpbmVyLWZpbGwtY29sb3IsICRxdWVyeSk7XG5cbiAgQGlmICgkZmlsbC10b25lID09IFwiZGFya1wiKSB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1pbmstY29sb3IodGV4dC1wcmltYXJ5LW9uLWRhcmssICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcyh0ZXh0LXByaW1hcnktb24tZGFyaywgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWluay1jb2xvcih0ZXh0LXByaW1hcnktb24tbGlnaHQsICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcyh0ZXh0LXByaW1hcnktb24tbGlnaHQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkY29sb3IsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLy8gOm5vdCg6ZGlzYWJsZWQpIGlzIHVzZWQgdG8gc3VwcG9ydCBsaW5rIHN0eWxlZCBhcyBidXR0b25cbiAgLy8gYXMgbGluayBkb2VzIG5vdCBzdXBwb3J0IDplbmFibGVkIHN0eWxlXG4gICY6bm90KDpkaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvciwgJGVkZ2VPcHRPdXQ6IHRydWUpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbi1vdXRsaW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtYnV0dG9uLWljb24tY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gICY6bm90KDpkaXNhYmxlZCkgLm1kYy1idXR0b25fX2ljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbi1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gICY6bm90KDpkaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbi1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy1zaGFwZS1yYWRpdXMoXG4gICAgbWRjLXNoYXBlLXJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXMoJG1kYy1idXR0b24taGVpZ2h0LCAkcmFkaXVzKSxcbiAgICAkcnRsLXJlZmxleGl2ZSxcbiAgICAkcXVlcnk6ICRxdWVyeVxuICApO1xuXG4gICYubWRjLWJ1dHRvbi0tZGVuc2Uge1xuICAgIEBpbmNsdWRlIG1kYy1zaGFwZS1yYWRpdXMoXG4gICAgICBtZGMtc2hhcGUtcmVzb2x2ZS1wZXJjZW50YWdlLXJhZGl1cygkbWRjLWRlbnNlLWJ1dHRvbi1oZWlnaHQsICRyYWRpdXMpLFxuICAgICAgJHJ0bC1yZWZsZXhpdmUsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1idXR0b24taG9yaXpvbnRhbC1wYWRkaW5nKCRwYWRkaW5nLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAvLyAkcGFkZGluZyBzaG91bGQgYmUgYSBzaW5nbGUgdmFsdWU7IGVuZm9yY2UgaXQgYnkgc3BlY2lmeWluZyBhbGwgNCBzaWRlcyBpbiB0aGUgb3V0cHV0XG4gICAgcGFkZGluZzogMCAkcGFkZGluZyAwICRwYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtYnV0dG9uLW91dGxpbmUtd2lkdGgoXG4gICRvdXRsaW5lLXdpZHRoLFxuICAkcGFkZGluZzogJG1kYy1idXR0b24tY29udGFpbmVkLWhvcml6b250YWwtcGFkZGluZyxcbiAgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKVxuKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gIC8vIE5vdGU6IEFkanVzdCBwYWRkaW5nIHRvIG1haW50YWluIGNvbnNpc3RlbnQgd2lkdGggd2l0aCBub24tb3V0bGluZWQgYnV0dG9uc1xuICAkcGFkZGluZy12YWx1ZTogbWF4KCRwYWRkaW5nIC0gJG91dGxpbmUtd2lkdGgsIDApO1xuXG4gIEBpbmNsdWRlIG1kYy1idXR0b24taG9yaXpvbnRhbC1wYWRkaW5nKCRwYWRkaW5nLXZhbHVlLCAkcXVlcnkpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkb3V0bGluZS13aWR0aDtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbi1iYXNlXygkcXVlcnkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHkoYnV0dG9uLCAkcXVlcnkpO1xuICBAaW5jbHVkZSBtZGMtYnV0dG9uLWhvcml6b250YWwtcGFkZGluZygkbWRjLWJ1dHRvbi1ob3Jpem9udGFsLXBhZGRpbmcsICRxdWVyeSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1pbi13aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6ICRtZGMtYnV0dG9uLWhlaWdodDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogaWdub3JlXG4gICY6YWN0aXZlIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50KTtcblxuICAgICAgY29sb3I6ICRtZGMtYnV0dG9uLWRpc2FibGVkLWluay1jb2xvcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtYnV0dG9uX19pY29uXyB7XG4gIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLWJveChtYXJnaW4sIHJpZ2h0LCA4cHgpO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbl9faWNvbi10cmFpbGluZ18ge1xuICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1ib3gobWFyZ2luLCBsZWZ0LCA4cHgpO1xufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbl9faWNvbi1zdmdfIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbl9faWNvbi1jb250YWluZWRfIHtcbiAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCAtNHB4LCA4cHgpO1xufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbl9faWNvbi1jb250YWluZWQtdHJhaWxpbmdfIHtcbiAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCA4cHgsIC00cHgpO1xufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbi0tb3V0bGluZWRfKCRxdWVyeSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRtZGMtYnV0dG9uLWRpc2FibGVkLWluay1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1idXR0b24tLWZpbGxlZF8oJHF1ZXJ5KSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1idXR0b24taG9yaXpvbnRhbC1wYWRkaW5nKCRtZGMtYnV0dG9uLWNvbnRhaW5lZC1ob3Jpem9udGFsLXBhZGRpbmcsICRxdWVyeSk7XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjEyKTtcbiAgICAgIGNvbG9yOiAkbWRjLWJ1dHRvbi1kaXNhYmxlZC1pbmstY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtYnV0dG9uLS1yYWlzZWRfKCRxdWVyeSkge1xuICAkZmVhdC1hbmltYXRpb246IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBtZGMtZWxldmF0aW9uKDIsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBtZGMtZWxldmF0aW9uKDQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBAaW5jbHVkZSBtZGMtZWxldmF0aW9uKDgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIG1kYy1lbGV2YXRpb24oMCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiBtZGMtZWxldmF0aW9uLXRyYW5zaXRpb24tdmFsdWUoKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWJ1dHRvbi0tZGVuc2VfKCkge1xuICBoZWlnaHQ6ICRtZGMtZGVuc2UtYnV0dG9uLWhlaWdodDtcbiAgZm9udC1zaXplOiAuODEyNXJlbTsgLy8gMTNzcFxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbkBtaXhpbiBtZGMtdHlwb2dyYXBoeS1jb3JlLXN0eWxlcygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIC5tZGMtdHlwb2dyYXBoeSB7XG4gICAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHktYmFzZSgkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAZWFjaCAkc3R5bGUgaW4gbWFwLWtleXMoJG1kYy10eXBvZ3JhcGh5LXN0eWxlcykge1xuICAgIC5tZGMtdHlwb2dyYXBoeS0tI3skc3R5bGV9IHtcbiAgICAgIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KCRzdHlsZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLXR5cG9ncmFwaHktYmFzZSgkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXR5cG9ncmFwaHk6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCB0eXBvZ3JhcGh5KTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXR5cG9ncmFwaHkpIHtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1kYy10eXBvZ3JhcGh5LWJhc2Uge1xuICAgICAgI3ska2V5fTogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLXR5cG9ncmFwaHkoJHN0eWxlLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXR5cG9ncmFwaHk6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCB0eXBvZ3JhcGh5KTtcbiAgJHN0eWxlLXByb3BzOiBtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1zdHlsZXMsICRzdHlsZSk7XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWRjLXR5cG9ncmFwaHktc3R5bGVzLCAkc3R5bGUpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHN0eWxlIHNwZWNpZmllZCEgI3skc3R5bGV9IGRvZXNuJ3QgZXhpc3QuIENob29zZSBvbmUgb2YgI3ttYXAta2V5cygkbWRjLXR5cG9ncmFwaHktc3R5bGVzKX1cIjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtdHlwb2dyYXBoeSkge1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkc3R5bGUtcHJvcHMge1xuICAgICAgI3ska2V5fTogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBFbGVtZW50IG11c3QgYmUgYGRpc3BsYXk6IGJsb2NrYCBvciBgZGlzcGxheTogaW5saW5lLWJsb2NrYCBmb3IgdGhpcyB0byB3b3JrLlxuQG1peGluIG1kYy10eXBvZ3JhcGh5LW92ZXJmbG93LWVsbGlwc2lzKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXR5cG9ncmFwaHktYmFzZWxpbmUtdG9wKCRkaXN0YW5jZSwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5LWJhc2VsaW5lLXN0cnV0XygkZGlzdGFuY2UpO1xuXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy10eXBvZ3JhcGh5LWJhc2VsaW5lLWJvdHRvbSgkZGlzdGFuY2UsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIG1hcmdpbi1ib3R0b206IC0xICogJGRpc3RhbmNlO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeS1iYXNlbGluZS1zdHJ1dF8oJGRpc3RhbmNlKTtcblxuICAgICAgdmVydGljYWwtYWxpZ246IC0xICogJGRpc3RhbmNlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLXR5cG9ncmFwaHktYmFzZWxpbmUtc3RydXRfKCRkaXN0YW5jZSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6ICRkaXN0YW5jZTtcbiAgY29udGVudDogXCJcIjtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi9mdW5jdGlvbnNcIjtcblxuJG1kYy10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5OiB1bnF1b3RlKFwiUm9ib3RvLCBzYW5zLXNlcmlmXCIpICFkZWZhdWx0O1xuXG4kbWRjLXR5cG9ncmFwaHktYmFzZTogKFxuICBmb250LWZhbWlseTogJG1kYy10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LFxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlLFxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZCxcbikgIWRlZmF1bHQ7XG5cbiRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXM6IChcbiAgdGhpbjogMTAwLFxuICBsaWdodDogMzAwLFxuICByZWd1bGFyOiA0MDAsXG4gIG1lZGl1bTogNTAwLFxuICBib2xkOiA3MDAsXG4gIGJsYWNrOiA5MDBcbikgIWRlZmF1bHQ7XG5cbiRtZGMtdHlwb2dyYXBoeS1zdHlsZXM6IG1kYy10eXBvZ3JhcGh5LXNldC1zdHlsZXNfKFxuICAkbWRjLXR5cG9ncmFwaHktYmFzZSxcbiAgKFxuICAgIGhlYWRsaW5lMTogKFxuICAgICAgZm9udC1zaXplOiA2cmVtLCAvLyA5NnNwXG4gICAgICBsaW5lLWhlaWdodDogNnJlbSxcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXMsIGxpZ2h0KSxcbiAgICAgIGxldHRlci1zcGFjaW5nOiBtZGMtdHlwb2dyYXBoeS1nZXQtbGV0dGVyLXNwYWNpbmdfKC0xLjUsIDYpLFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0LFxuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXRcbiAgICApLFxuICAgIGhlYWRsaW5lMjogKFxuICAgICAgZm9udC1zaXplOiAzLjc1cmVtLCAvLyA2MHNwXG4gICAgICBsaW5lLWhlaWdodDogMy43NXJlbSxcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXMsIGxpZ2h0KSxcbiAgICAgIGxldHRlci1zcGFjaW5nOiBtZGMtdHlwb2dyYXBoeS1nZXQtbGV0dGVyLXNwYWNpbmdfKC0uNSwgMy43NSksXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQsXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdFxuICAgICksXG4gICAgaGVhZGxpbmUzOiAoXG4gICAgICBmb250LXNpemU6IDNyZW0sIC8vIDQ4cHhcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbSwgLy8gNTBweFxuICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LXZhbHVlcywgcmVndWxhciksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsLFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0LFxuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXRcbiAgICApLFxuICAgIGhlYWRsaW5lNDogKFxuICAgICAgZm9udC1zaXplOiAyLjEyNXJlbSwgLy8gMzRzcFxuICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbSwgLy8gNDBzcFxuICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LXZhbHVlcywgcmVndWxhciksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXyguMjUsIDIuMTI1KSxcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdCxcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0XG4gICAgKSxcbiAgICBoZWFkbGluZTU6IChcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtLCAvLyAyNHNwXG4gICAgICBsaW5lLWhlaWdodDogMnJlbSwgLy8gMzJzcFxuICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LXZhbHVlcywgcmVndWxhciksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsLFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0LFxuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXRcbiAgICApLFxuICAgIGhlYWRsaW5lNjogKFxuICAgICAgZm9udC1zaXplOiAxLjI1cmVtLCAvLyAyMHNwXG4gICAgICBsaW5lLWhlaWdodDogMnJlbSwgLy8gMzJzcFxuICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LXZhbHVlcywgbWVkaXVtKSxcbiAgICAgIGxldHRlci1zcGFjaW5nOiBtZGMtdHlwb2dyYXBoeS1nZXQtbGV0dGVyLXNwYWNpbmdfKC4yNSwgMS4yNSksXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQsXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdFxuICAgICksXG4gICAgc3VidGl0bGUxOiAoXG4gICAgICBmb250LXNpemU6IDFyZW0sIC8vIDE2c3BcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtLCAvLyAyOHNwXG4gICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWRjLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtdmFsdWVzLCByZWd1bGFyKSxcbiAgICAgIGxldHRlci1zcGFjaW5nOiBtZGMtdHlwb2dyYXBoeS1nZXQtbGV0dGVyLXNwYWNpbmdfKC4xNSwgMSksXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQsXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdFxuICAgICksXG4gICAgc3VidGl0bGUyOiAoXG4gICAgICBmb250LXNpemU6IC44NzVyZW0sIC8vIDE0c3BcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbSwgLy8gMjJzcFxuICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LXZhbHVlcywgbWVkaXVtKSxcbiAgICAgIGxldHRlci1zcGFjaW5nOiBtZGMtdHlwb2dyYXBoeS1nZXQtbGV0dGVyLXNwYWNpbmdfKC4xLCAuODc1KSxcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdCxcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0XG4gICAgKSxcbiAgICBib2R5MTogKFxuICAgICAgZm9udC1zaXplOiAxcmVtLCAvLyAxNnNwXG4gICAgICBsaW5lLWhlaWdodDogMS41cmVtLCAvLyAyNHNwXG4gICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWRjLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtdmFsdWVzLCByZWd1bGFyKSxcbiAgICAgIGxldHRlci1zcGFjaW5nOiBtZGMtdHlwb2dyYXBoeS1nZXQtbGV0dGVyLXNwYWNpbmdfKC41LCAxKSxcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdCxcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0XG4gICAgKSxcbiAgICBib2R5MjogKFxuICAgICAgZm9udC1zaXplOiAuODc1cmVtLCAvLyAxNHNwXG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbSwgLy8gMjBzcFxuICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LXZhbHVlcywgcmVndWxhciksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXyguMjUsIC44NzUpLFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0LFxuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXRcbiAgICApLFxuICAgIGNhcHRpb246IChcbiAgICAgIGZvbnQtc2l6ZTogLjc1cmVtLCAvLyAxMnNwXG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbSwgLy8gMjBzcFxuICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1kYy10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0LXZhbHVlcywgcmVndWxhciksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXyguNCwgLjc1KSxcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdCxcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0XG4gICAgKSxcbiAgICBidXR0b246IChcbiAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbSwgLy8gMTRzcFxuICAgICAgbGluZS1oZWlnaHQ6IDIuMjVyZW0sIC8vIDM2c3BcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXMsIG1lZGl1bSksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXygxLjI1LCAuODc1KSxcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSxcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2VcbiAgICApLFxuICAgIG92ZXJsaW5lOiAoXG4gICAgICBmb250LXNpemU6IC43NXJlbSwgLy8gMTJzcFxuICAgICAgbGluZS1oZWlnaHQ6IDJyZW0sIC8vIDMyc3BcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZGMtdHlwb2dyYXBoeS1mb250LXdlaWdodC12YWx1ZXMsIG1lZGl1bSksXG4gICAgICBsZXR0ZXItc3BhY2luZzogbWRjLXR5cG9ncmFwaHktZ2V0LWxldHRlci1zcGFjaW5nXygyLCAuNzUpLFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lLFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZVxuICAgICksXG4gIClcbikgIWRlZmF1bHQ7XG4iLCJcbi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AZnVuY3Rpb24gbWRjLXR5cG9ncmFwaHktZ2V0LWdsb2JhbC12YXJpYWJsZV8oJHN0eWxlKSB7XG4gIEBpZiAkc3R5bGUgPT0gXCJoZWFkbGluZTFcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWhlYWRsaW5lMTtcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJoZWFkbGluZTJcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWhlYWRsaW5lMjtcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJoZWFkbGluZTNcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWhlYWRsaW5lMztcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJoZWFkbGluZTRcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWhlYWRsaW5lNDtcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJoZWFkbGluZTVcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWhlYWRsaW5lNTtcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJoZWFkbGluZTZcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWhlYWRsaW5lNjtcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJzdWJ0aXRsZTFcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLXN1YnRpdGxlMTtcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJzdWJ0aXRsZTJcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLXN1YnRpdGxlMjtcbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gXCJib2R5MVwiIHtcbiAgICBAcmV0dXJuICRtZGMtdHlwb2dyYXBoeS1zdHlsZXMtYm9keTE7XG4gIH0gQGVsc2UgaWYgJHN0eWxlID09IFwiYm9keTJcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWJvZHkyO1xuICB9IEBlbHNlIGlmICRzdHlsZSA9PSBcImNhcHRpb25cIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLWNhcHRpb247XG4gIH0gQGVsc2UgaWYgJHN0eWxlID09IFwiYnV0dG9uXCIge1xuICAgIEByZXR1cm4gJG1kYy10eXBvZ3JhcGh5LXN0eWxlcy1idXR0b247XG4gIH0gQGVsc2UgaWYgJHN0eWxlID09IFwib3ZlcmxpbmVcIiB7XG4gICAgQHJldHVybiAkbWRjLXR5cG9ncmFwaHktc3R5bGVzLW92ZXJsaW5lO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG59XG5cbkBmdW5jdGlvbiBtZGMtdHlwb2dyYXBoeS1zZXQtc3R5bGVzXygkYmFzZS1zdHlsZXMsICRzY2FsZS1zdHlsZXMpIHtcbiAgQGVhY2ggJHN0eWxlLCAkc3R5bGUtcHJvcHMgaW4gJHNjYWxlLXN0eWxlcyB7XG5cbiAgICAvLyBNZXJnZSBiYXNlIHByb3BlcnRpZXMgZm9yIGFsbCBzdHlsZXMuXG4gICAgJHN0eWxlLXByb3BzOiBtYXAtbWVyZ2UoJGJhc2Utc3R5bGVzLCAkc3R5bGUtcHJvcHMpO1xuXG4gICAgLy8gTWVyZ2UgZ2xvYmFsIG92ZXJyaWRlcyBvbnRvIGVhY2ggc3R5bGUuXG4gICAgQGlmIGdsb2JhbF92YXJpYWJsZV9leGlzdHModW5xdW90ZShcIm1kYy10eXBvZ3JhcGh5LXN0eWxlcy0jeyRzdHlsZX1cIikpIHtcbiAgICAgICRzdHlsZS1wcm9wczogbWFwLW1lcmdlKCRzdHlsZS1wcm9wcywgbWRjLXR5cG9ncmFwaHktZ2V0LWdsb2JhbC12YXJpYWJsZV8oI3skc3R5bGV9KSk7XG4gICAgfVxuXG4gICAgLy8gT3ZlcnJpZGUgb3JpZ2luYWwgc3R5bGVzIHdpdGggbmV3IHN0eWxlcy5cbiAgICAkc2NhbGUtc3R5bGVzOiBtYXAtbWVyZ2UoJHNjYWxlLXN0eWxlcywgKCN7JHN0eWxlfTogJHN0eWxlLXByb3BzKSk7XG4gIH1cblxuICBAcmV0dXJuICRzY2FsZS1zdHlsZXM7XG59XG5cbkBmdW5jdGlvbiBtZGMtdHlwb2dyYXBoeS1nZXQtbGV0dGVyLXNwYWNpbmdfKCR0cmFja2luZywgJGZvbnQtc2l6ZSkge1xuICBAcmV0dXJuICR0cmFja2luZyAvICgkZm9udC1zaXplICogMTYpICogMWVtO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbiRtZGMtYnV0dG9uLWhlaWdodDogMzZweCAhZGVmYXVsdDtcbiRtZGMtYnV0dG9uLWhvcml6b250YWwtcGFkZGluZzogOHB4ICFkZWZhdWx0O1xuJG1kYy1idXR0b24tY29udGFpbmVkLWhvcml6b250YWwtcGFkZGluZzogMTZweCAhZGVmYXVsdDtcbiRtZGMtZGVuc2UtYnV0dG9uLWhlaWdodDogMzJweCAhZGVmYXVsdDtcbiRtZGMtYnV0dG9uLW91dGxpbmVkLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4kbWRjLWJ1dHRvbi1kaXNhYmxlZC1pbmstY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zNykgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuL2Z1bmN0aW9uc1wiO1xuXG5AbWl4aW4gbWRjLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC8vIEV2ZW4gaWYgJHJ0bC1yZWZsZXhpdmUgaXMgdHJ1ZSwgb25seSBlbWl0IFJUTCBzdHlsZXMgaWYgd2UgY2FuJ3QgZWFzaWx5IHRlbGwgdGhhdCB0aGUgZ2l2ZW4gcmFkaXVzIGlzIHN5bW1ldHJpY2FsXG4gICAgJG5lZWRzLWZsaXA6ICRydGwtcmVmbGV4aXZlIGFuZCBsZW5ndGgoJHJhZGl1cykgPiAxO1xuXG4gICAgQGlmICgkbmVlZHMtZmxpcCkge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgIH1cblxuICAgIGJvcmRlci1yYWRpdXM6IG1kYy1zaGFwZS1wcm9wLXZhbHVlKCRyYWRpdXMpO1xuXG4gICAgQGlmICgkbmVlZHMtZmxpcCkge1xuICAgICAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgYm9yZGVyLXJhZGl1czogbWRjLXNoYXBlLWZsaXAtcmFkaXVzKG1kYy1zaGFwZS1wcm9wLXZhbHVlKCRyYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4vLyBTaGFwZSBjYXRlZ29yaWVzXG4kbWRjLXNoYXBlLXNtYWxsLWNvbXBvbmVudC1yYWRpdXM6IDRweCAhZGVmYXVsdDtcbiRtZGMtc2hhcGUtbWVkaXVtLWNvbXBvbmVudC1yYWRpdXM6IDRweCAhZGVmYXVsdDtcbiRtZGMtc2hhcGUtbGFyZ2UtY29tcG9uZW50LXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8gU2hhcGUgY2F0ZWdvcnkgbWFwcGluZy5cbiRtZGMtc2hhcGUtY2F0ZWdvcnktdmFsdWVzOiAoXG4gIHNtYWxsOiAkbWRjLXNoYXBlLXNtYWxsLWNvbXBvbmVudC1yYWRpdXMsXG4gIG1lZGl1bTogJG1kYy1zaGFwZS1tZWRpdW0tY29tcG9uZW50LXJhZGl1cyxcbiAgbGFyZ2U6ICRtZGMtc2hhcGUtbGFyZ2UtY29tcG9uZW50LXJhZGl1cyxcbikgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuL2Z1bmN0aW9uc1wiO1xuXG5AbWl4aW4gbWRjLXRoZW1lLWNvcmUtc3R5bGVzKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgOnJvb3Qge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBlYWNoICRzdHlsZSBpbiBtYXAta2V5cygkbWRjLXRoZW1lLXByb3BlcnR5LXZhbHVlcykge1xuICAgICAgICAtLW1kYy10aGVtZS0jeyRzdHlsZX06ICN7bWFwLWdldCgkbWRjLXRoZW1lLXByb3BlcnR5LXZhbHVlcywgJHN0eWxlKX07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJHN0eWxlIGluIG1hcC1rZXlzKCRtZGMtdGhlbWUtcHJvcGVydHktdmFsdWVzKSB7XG4gICAgQGlmICRzdHlsZSAhPSBcImJhY2tncm91bmRcIiBhbmQgJHN0eWxlICE9IFwic3VyZmFjZVwiIHtcbiAgICAgIC5tZGMtdGhlbWUtLSN7JHN0eWxlfSB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJHN0eWxlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgLm1kYy10aGVtZS0tI3skc3R5bGV9IHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRzdHlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDU1MgcnVsZXMgZm9yIHVzaW5nIHByaW1hcnkgYW5kIHNlY29uZGFyeSAocGx1cyBsaWdodC9kYXJrIHZhcmlhbnRzKSBhcyBiYWNrZ3JvdW5kIGNvbG9ycy5cbiAgQGVhY2ggJHN0eWxlIGluIChcInByaW1hcnlcIiwgXCJzZWNvbmRhcnlcIikge1xuICAgIC5tZGMtdGhlbWUtLSN7JHN0eWxlfS1iZyB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRzdHlsZSwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFwcGxpZXMgdGhlIGNvcnJlY3QgdGhlbWUgY29sb3Igc3R5bGUgdG8gdGhlIHNwZWNpZmllZCBwcm9wZXJ0eS5cbi8vICRwcm9wZXJ0eSBpcyB0eXBpY2FsbHkgY29sb3Igb3IgYmFja2dyb3VuZC1jb2xvciwgYnV0IGNhbiBiZSBhbnkgQ1NTIHByb3BlcnR5IHRoYXQgYWNjZXB0cyBjb2xvciB2YWx1ZXMuXG4vLyAkc3R5bGUgc2hvdWxkIGJlIG9uZSBvZiB0aGUgbWFwIGtleXMgaW4gJG1kYy10aGVtZS1wcm9wZXJ0eS12YWx1ZXMgKF92YXJpYWJsZXMuc2NzcyksIG9yIGEgY29sb3IgdmFsdWUuXG4vLyAkZWRnZU9wdE91dCBjb250cm9scyB3aGV0aGVyIHRvIGZlYXR1cmUtZGV0ZWN0IGFyb3VuZCBFZGdlIHRvIGF2b2lkIGVtaXR0aW5nIENTUyB2YXJpYWJsZXMgZm9yIGl0LFxuLy8gaW50ZW5kZWQgZm9yIHVzZSBpbiBjYXNlcyB3aGVyZSBpbnRlcmFjdGlvbnMgd2l0aCBwc2V1ZG8tZWxlbWVudCBzdHlsZXMgY2F1c2UgcHJvYmxlbXMgZHVlIHRvIEVkZ2UgYnVncy5cbkBtaXhpbiBtZGMtdGhlbWUtcHJvcCgkcHJvcGVydHksICRzdHlsZSwgJGltcG9ydGFudDogZmFsc2UsICRlZGdlT3B0T3V0OiBmYWxzZSkge1xuICBAaWYgbWRjLXRoZW1lLWlzLXZhci13aXRoLWZhbGxiYWNrXygkc3R5bGUpIHtcbiAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICAjeyRwcm9wZXJ0eX06IG1kYy10aGVtZS1nZXQtdmFyLWZhbGxiYWNrXygkc3R5bGUpICFpbXBvcnRhbnQ7XG4gICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICAjeyRwcm9wZXJ0eX06IG1kYy10aGVtZS12YXJfKCRzdHlsZSkgIWltcG9ydGFudDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICN7JHByb3BlcnR5fTogbWRjLXRoZW1lLWdldC12YXItZmFsbGJhY2tfKCRzdHlsZSk7XG4gICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICAjeyRwcm9wZXJ0eX06IG1kYy10aGVtZS12YXJfKCRzdHlsZSk7XG4gICAgfVxuICB9IEBlbHNlIGlmIG1kYy10aGVtZS1pcy12YWxpZC10aGVtZS1wcm9wLXZhbHVlXygkc3R5bGUpIHtcbiAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICRzdHlsZSAhaW1wb3J0YW50O1xuICAgIH0gQGVsc2Uge1xuICAgICAgI3skcHJvcGVydHl9OiAkc3R5bGU7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZGMtdGhlbWUtcHJvcGVydHktdmFsdWVzLCAkc3R5bGUpIHtcbiAgICAgIEBlcnJvciBcIkludmFsaWQgc3R5bGU6ICcjeyRzdHlsZX0nLiBDaG9vc2Ugb25lIG9mOiAje21hcC1rZXlzKCRtZGMtdGhlbWUtcHJvcGVydHktdmFsdWVzKX1cIjtcbiAgICB9XG5cbiAgICAkdmFsdWU6IG1hcC1nZXQoJG1kYy10aGVtZS1wcm9wZXJ0eS12YWx1ZXMsICRzdHlsZSk7XG5cbiAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSAhaW1wb3J0YW50O1xuXG4gICAgICBAaWYgJGVkZ2VPcHRPdXQge1xuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbmVzdGluZy1kZXB0aFxuICAgICAgICBAYXQtcm9vdCB7XG4gICAgICAgICAgLy8gSUUgMTEgZG9lc24ndCB1bmRlcnN0YW5kIHRoaXMgc3ludGF4IGFuZCBpZ25vcmVzIHRoZSBlbnRpcmUgYmxvY2suXG4gICAgICAgICAgLy8gRWRnZSB1bmRlcnN0YW5kcyB0aGlzIHN5bnRheCBhbmQgc2tpcHMgdGhlIGVudGlyZSBibG9jayB0byBhdm9pZCBhIG5hc3R5IDpiZWZvcmUvOmFmdGVyIHBzZXVkby1lbGVtZW50IGJ1Zy5cbiAgICAgICAgICAvLyBBbGwgb3RoZXIgYnJvd3NlcnMgYXBwbHkgdGhlIHN0eWxlcyB3aXRoaW4gdGhlIGJsb2NrLlxuICAgICAgICAgIEBzdXBwb3J0cyBub3QgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3Mvc2VsZWN0b3Itbm8tcmVkdW5kYW50LW5lc3Rpbmctc2VsZWN0b3JcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICAgICAgICAgICN7JHByb3BlcnR5fTogdmFyKC0tbWRjLXRoZW1lLSN7JHN0eWxlfSwgJHZhbHVlKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWVuYWJsZSBzY3NzL3NlbGVjdG9yLW5vLXJlZHVuZGFudC1uZXN0aW5nLXNlbGVjdG9yXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgbWF4LW5lc3RpbmctZGVwdGhcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICAgICN7JHByb3BlcnR5fTogdmFyKC0tbWRjLXRoZW1lLSN7JHN0eWxlfSwgJHZhbHVlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG5cbiAgICAgIEBpZiAkZWRnZU9wdE91dCB7XG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIG1heC1uZXN0aW5nLWRlcHRoXG4gICAgICAgIEBhdC1yb290IHtcbiAgICAgICAgICAvLyBJRSAxMSBkb2Vzbid0IHVuZGVyc3RhbmQgdGhpcyBzeW50YXggYW5kIGlnbm9yZXMgdGhlIGVudGlyZSBibG9jay5cbiAgICAgICAgICAvLyBFZGdlIHVuZGVyc3RhbmRzIHRoaXMgc3ludGF4IGFuZCBza2lwcyB0aGUgZW50aXJlIGJsb2NrIHRvIGF2b2lkIGEgbmFzdHkgOmJlZm9yZS86YWZ0ZXIgcHNldWRvLWVsZW1lbnQgYnVnLlxuICAgICAgICAgIC8vIEFsbCBvdGhlciBicm93c2VycyBhcHBseSB0aGUgc3R5bGVzIHdpdGhpbiB0aGUgYmxvY2suXG4gICAgICAgICAgQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9zZWxlY3Rvci1uby1yZWR1bmRhbnQtbmVzdGluZy1zZWxlY3RvclxuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICAgICAgICAgICAgI3skcHJvcGVydHl9OiB2YXIoLS1tZGMtdGhlbWUtI3skc3R5bGV9LCAkdmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWVuYWJsZSBzY3NzL3NlbGVjdG9yLW5vLXJlZHVuZGFudC1uZXN0aW5nLXNlbGVjdG9yXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgbWF4LW5lc3RpbmctZGVwdGhcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICAgICN7JHByb3BlcnR5fTogdmFyKC0tbWRjLXRoZW1lLSN7JHN0eWxlfSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi9mdW5jdGlvbnNcIjtcblxuLy9cbi8vIE1haW4gdGhlbWUgY29sb3JzIGZvciB5b3VyIGJyYW5kLlxuLy9cbi8vIElmIHlvdSdyZSBhIHVzZXIgY3VzdG9taXppbmcgeW91ciBjb2xvciBzY2hlbWUgaW4gU0FTUywgdGhlc2UgYXJlIHByb2JhYmx5IHRoZSBvbmx5IHZhcmlhYmxlcyB5b3UgbmVlZCB0byBjaGFuZ2UuXG4vL1xuXG4kbWRjLXRoZW1lLXByaW1hcnk6ICM2MjAwZWUgIWRlZmF1bHQ7IC8vIGJhc2VsaW5lIHB1cnBsZSwgNTAwIHRvbmVcbiRtZGMtdGhlbWUtb24tcHJpbWFyeTogaWYobWRjLXRoZW1lLWNvbnRyYXN0LXRvbmUoJG1kYy10aGVtZS1wcmltYXJ5KSA9PSBcImRhcmtcIiwgIzAwMCwgI2ZmZikgIWRlZmF1bHQ7XG5cbi8vIFRoZSAkbWRjLXRoZW1lLWFjY2VudCB2YXJpYWJsZSBpcyBERVBSRUNBVEVEIC0gaXQgZXhpc3RzIHB1cmVseSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbi8vIFRoZSAkbWRjLXRoZW1lLXNlY29uZGFyeSogdmFyaWFibGVzIHNob3VsZCBiZSB1c2VkIGZvciBhbGwgbmV3IHByb2plY3RzLlxuJG1kYy10aGVtZS1hY2NlbnQ6ICMwMTg3ODYgIWRlZmF1bHQ7IC8vIGJhc2VsaW5lIHRlYWwsIDYwMCB0b25lXG4kbWRjLXRoZW1lLXNlY29uZGFyeTogJG1kYy10aGVtZS1hY2NlbnQgIWRlZmF1bHQ7XG4kbWRjLXRoZW1lLW9uLXNlY29uZGFyeTogaWYobWRjLXRoZW1lLWNvbnRyYXN0LXRvbmUoJG1kYy10aGVtZS1zZWNvbmRhcnkpID09IFwiZGFya1wiLCAjMDAwLCAjZmZmKSAhZGVmYXVsdDtcbiRtZGMtdGhlbWUtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDsgLy8gV2hpdGVcblxuJG1kYy10aGVtZS1zdXJmYWNlOiAjZmZmICFkZWZhdWx0O1xuJG1kYy10aGVtZS1vbi1zdXJmYWNlOiBpZihtZGMtdGhlbWUtY29udHJhc3QtdG9uZSgkbWRjLXRoZW1lLXN1cmZhY2UpID09IFwiZGFya1wiLCAjMDAwLCAjZmZmKSAhZGVmYXVsdDtcblxuJG1kYy10aGVtZS1lcnJvcjogI2IwMDAyMCAhZGVmYXVsdDtcbiRtZGMtdGhlbWUtb24tZXJyb3I6IGlmKG1kYy10aGVtZS1jb250cmFzdC10b25lKCRtZGMtdGhlbWUtZXJyb3IpID09IFwiZGFya1wiLCAjMDAwLCAjZmZmKSAhZGVmYXVsdDtcblxuLy9cbi8vIFRleHQgY29sb3JzIGFjY29yZGluZyB0byBsaWdodCB2cyBkYXJrIGFuZCB0ZXh0IHR5cGUuXG4vL1xuXG4kbWRjLXRoZW1lLXRleHQtY29sb3JzOiAoXG4gIGRhcms6IChcbiAgICBwcmltYXJ5OiByZ2JhKGJsYWNrLCAuODcpLFxuICAgIHNlY29uZGFyeTogcmdiYShibGFjaywgLjU0KSxcbiAgICBoaW50OiByZ2JhKGJsYWNrLCAuMzgpLFxuICAgIGRpc2FibGVkOiByZ2JhKGJsYWNrLCAuMzgpLFxuICAgIGljb246IHJnYmEoYmxhY2ssIC4zOClcbiAgKSxcbiAgbGlnaHQ6IChcbiAgICBwcmltYXJ5OiB3aGl0ZSxcbiAgICBzZWNvbmRhcnk6IHJnYmEod2hpdGUsIC43KSxcbiAgICBoaW50OiByZ2JhKHdoaXRlLCAuNSksXG4gICAgZGlzYWJsZWQ6IHJnYmEod2hpdGUsIC41KSxcbiAgICBpY29uOiByZ2JhKHdoaXRlLCAuNSlcbiAgKVxuKSAhZGVmYXVsdDtcblxuJG1kYy10aGVtZS10ZXh0LWVtcGhhc2lzOiAoXG4gIGhpZ2g6IC44NyxcbiAgbWVkaXVtOiAuNixcbiAgZGlzYWJsZWQ6IC4zOCxcbikgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBtZGMtdGhlbWUtaW5rLWNvbG9yLWZvci1maWxsXygkdGV4dC1zdHlsZSwgJGZpbGwtY29sb3IpIHtcbiAgJGNvbnRyYXN0LXRvbmU6IG1kYy10aGVtZS1jb250cmFzdC10b25lKCRmaWxsLWNvbG9yKTtcblxuICBAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkbWRjLXRoZW1lLXRleHQtY29sb3JzLCAkY29udHJhc3QtdG9uZSksICR0ZXh0LXN0eWxlKTtcbn1cblxuLy9cbi8vIFByaW1hcnkgdGV4dCBjb2xvcnMgZm9yIGVhY2ggb2YgdGhlIHRoZW1lIGNvbG9ycy5cbi8vXG5cbiRtZGMtdGhlbWUtcHJvcGVydHktdmFsdWVzOiAoXG4gIC8vIFByaW1hcnlcbiAgcHJpbWFyeTogJG1kYy10aGVtZS1wcmltYXJ5LFxuICAvLyBTZWNvbmRhcnlcbiAgc2Vjb25kYXJ5OiAkbWRjLXRoZW1lLXNlY29uZGFyeSxcbiAgLy8gQmFja2dyb3VuZFxuICBiYWNrZ3JvdW5kOiAkbWRjLXRoZW1lLWJhY2tncm91bmQsXG4gIC8vIFN1cmZhY2VcbiAgc3VyZmFjZTogJG1kYy10aGVtZS1zdXJmYWNlLFxuICAvLyBFcnJvclxuICBlcnJvcjogJG1kYy10aGVtZS1lcnJvcixcbiAgb24tcHJpbWFyeTogJG1kYy10aGVtZS1vbi1wcmltYXJ5LFxuICBvbi1zZWNvbmRhcnk6ICRtZGMtdGhlbWUtb24tc2Vjb25kYXJ5LFxuICBvbi1zdXJmYWNlOiAkbWRjLXRoZW1lLW9uLXN1cmZhY2UsXG4gIG9uLWVycm9yOiAkbWRjLXRoZW1lLW9uLWVycm9yLFxuICAvLyBUZXh0LXByaW1hcnkgb24gXCJiYWNrZ3JvdW5kXCIgYmFja2dyb3VuZFxuICB0ZXh0LXByaW1hcnktb24tYmFja2dyb3VuZDogbWRjLXRoZW1lLWluay1jb2xvci1mb3ItZmlsbF8ocHJpbWFyeSwgJG1kYy10aGVtZS1iYWNrZ3JvdW5kKSxcbiAgdGV4dC1zZWNvbmRhcnktb24tYmFja2dyb3VuZDogbWRjLXRoZW1lLWluay1jb2xvci1mb3ItZmlsbF8oc2Vjb25kYXJ5LCAkbWRjLXRoZW1lLWJhY2tncm91bmQpLFxuICB0ZXh0LWhpbnQtb24tYmFja2dyb3VuZDogbWRjLXRoZW1lLWluay1jb2xvci1mb3ItZmlsbF8oaGludCwgJG1kYy10aGVtZS1iYWNrZ3JvdW5kKSxcbiAgdGV4dC1kaXNhYmxlZC1vbi1iYWNrZ3JvdW5kOiBtZGMtdGhlbWUtaW5rLWNvbG9yLWZvci1maWxsXyhkaXNhYmxlZCwgJG1kYy10aGVtZS1iYWNrZ3JvdW5kKSxcbiAgdGV4dC1pY29uLW9uLWJhY2tncm91bmQ6IG1kYy10aGVtZS1pbmstY29sb3ItZm9yLWZpbGxfKGljb24sICRtZGMtdGhlbWUtYmFja2dyb3VuZCksXG4gIC8vIFRleHQtcHJpbWFyeSBvbiBcImxpZ2h0XCIgYmFja2dyb3VuZFxuICB0ZXh0LXByaW1hcnktb24tbGlnaHQ6IG1kYy10aGVtZS1pbmstY29sb3ItZm9yLWZpbGxfKHByaW1hcnksIGxpZ2h0KSxcbiAgdGV4dC1zZWNvbmRhcnktb24tbGlnaHQ6IG1kYy10aGVtZS1pbmstY29sb3ItZm9yLWZpbGxfKHNlY29uZGFyeSwgbGlnaHQpLFxuICB0ZXh0LWhpbnQtb24tbGlnaHQ6IG1kYy10aGVtZS1pbmstY29sb3ItZm9yLWZpbGxfKGhpbnQsIGxpZ2h0KSxcbiAgdGV4dC1kaXNhYmxlZC1vbi1saWdodDogbWRjLXRoZW1lLWluay1jb2xvci1mb3ItZmlsbF8oZGlzYWJsZWQsIGxpZ2h0KSxcbiAgdGV4dC1pY29uLW9uLWxpZ2h0OiBtZGMtdGhlbWUtaW5rLWNvbG9yLWZvci1maWxsXyhpY29uLCBsaWdodCksXG4gIC8vIFRleHQtcHJpbWFyeSBvbiBcImRhcmtcIiBiYWNrZ3JvdW5kXG4gIHRleHQtcHJpbWFyeS1vbi1kYXJrOiBtZGMtdGhlbWUtaW5rLWNvbG9yLWZvci1maWxsXyhwcmltYXJ5LCBkYXJrKSxcbiAgdGV4dC1zZWNvbmRhcnktb24tZGFyazogbWRjLXRoZW1lLWluay1jb2xvci1mb3ItZmlsbF8oc2Vjb25kYXJ5LCBkYXJrKSxcbiAgdGV4dC1oaW50LW9uLWRhcms6IG1kYy10aGVtZS1pbmstY29sb3ItZm9yLWZpbGxfKGhpbnQsIGRhcmspLFxuICB0ZXh0LWRpc2FibGVkLW9uLWRhcms6IG1kYy10aGVtZS1pbmstY29sb3ItZm9yLWZpbGxfKGRpc2FibGVkLCBkYXJrKSxcbiAgdGV4dC1pY29uLW9uLWRhcms6IG1kYy10aGVtZS1pbmstY29sb3ItZm9yLWZpbGxfKGljb24sIGRhcmspXG4pICFkZWZhdWx0O1xuXG4vLyBJZiBgJHN0eWxlYCBpcyBhIGNvbG9yIChhIGxpdGVyYWwgY29sb3IgdmFsdWUsIGBjdXJyZW50Q29sb3JgLCBvciBhIENTUyBjdXN0b20gcHJvcGVydHkpLCBpdCBpcyByZXR1cm5lZCB2ZXJiYXRpbS5cbi8vIE90aGVyd2lzZSwgYCRzdHlsZWAgaXMgdHJlYXRlZCBhcyBhIHRoZW1lIHByb3BlcnR5IG5hbWUsIGFuZCB0aGUgY29ycmVzcG9uZGluZyB2YWx1ZSBmcm9tXG4vLyBgJG1kYy10aGVtZS1wcm9wZXJ0eS12YWx1ZXNgIGlzIHJldHVybmVkLiBJZiB0aGlzIGFsc28gZmFpbHMsIGFuIGVycm9yIGlzIHRocm93bi5cbi8vXG4vLyBUaGlzIGlzIG1haW5seSB1c2VmdWwgaW4gc2l0dWF0aW9ucyB3aGVyZSBgbWRjLXRoZW1lLXByb3BgIGNhbm5vdCBiZSB1c2VkIGRpcmVjdGx5IChlLmcuLCBgYm94LXNoYWRvd2ApLlxuLy9cbi8vIEV4YW1wbGVzOlxuLy9cbi8vIDEuIG1kYy10aGVtZS1wcm9wLXZhbHVlKHByaW1hcnkpID0+IFwiIzYyMDBlZVwiXG4vLyAyLiBtZGMtdGhlbWUtcHJvcC12YWx1ZShibHVlKSAgICA9PiBcImJsdWVcIlxuLy9cbi8vIE5PVEU6IFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBkZWZpbmVkIGluIF92YXJpYWJsZXMuc2NzcyBpbnN0ZWFkIG9mIF9mdW5jdGlvbnMuc2NzcyB0byBhdm9pZCBjaXJjdWxhciBpbXBvcnRzLlxuQGZ1bmN0aW9uIG1kYy10aGVtZS1wcm9wLXZhbHVlKCRzdHlsZSkge1xuICBAaWYgbWRjLXRoZW1lLWlzLXZhci13aXRoLWZhbGxiYWNrXygkc3R5bGUpIHtcbiAgICBAcmV0dXJuIG1kYy10aGVtZS1nZXQtdmFyLWZhbGxiYWNrXygkc3R5bGUpO1xuICB9XG5cbiAgQGlmIG1kYy10aGVtZS1pcy12YWxpZC10aGVtZS1wcm9wLXZhbHVlXygkc3R5bGUpIHtcbiAgICBAcmV0dXJuICRzdHlsZTtcbiAgfVxuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1kYy10aGVtZS1wcm9wZXJ0eS12YWx1ZXMsICRzdHlsZSkge1xuICAgIEBlcnJvciBcIkludmFsaWQgdGhlbWUgcHJvcGVydHk6ICcjeyRzdHlsZX0nLiBDaG9vc2Ugb25lIG9mOiAje21hcC1rZXlzKCRtZGMtdGhlbWUtcHJvcGVydHktdmFsdWVzKX1cIjtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLWdldCgkbWRjLXRoZW1lLXByb3BlcnR5LXZhbHVlcywgJHN0eWxlKTtcbn1cblxuLy8gTk9URTogVGhpcyBmdW5jdGlvbiBtdXN0IGJlIGRlZmluZWQgaW4gX3ZhcmlhYmxlcy5zY3NzIGluc3RlYWQgb2YgX2Z1bmN0aW9ucy5zY3NzIHRvIGF2b2lkIGNpcmN1bGFyIGltcG9ydHMuXG5AZnVuY3Rpb24gbWRjLXRoZW1lLWFjY2Vzc2libGUtaW5rLWNvbG9yKCRmaWxsLWNvbG9yLCAkdGV4dC1zdHlsZTogcHJpbWFyeSkge1xuICAkZmlsbC1jb2xvci12YWx1ZTogbWRjLXRoZW1lLXByb3AtdmFsdWUoJGZpbGwtY29sb3IpO1xuICAkY29sb3ItbWFwLWZvci10b25lOiBtYXAtZ2V0KCRtZGMtdGhlbWUtdGV4dC1jb2xvcnMsIG1kYy10aGVtZS1jb250cmFzdC10b25lKCRmaWxsLWNvbG9yLXZhbHVlKSk7XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkY29sb3ItbWFwLWZvci10b25lLCAkdGV4dC1zdHlsZSkge1xuICAgIEBlcnJvciBcIkludmFsaWQgJHRleHQtc3R5bGU6ICcjeyR0ZXh0LXN0eWxlfScuIENob29zZSBvbmUgb2Y6ICN7bWFwLWtleXMoJGNvbG9yLW1hcC1mb3ItdG9uZSl9XCI7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9yLW1hcC1mb3ItdG9uZSwgJHRleHQtc3R5bGUpO1xufVxuXG4vLyBOT1RFOiBUaGlzIGZ1bmN0aW9uIGlzIGRlcGVuZGVkIHVwb24gYnkgbWRjLXRoZW1lLXByb3AtdmFsdWUgKGFib3ZlKSBhbmQgdGh1cyBtdXN0IGJlIGRlZmluZWQgaW4gdGhpcyBmaWxlLlxuQGZ1bmN0aW9uIG1kYy10aGVtZS1pcy12YWxpZC10aGVtZS1wcm9wLXZhbHVlXygkc3R5bGUpIHtcbiAgQHJldHVybiB0eXBlLW9mKCRzdHlsZSkgPT0gXCJjb2xvclwiIG9yXG4gICAgJHN0eWxlID09IFwiY3VycmVudENvbG9yXCIgb3JcbiAgICBzdHJfc2xpY2UoJHN0eWxlLCAxLCA0KSA9PSBcInZhcihcIiBvclxuICAgICRzdHlsZSA9PSBcImluaGVyaXRcIiBvclxuICAgICRzdHlsZSA9PSBcInRyYW5zcGFyZW50XCI7XG59XG5cbkBmdW5jdGlvbiBtZGMtdGhlbWUtdGV4dC1lbXBoYXNpcygkZW1waGFzaXMpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRtZGMtdGhlbWUtdGV4dC1lbXBoYXNpcywgJGVtcGhhc2lzKTtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuLy8gQ3JlYXRlcyBhIHJ1bGUgdGhhdCB3aWxsIGJlIGFwcGxpZWQgd2hlbiBhbiBNREMgV2ViIGNvbXBvbmVudCBpcyB3aXRoaW4gdGhlIGNvbnRleHQgb2YgYW4gUlRMIGxheW91dC5cbi8vXG4vLyBVc2FnZSBFeGFtcGxlOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICBsZWZ0OiAwO1xuLy9cbi8vICAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4vLyAgICAgbGVmdDogYXV0bztcbi8vICAgICByaWdodDogMDtcbi8vICAgfVxuLy9cbi8vICAgJl9fYmFyIHtcbi8vICAgICBtYXJnaW4tbGVmdDogNHB4O1xuLy8gICAgIEBpbmNsdWRlIG1kYy1ydGwoXCIubWRjLWZvb1wiKSB7XG4vLyAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbi8vICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuLy8gICAgIH1cbi8vICAgfVxuLy8gfVxuLy9cbi8vIC5tZGMtZm9vLS1tb2Qge1xuLy8gICBwYWRkaW5nLWxlZnQ6IDRweDtcbi8vXG4vLyAgIEBpbmNsdWRlIG1kYy1ydGwge1xuLy8gICAgIHBhZGRpbmctbGVmdDogYXV0bztcbi8vICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIE5vdGUgdGhhdCB0aGlzIG1peGluIHdvcmtzIGJ5IGNoZWNraW5nIGZvciBhbiBhbmNlc3RvciBlbGVtZW50IHdpdGggYFtkaXI9XCJydGxcIl1gLlxuLy8gQXMgYSByZXN1bHQsIG5lc3RlZCBgZGlyYCB2YWx1ZXMgYXJlIG5vdCBzdXBwb3J0ZWQ6XG4vL1xuLy8gYGBgaHRtbFxuLy8gPGh0bWwgZGlyPVwicnRsXCI+XG4vLyAgIDwhLS0gLi4uIC0tPlxuLy8gICA8ZGl2IGRpcj1cImx0clwiPlxuLy8gICAgIDxkaXYgY2xhc3M9XCJtZGMtZm9vXCI+U3R5bGVkIGluY29ycmVjdGx5IGFzIFJUTCE8L2Rpdj5cbi8vICAgPC9kaXY+XG4vLyA8L2h0bWw+XG4vLyBgYGBcbi8vXG4vLyBJbiB0aGUgZnV0dXJlLCBzZWxlY3RvcnMgc3VjaCBhcyB0aGUgYDpkaXJgIHBzZXVkby1jbGFzcyAoaHR0cDovL21kbi5pby9jc3MvOmRpcikgd2lsbCBoZWxwIHVzIG1pdGlnYXRlIHRoaXMuXG5AbWl4aW4gbWRjLXJ0bCgkcm9vdC1zZWxlY3RvcjogbnVsbCkge1xuICBAaWYgKCRtZGMtcnRsLWluY2x1ZGUpIHtcbiAgICBAaWYgKCRyb290LXNlbGVjdG9yKSB7XG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgICN7JHJvb3Qtc2VsZWN0b3J9W2Rpcj1cInJ0bFwiXSAmLFxuICAgICAgICBbZGlyPVwicnRsXCJdICN7JHJvb3Qtc2VsZWN0b3J9ICYge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBbZGlyPVwicnRsXCJdICYsXG4gICAgICAmW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUYWtlcyBhIGJhc2UgYm94LW1vZGVsIHByb3BlcnR5IG5hbWUgKGBtYXJnaW5gLCBgYm9yZGVyYCwgYHBhZGRpbmdgLCBldGMuKSBhbG9uZyB3aXRoIGFcbi8vIGRlZmF1bHQgZGlyZWN0aW9uIChgbGVmdGAgb3IgYHJpZ2h0YCkgYW5kIHZhbHVlLCBhbmQgZW1pdHMgcnVsZXMgd2hpY2ggYXBwbHkgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZVxuLy8gc3BlY2lmaWVkIGRpcmVjdGlvbiBieSBkZWZhdWx0IGFuZCB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uIGluIFJUTC5cbi8vXG4vLyBGb3IgZXhhbXBsZTpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLWJveChtYXJnaW4sIGxlZnQsIDhweCk7XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBpcyBlcXVpdmFsZW50IHRvOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgbWFyZ2luLWxlZnQ6IDhweDtcbi8vICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy9cbi8vICAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XG4vLyAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIHdoZXJlYXM6XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1ib3gobWFyZ2luLCByaWdodCwgOHB4KTtcbi8vIH1cbi8vIGBgYFxuLy9cbi8vIGlzIGVxdWl2YWxlbnQgdG86XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBtYXJnaW4tbGVmdDogMDtcbi8vICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4vL1xuLy8gICBAaW5jbHVkZSBtZGMtcnRsIHtcbi8vICAgICBtYXJnaW4tbGVmdDogOHB4O1xuLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vICAgfVxuLy8gfVxuLy8gYGBgXG4vL1xuLy8gWW91IGNhbiBhbHNvIHBhc3MgYW4gb3B0aW9uYWwgNHRoIGAkcm9vdC1zZWxlY3RvcmAgYXJndW1lbnQgd2hpY2ggd2lsbCBiZSBmb3J3YXJkZWQgdG8gYG1kYy1ydGxgLFxuLy8gZS5nLiBgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgOHB4LCBcIi5tZGMtY29tcG9uZW50XCIpYC5cbi8vXG4vLyBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiB3aWxsIGFsd2F5cyB6ZXJvIG91dCB0aGUgb3JpZ2luYWwgdmFsdWUgaW4gYW4gUlRMIGNvbnRleHQuXG4vLyBJZiB5b3UncmUgdHJ5aW5nIHRvIGZsaXAgdGhlIHZhbHVlcywgdXNlIGBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eSgpYCBpbnN0ZWFkLlxuQG1peGluIG1kYy1ydGwtcmVmbGV4aXZlLWJveCgkYmFzZS1wcm9wZXJ0eSwgJGRlZmF1bHQtZGlyZWN0aW9uLCAkdmFsdWUsICRyb290LXNlbGVjdG9yOiBudWxsKSB7XG4gIEBpZiAoaW5kZXgoKHJpZ2h0LCBsZWZ0KSwgJGRlZmF1bHQtZGlyZWN0aW9uKSA9PSBudWxsKSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBkZWZhdWx0IGRpcmVjdGlvbjogJyN7JGRlZmF1bHQtZGlyZWN0aW9ufScuIFBsZWFzZSBzcGVjaWZpeSBlaXRoZXIgJ3JpZ2h0JyBvciAnbGVmdCcuXCI7XG4gIH1cblxuICAkbGVmdC12YWx1ZTogJHZhbHVlO1xuICAkcmlnaHQtdmFsdWU6IDA7XG5cbiAgQGlmICgkZGVmYXVsdC1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICAkbGVmdC12YWx1ZTogMDtcbiAgICAkcmlnaHQtdmFsdWU6ICR2YWx1ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KCRiYXNlLXByb3BlcnR5LCAkbGVmdC12YWx1ZSwgJHJpZ2h0LXZhbHVlLCAkcm9vdC1zZWxlY3Rvcik7XG59XG5cbi8vIFRha2VzIGEgYmFzZSBwcm9wZXJ0eSBhbmQgZW1pdHMgcnVsZXMgdGhhdCBhc3NpZ24gPGJhc2UtcHJvcGVydHk+LWxlZnQgdG8gPGxlZnQtdmFsdWU+IGFuZFxuLy8gPGJhc2UtcHJvcGVydHk+LXJpZ2h0IHRvIDxyaWdodC12YWx1ZT4gaW4gYSBMVFIgY29udGV4dCwgYW5kIHZpY2UgdmVyc2EgaW4gYSBSVEwgY29udGV4dC5cbi8vIEZvciBleGFtcGxlOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCBhdXRvLCAxMnB4KTtcbi8vIH1cbi8vIGBgYFxuLy9cbi8vIGlzIGVxdWl2YWxlbnQgdG86XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBtYXJnaW4tbGVmdDogYXV0bztcbi8vICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuLy9cbi8vICAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4vLyAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4vLyAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuLy8gICB9XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBBbiBvcHRpb25hbCA0dGggYCRyb290LXNlbGVjdG9yYCBhcmd1bWVudCBjYW4gYmUgZ2l2ZW4sIHdoaWNoIHdpbGwgYmUgcGFzc2VkIHRvIGBtZGMtcnRsYC5cbkBtaXhpbiBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eSgkYmFzZS1wcm9wZXJ0eSwgJGxlZnQtdmFsdWUsICRyaWdodC12YWx1ZSwgJHJvb3Qtc2VsZWN0b3I6IG51bGwpIHtcbiAgJHByb3AtbGVmdDogI3skYmFzZS1wcm9wZXJ0eX0tbGVmdDtcbiAgJHByb3AtcmlnaHQ6ICN7JGJhc2UtcHJvcGVydHl9LXJpZ2h0O1xuXG4gIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlKCRwcm9wLWxlZnQsICRsZWZ0LXZhbHVlLCAkcHJvcC1yaWdodCwgJHJpZ2h0LXZhbHVlLCAkcm9vdC1zZWxlY3Rvcik7XG59XG5cbi8vIFRha2VzIGFuIGFyZ3VtZW50IHNwZWNpZnlpbmcgYSBob3Jpem9udGFsIHBvc2l0aW9uIHByb3BlcnR5IChlaXRoZXIgXCJsZWZ0XCIgb3IgXCJyaWdodFwiKSBhcyB3ZWxsXG4vLyBhcyBhIHZhbHVlLCBhbmQgYXBwbGllcyB0aGF0IHZhbHVlIHRvIHRoZSBzcGVjaWZpZWQgcG9zaXRpb24gaW4gYSBMVFIgY29udGV4dCwgYW5kIGZsaXBzIGl0IGluIGFcbi8vIFJUTCBjb250ZXh0LiBGb3IgZXhhbXBsZTpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsIDApO1xuLy8gfVxuLy8gYGBgXG4vL1xuLy8gaXMgZXF1aXZhbGVudCB0bzpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIGxlZnQ6IDA7XG4vLyAgIHJpZ2h0OiBpbml0aWFsO1xuLy9cbi8vICAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4vLyAgICAgbGVmdDogaW5pdGlhbDtcbi8vICAgICByaWdodDogMDtcbi8vICAgfVxuLy8gfVxuLy8gYGBgXG4vL1xuLy8gQW4gb3B0aW9uYWwgdGhpcmQgJHJvb3Qtc2VsZWN0b3IgYXJndW1lbnQgbWF5IGFsc28gYmUgZ2l2ZW4sIHdoaWNoIGlzIHBhc3NlZCB0byBgbWRjLXJ0bGAuXG5AbWl4aW4gbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24oJHBvc2l0aW9uLXByb3BlcnR5LCAkdmFsdWUsICRyb290LXNlbGVjdG9yOiBudWxsKSB7XG4gIEBpZiAoaW5kZXgoKHJpZ2h0LCBsZWZ0KSwgJHBvc2l0aW9uLXByb3BlcnR5KSA9PSBudWxsKSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBwb3NpdGlvbiAje3Bvc2l0aW9uLXByb3BlcnR5fS4gUGxlYXNlIHNwZWNpZml5IGVpdGhlciByaWdodCBvciBsZWZ0XCI7XG4gIH1cblxuICAvLyBUT0RPOiBcImluaXRpYWxcIiBpcyBub3Qgc3VwcG9ydGVkIGluIElFIDExLiBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1pbml0aWFsLXZhbHVlXG4gICRsZWZ0LXZhbHVlOiAkdmFsdWU7XG4gICRyaWdodC12YWx1ZTogaW5pdGlhbDtcblxuICBAaWYgKCRwb3NpdGlvbi1wcm9wZXJ0eSA9PSByaWdodCkge1xuICAgICRyaWdodC12YWx1ZTogJHZhbHVlO1xuICAgICRsZWZ0LXZhbHVlOiBpbml0aWFsO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUobGVmdCwgJGxlZnQtdmFsdWUsIHJpZ2h0LCAkcmlnaHQtdmFsdWUsICRyb290LXNlbGVjdG9yKTtcbn1cblxuLy8gVGFrZXMgcGFpciBvZiBwcm9wZXJ0aWVzIHdpdGggdmFsdWVzIGFzIGFyZ3VtZW50cyBhbmQgZmxpcHMgaXQgaW4gUlRMIGNvbnRleHQuXG4vLyBGb3IgZXhhbXBsZTpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlKGxlZnQsIDJweCwgcmlnaHQsIDVweCk7XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBpcyBlcXVpdmFsZW50IHRvOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgbGVmdDogMnB4O1xuLy8gICByaWdodDogNXB4O1xuLy9cbi8vICAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4vLyAgICAgcmlnaHQ6IDJweDtcbi8vICAgICBsZWZ0OiA1cHg7XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIEFuIG9wdGlvbmFsIGZpZnRoIGAkcm9vdC1zZWxlY3RvcmAgYXJndW1lbnQgbWF5IGFsc28gYmUgZ2l2ZW4sIHdoaWNoIGlzIHBhc3NlZCB0byBgbWRjLXJ0bGAuXG5AbWl4aW4gbWRjLXJ0bC1yZWZsZXhpdmUoXG4gICRsZWZ0LXByb3BlcnR5LFxuICAkbGVmdC12YWx1ZSxcbiAgJHJpZ2h0LXByb3BlcnR5LFxuICAkcmlnaHQtdmFsdWUsXG4gICRyb290LXNlbGVjdG9yOiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgbWRjLXJ0bC1wcm9wZXJ0eV8oJGxlZnQtcHJvcGVydHksICRsZWZ0LXZhbHVlKTtcbiAgQGluY2x1ZGUgbWRjLXJ0bC1wcm9wZXJ0eV8oJHJpZ2h0LXByb3BlcnR5LCAkcmlnaHQtdmFsdWUpO1xuXG4gIEBpbmNsdWRlIG1kYy1ydGwoJHJvb3Qtc2VsZWN0b3IpIHtcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXByb3BlcnR5XygkbGVmdC1wcm9wZXJ0eSwgJHJpZ2h0LXZhbHVlKTtcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXByb3BlcnR5XygkcmlnaHQtcHJvcGVydHksICRsZWZ0LXZhbHVlKTtcbiAgfVxufVxuXG4vLy9cbi8vLyBBZGRzIGBAbm9mbGlwYCBhbm5vdGF0aW9uIHdoZW4gYCRtZGMtcnRsLWluY2x1ZGVgIGlzIHRydWUuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gbWRjLXJ0bC1wcm9wZXJ0eV8oJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgQGlmICRtZGMtcnRsLWluY2x1ZGUge1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgfVxuXG4gICN7JHByb3BlcnR5fTogI3skdmFsdWV9O1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gbWRjLWVsZXZhdGlvbi1jb3JlLXN0eWxlcygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGZvciAkei12YWx1ZSBmcm9tIDAgdGhyb3VnaCAyNCB7XG4gICAgLm1kYy1lbGV2YXRpb24tLXojeyR6LXZhbHVlfSB7XG4gICAgICBAaW5jbHVkZSBtZGMtZWxldmF0aW9uKCR6LXZhbHVlLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1lbGV2YXRpb24tdHJhbnNpdGlvbiB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246IG1kYy1lbGV2YXRpb24tdHJhbnNpdGlvbi12YWx1ZSgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB3aWxsLWNoYW5nZTogJG1kYy1lbGV2YXRpb24tcHJvcGVydHk7XG4gICAgfVxuICB9XG59XG5cbi8vIEFwcGxpZXMgdGhlIGNvcnJlY3QgQ1NTIHJ1bGVzIHRvIGFuIGVsZW1lbnQgdG8gZ2l2ZSBpdCB0aGUgZWxldmF0aW9uIHNwZWNpZmllZCBieSAkei12YWx1ZS5cbi8vIFRoZSAkei12YWx1ZSBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMjQuXG4vLyBJZiAkY29sb3IgaGFzIGFuIGFscGhhIGNoYW5uZWwsIGl0IHdpbGwgYmUgaWdub3JlZCBhbmQgb3ZlcnJpZGRlbi4gVG8gaW5jcmVhc2UgdGhlIG9wYWNpdHkgb2YgdGhlIHNoYWRvdywgdXNlXG4vLyAkb3BhY2l0eS1ib29zdC5cbkBtaXhpbiBtZGMtZWxldmF0aW9uKCR6LXZhbHVlLCAkY29sb3I6ICRtZGMtZWxldmF0aW9uLWJhc2VsaW5lLWNvbG9yLCAkb3BhY2l0eS1ib29zdDogMCwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICBAaWYgdHlwZS1vZigkei12YWx1ZSkgIT0gbnVtYmVyIG9yIG5vdCB1bml0bGVzcygkei12YWx1ZSkge1xuICAgIEBlcnJvciBcIiR6LXZhbHVlIG11c3QgYmUgYSB1bml0bGVzcyBudW1iZXIsIGJ1dCByZWNlaXZlZCAnI3skei12YWx1ZX0nXCI7XG4gIH1cblxuICBAaWYgJHotdmFsdWUgPCAwIG9yICR6LXZhbHVlID4gMjQge1xuICAgIEBlcnJvciBcIiR6LXZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNCwgYnV0IHJlY2VpdmVkICcjeyR6LXZhbHVlfSdcIjtcbiAgfVxuXG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gICRjb2xvcjogbWRjLXRoZW1lLXByb3AtdmFsdWUoJGNvbG9yKTtcblxuICAkdW1icmEtei12YWx1ZTogbWFwLWdldCgkbWRjLWVsZXZhdGlvbi11bWJyYS1tYXAsICR6LXZhbHVlKTtcbiAgJHBlbnVtYnJhLXotdmFsdWU6IG1hcC1nZXQoJG1kYy1lbGV2YXRpb24tcGVudW1icmEtbWFwLCAkei12YWx1ZSk7XG4gICRhbWJpZW50LXotdmFsdWU6IG1hcC1nZXQoJG1kYy1lbGV2YXRpb24tYW1iaWVudC1tYXAsICR6LXZhbHVlKTtcblxuICAkdW1icmEtY29sb3I6IHJnYmEoJGNvbG9yLCAkbWRjLWVsZXZhdGlvbi11bWJyYS1vcGFjaXR5ICsgJG9wYWNpdHktYm9vc3QpO1xuICAkcGVudW1icmEtY29sb3I6IHJnYmEoJGNvbG9yLCAkbWRjLWVsZXZhdGlvbi1wZW51bWJyYS1vcGFjaXR5ICsgJG9wYWNpdHktYm9vc3QpO1xuICAkYW1iaWVudC1jb2xvcjogcmdiYSgkY29sb3IsICRtZGMtZWxldmF0aW9uLWFtYmllbnQtb3BhY2l0eSArICRvcGFjaXR5LWJvb3N0KTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICN7XCIjeyR1bWJyYS16LXZhbHVlfSAjeyR1bWJyYS1jb2xvcn1cIn0sXG4gICAgICAje1wiI3skcGVudW1icmEtei12YWx1ZX0gI3skcGVudW1icmEtY29sb3J9XCJ9LFxuICAgICAgI3skYW1iaWVudC16LXZhbHVlfSAkYW1iaWVudC1jb2xvcjtcbiAgfVxufVxuXG4vLyBSZXR1cm5zIGEgc3RyaW5nIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIHZhbHVlIGZvciBhIGB0cmFuc2l0aW9uYCBwcm9wZXJ0eSBmb3IgZWxldmF0aW9uLlxuLy8gQ2FsbGluZyB0aGlzIGZ1bmN0aW9uIGRpcmVjdGx5IGlzIHVzZWZ1bCBpbiBzaXR1YXRpb25zIHdoZXJlIGEgY29tcG9uZW50IG5lZWRzIHRvIHRyYW5zaXRpb25cbi8vIG1vcmUgdGhhbiBvbmUgcHJvcGVydHkuXG4vL1xuLy8gYGBgc2Nzc1xuLy8gLmZvbyB7XG4vLyAgIHRyYW5zaXRpb246IG1kYy1lbGV2YXRpb24tdHJhbnNpdGlvbi12YWx1ZSgpLCBvcGFjaXR5IDEwMG1zIGVhc2U7XG4vLyAgIHdpbGwtY2hhbmdlOiAkbWRjLWVsZXZhdGlvbi1wcm9wZXJ0eSwgb3BhY2l0eTtcbi8vIH1cbi8vIGBgYFxuQGZ1bmN0aW9uIG1kYy1lbGV2YXRpb24tdHJhbnNpdGlvbi12YWx1ZShcbiAgJGR1cmF0aW9uOiAkbWRjLWVsZXZhdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAkZWFzaW5nOiAkbWRjLWVsZXZhdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvblxuKSB7XG4gIEByZXR1cm4gI3skbWRjLWVsZXZhdGlvbi1wcm9wZXJ0eX0gI3skZHVyYXRpb259ICN7JGVhc2luZ307XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9hbmltYXRpb24vdmFyaWFibGVzXCI7XG5cbiRtZGMtZWxldmF0aW9uLWJhc2VsaW5lLWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRtZGMtZWxldmF0aW9uLXVtYnJhLW9wYWNpdHk6IC4yICFkZWZhdWx0O1xuJG1kYy1lbGV2YXRpb24tcGVudW1icmEtb3BhY2l0eTogLjE0ICFkZWZhdWx0O1xuJG1kYy1lbGV2YXRpb24tYW1iaWVudC1vcGFjaXR5OiAuMTIgIWRlZmF1bHQ7XG5cbiRtZGMtZWxldmF0aW9uLXVtYnJhLW1hcDogKFxuICAwOiBcIjBweCAwcHggMHB4IDBweFwiLFxuICAxOiBcIjBweCAycHggMXB4IC0xcHhcIixcbiAgMjogXCIwcHggM3B4IDFweCAtMnB4XCIsXG4gIDM6IFwiMHB4IDNweCAzcHggLTJweFwiLFxuICA0OiBcIjBweCAycHggNHB4IC0xcHhcIixcbiAgNTogXCIwcHggM3B4IDVweCAtMXB4XCIsXG4gIDY6IFwiMHB4IDNweCA1cHggLTFweFwiLFxuICA3OiBcIjBweCA0cHggNXB4IC0ycHhcIixcbiAgODogXCIwcHggNXB4IDVweCAtM3B4XCIsXG4gIDk6IFwiMHB4IDVweCA2cHggLTNweFwiLFxuICAxMDogXCIwcHggNnB4IDZweCAtM3B4XCIsXG4gIDExOiBcIjBweCA2cHggN3B4IC00cHhcIixcbiAgMTI6IFwiMHB4IDdweCA4cHggLTRweFwiLFxuICAxMzogXCIwcHggN3B4IDhweCAtNHB4XCIsXG4gIDE0OiBcIjBweCA3cHggOXB4IC00cHhcIixcbiAgMTU6IFwiMHB4IDhweCA5cHggLTVweFwiLFxuICAxNjogXCIwcHggOHB4IDEwcHggLTVweFwiLFxuICAxNzogXCIwcHggOHB4IDExcHggLTVweFwiLFxuICAxODogXCIwcHggOXB4IDExcHggLTVweFwiLFxuICAxOTogXCIwcHggOXB4IDEycHggLTZweFwiLFxuICAyMDogXCIwcHggMTBweCAxM3B4IC02cHhcIixcbiAgMjE6IFwiMHB4IDEwcHggMTNweCAtNnB4XCIsXG4gIDIyOiBcIjBweCAxMHB4IDE0cHggLTZweFwiLFxuICAyMzogXCIwcHggMTFweCAxNHB4IC03cHhcIixcbiAgMjQ6IFwiMHB4IDExcHggMTVweCAtN3B4XCJcbikgIWRlZmF1bHQ7XG5cbiRtZGMtZWxldmF0aW9uLXBlbnVtYnJhLW1hcDogKFxuICAwOiBcIjBweCAwcHggMHB4IDBweFwiLFxuICAxOiBcIjBweCAxcHggMXB4IDBweFwiLFxuICAyOiBcIjBweCAycHggMnB4IDBweFwiLFxuICAzOiBcIjBweCAzcHggNHB4IDBweFwiLFxuICA0OiBcIjBweCA0cHggNXB4IDBweFwiLFxuICA1OiBcIjBweCA1cHggOHB4IDBweFwiLFxuICA2OiBcIjBweCA2cHggMTBweCAwcHhcIixcbiAgNzogXCIwcHggN3B4IDEwcHggMXB4XCIsXG4gIDg6IFwiMHB4IDhweCAxMHB4IDFweFwiLFxuICA5OiBcIjBweCA5cHggMTJweCAxcHhcIixcbiAgMTA6IFwiMHB4IDEwcHggMTRweCAxcHhcIixcbiAgMTE6IFwiMHB4IDExcHggMTVweCAxcHhcIixcbiAgMTI6IFwiMHB4IDEycHggMTdweCAycHhcIixcbiAgMTM6IFwiMHB4IDEzcHggMTlweCAycHhcIixcbiAgMTQ6IFwiMHB4IDE0cHggMjFweCAycHhcIixcbiAgMTU6IFwiMHB4IDE1cHggMjJweCAycHhcIixcbiAgMTY6IFwiMHB4IDE2cHggMjRweCAycHhcIixcbiAgMTc6IFwiMHB4IDE3cHggMjZweCAycHhcIixcbiAgMTg6IFwiMHB4IDE4cHggMjhweCAycHhcIixcbiAgMTk6IFwiMHB4IDE5cHggMjlweCAycHhcIixcbiAgMjA6IFwiMHB4IDIwcHggMzFweCAzcHhcIixcbiAgMjE6IFwiMHB4IDIxcHggMzNweCAzcHhcIixcbiAgMjI6IFwiMHB4IDIycHggMzVweCAzcHhcIixcbiAgMjM6IFwiMHB4IDIzcHggMzZweCAzcHhcIixcbiAgMjQ6IFwiMHB4IDI0cHggMzhweCAzcHhcIlxuKSAhZGVmYXVsdDtcblxuJG1kYy1lbGV2YXRpb24tYW1iaWVudC1tYXA6IChcbiAgMDogXCIwcHggMHB4IDBweCAwcHhcIixcbiAgMTogXCIwcHggMXB4IDNweCAwcHhcIixcbiAgMjogXCIwcHggMXB4IDVweCAwcHhcIixcbiAgMzogXCIwcHggMXB4IDhweCAwcHhcIixcbiAgNDogXCIwcHggMXB4IDEwcHggMHB4XCIsXG4gIDU6IFwiMHB4IDFweCAxNHB4IDBweFwiLFxuICA2OiBcIjBweCAxcHggMThweCAwcHhcIixcbiAgNzogXCIwcHggMnB4IDE2cHggMXB4XCIsXG4gIDg6IFwiMHB4IDNweCAxNHB4IDJweFwiLFxuICA5OiBcIjBweCAzcHggMTZweCAycHhcIixcbiAgMTA6IFwiMHB4IDRweCAxOHB4IDNweFwiLFxuICAxMTogXCIwcHggNHB4IDIwcHggM3B4XCIsXG4gIDEyOiBcIjBweCA1cHggMjJweCA0cHhcIixcbiAgMTM6IFwiMHB4IDVweCAyNHB4IDRweFwiLFxuICAxNDogXCIwcHggNXB4IDI2cHggNHB4XCIsXG4gIDE1OiBcIjBweCA2cHggMjhweCA1cHhcIixcbiAgMTY6IFwiMHB4IDZweCAzMHB4IDVweFwiLFxuICAxNzogXCIwcHggNnB4IDMycHggNXB4XCIsXG4gIDE4OiBcIjBweCA3cHggMzRweCA2cHhcIixcbiAgMTk6IFwiMHB4IDdweCAzNnB4IDZweFwiLFxuICAyMDogXCIwcHggOHB4IDM4cHggN3B4XCIsXG4gIDIxOiBcIjBweCA4cHggNDBweCA3cHhcIixcbiAgMjI6IFwiMHB4IDhweCA0MnB4IDdweFwiLFxuICAyMzogXCIwcHggOXB4IDQ0cHggOHB4XCIsXG4gIDI0OiBcIjBweCA5cHggNDZweCA4cHhcIlxuKSAhZGVmYXVsdDtcblxuLy8gVGhlIGNzcyBwcm9wZXJ0eSB1c2VkIGZvciBlbGV2YXRpb24uIEluIG1vc3QgY2FzZXMgdGhpcyBzaG91bGQgbm90IGJlIGNoYW5nZWQuIEl0IGlzIGV4cG9zZWRcbi8vIGFzIGEgdmFyaWFibGUgZm9yIGFic3RyYWN0aW9uIC8gZWFzeSB1c2Ugd2hlbiBuZWVkaW5nIHRvIHJlZmVyZW5jZSB0aGUgcHJvcGVydHkgZGlyZWN0bHksIGZvclxuLy8gZXhhbXBsZSBpbiBhIGB3aWxsLWNoYW5nZWAgcnVsZS5cbiRtZGMtZWxldmF0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBkdXJhdGlvbiB2YWx1ZSBmb3IgZWxldmF0aW9uIHRyYW5zaXRpb25zLlxuJG1kYy1lbGV2YXRpb24tdHJhbnNpdGlvbi1kdXJhdGlvbjogMjgwbXMgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGVhc2luZyB2YWx1ZSBmb3IgZWxldmF0aW9uIHRyYW5zaXRpb25zLlxuJG1kYy1lbGV2YXRpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRtZGMtYW5pbWF0aW9uLXN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbiAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4vLyBNREMgUmlwcGxlIGtleWZyYW1lcyBhcmUgc3BsaXQgaW50byB0aGVpciBvd24gZmlsZSBzbyB0aGF0IF9taXhpbnMuc2NzcyBjYW4gcmVseSBvbiB0aGVtLlxuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL2FuaW1hdGlvbi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gbWRjLXJpcHBsZS1rZXlmcmFtZXNfIHtcbiAgQGtleWZyYW1lcyBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiB7XG4gICAgZnJvbSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkbWRjLWFuaW1hdGlvbi1zdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAvLyBOT1RFOiBGb3IgdGhlc2Uga2V5ZnJhbWVzLCB3ZSBkbyBub3QgbmVlZCBjdXN0b20gcHJvcGVydHkgZmFsbGJhY2tzIGJlY2F1c2UgdGhleSBhcmUgb25seVxuICAgICAgLy8gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGAubWRjLXJpcHBsZS11cGdyYWRlZGAuIFNpbmNlIE1EQ1JpcHBsZUZvdW5kYXRpb24gY2hlY2tzIHRvIGVuc3VyZVxuICAgICAgLy8gdGhhdCBjdXN0b20gcHJvcGVydGllcyBhcmUgc3VwcG9ydGVkIHdpdGhpbiB0aGUgYnJvd3NlciBiZWZvcmUgYWRkaW5nIHRoaXMgY2xhc3MsIHdlIGNhblxuICAgICAgLy8gc2FmZWx5IHVzZSB0aGVtIHdpdGhvdXQgYSBmYWxsYmFjay5cbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0LCAwKSkgc2NhbGUoMSk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIHtcbiAgICBmcm9tIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbiRtZGMtYW5pbWF0aW9uLWRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAuMiwgMSkgIWRlZmF1bHQ7XG4kbWRjLWFuaW1hdGlvbi1zdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpICFkZWZhdWx0O1xuJG1kYy1hbmltYXRpb24tYWNjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40LCAwLCAxLCAxKSAhZGVmYXVsdDtcbiRtZGMtYW5pbWF0aW9uLXNoYXJwLWN1cnZlLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40LCAwLCAuNiwgMSkgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9hbmltYXRpb24vZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL2FuaW1hdGlvbi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvYmFzZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4va2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIG1kYy1yaXBwbGUtY29yZS1zdHlsZXMoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSByaXBwbGUtc3VyZmFjZVxuXG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1yaXBwbGUtc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1zdXJmYWNlKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXJhZGl1cy1ib3VuZGVkKCRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmW2RhdGEtbWRjLXJpcHBsZS1pcy11bmJvdW5kZWRdIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLXVuYm91bmRlZCgkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcyhwcmltYXJ5LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuXG4gICAgJi0tYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMoc2Vjb25kYXJ5LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbn1cblxuQG1peGluIG1kYy1yaXBwbGUtY29tbW9uKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAvLyBFbnN1cmUgdGhhdCBzdHlsZXMgbmVlZGVkIGJ5IGFueSBjb21wb25lbnQgdXNpbmcgTURDIFJpcHBsZSBhcmUgZW1pdHRlZCwgYnV0IG9ubHkgb25jZS5cbiAgLy8gKEV2ZXJ5IGNvbXBvbmVudCB1c2luZyBNREMgUmlwcGxlIGltcG9ydHMgdGhlc2UgbWl4aW5zLCBidXQgZG9lc24ndCBuZWNlc3NhcmlseSBpbXBvcnRcbiAgLy8gbWRjLXJpcHBsZS5zY3NzLilcbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICBAaW5jbHVkZSBtZGMtYmFzZS1lbWl0LW9uY2UoXCJtZGMtcmlwcGxlL2NvbW1vbi9hbmltYXRpb25cIikge1xuICAgICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1rZXlmcmFtZXNfO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgQGluY2x1ZGUgbWRjLWJhc2UtZW1pdC1vbmNlKFwibWRjLXJpcHBsZS9jb21tb24vc3RydWN0dXJlXCIpIHtcbiAgICAgIC8vIFN0eWxlcyB1c2VkIHRvIGRldGVjdCBidWdneSBiZWhhdmlvciBvZiBDU1MgY3VzdG9tIHByb3BlcnRpZXMgaW4gRWRnZS5cbiAgICAgIC8vIFNlZTogaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9lbi11cy9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvMTE0OTU0NDgvXG4gICAgICAvLyBUaGlzIGlzIGluY2x1ZGVkIGluIF9taXhpbnMuc2NzcyByYXRoZXIgdGhhbiBtZGMtcmlwcGxlLnNjc3Mgc28gdGhhdCBpdCB3aWxsIGJlXG4gICAgICAvLyBwcmVzZW50IGZvciBvdGhlciBjb21wb25lbnRzIHdoaWNoIHJlbHkgb24gcmlwcGxlIGFzIHdlbGwgYXMgbWRjLXJpcHBsZSBpdHNlbGYuXG4gICAgICAubWRjLXJpcHBsZS1zdXJmYWNlLS10ZXN0LWVkZ2UtdmFyLWJ1ZyB7XG4gICAgICAgIC0tbWRjLXJpcHBsZS1zdXJmYWNlLXRlc3QtZWRnZS12YXI6IDFweCBzb2xpZCAjMDAwO1xuXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlcjogdmFyKC0tbWRjLXJpcHBsZS1zdXJmYWNlLXRlc3QtZWRnZS12YXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtcmlwcGxlLXN1cmZhY2UoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSwgJHJpcHBsZS10YXJnZXQ6IFwiJlwiKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAgIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICAgIC8vICEhRE8gTk9UIFJFTU9WRSEhIG1kYy1yaXBwbGUtd2lsbC1jaGFuZ2UtcmVwbGFjZXJcbiAgfVxuXG4gICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUsXG4gICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICB9XG5cbiAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIC8vIEFsc28gdHJhbnNpdGlvbiBiYWNrZ3JvdW5kLWNvbG9yIHRvIGF2b2lkIHVubmF0dXJhbCBjb2xvciBmbGFzaGVzIHdoZW4gdG9nZ2xpbmcgYWN0aXZhdGVkL3NlbGVjdGVkIHN0YXRlXG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBvcGFjaXR5ICRtZGMtc3RhdGVzLXdhc2gtZHVyYXRpb24gbGluZWFyLFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yICRtZGMtc3RhdGVzLXdhc2gtZHVyYXRpb24gbGluZWFyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB6LWluZGV4OiAxOyAvLyBFbnN1cmUgdGhhdCB0aGUgcmlwcGxlIHdhc2ggZm9yIGhvdmVyL2ZvY3VzIHN0YXRlcyBpcyBkaXNwbGF5ZWQgb24gdG9wIG9mIHBvc2l0aW9uZWQgY2hpbGQgZWxlbWVudHNcbiAgICB9XG4gIH1cblxuICAvLyBDb21tb24gc3R5bGVzIGZvciB1cGdyYWRlZCBzdXJmYWNlcyAoc29tZSBvZiB0aGVzZSBkZXBlbmQgb24gY3VzdG9tIHByb3BlcnRpZXMgc2V0IHZpYSBKUyBvciBvdGhlciBtaXhpbnMpXG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZCB7XG4gICAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb24ge1xuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICBhbmltYXRpb246XG4gICAgICAgICAgbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gJG1kYy1yaXBwbGUtdHJhbnNsYXRlLWR1cmF0aW9uIGZvcndhcmRzLFxuICAgICAgICAgIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiAkbWRjLXJpcHBsZS1mYWRlLWluLWR1cmF0aW9uIGZvcndhcmRzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb24ge1xuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgJG1kYy1yaXBwbGUtZmFkZS1vdXQtZHVyYXRpb247XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIC8vIFJldGFpbiB0cmFuc2Zvcm0gZnJvbSBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiBhY3RpdmF0aW9uXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcihcbiAgJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpLCAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSxcbiAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaWYgYWxwaGEobWRjLXRoZW1lLXByb3AtdmFsdWUoJGNvbG9yKSkgPiAwIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yLCAkZWRnZU9wdE91dDogdHJ1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gSWYgYSBjb2xvciB3aXRoIDAgYWxwaGEgaXMgc3BlY2lmaWVkLCBkb24ndCByZW5kZXIgdGhlIHJpcHBsZSBwc2V1ZG8tZWxlbWVudHMgYXQgYWxsLlxuICAgICAgICAvLyBUaGlzIGF2b2lkcyB1bm5lY2Vzc2FyeSB0cmFuc2l0aW9ucyBhbmQgb3ZlcmZsb3cuXG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgcmlwcGxlIG9wYWNpdGllcyBpbiBgaG92ZXJgLCBgZm9jdXNgLCBvciBgcHJlc3NgIHN0YXRlc1xuLy8vIEBwYXJhbSB7bWFwfSAkb3BhY2l0eS1tYXAgLSBtYXAgc3BlY2lmeWluZyBjdXN0b20gb3BhY2l0eSBvZiB6ZXJvIG9yIG1vcmUgc3RhdGVzXG4vLy8gQHBhcmFtIHtib29sfSAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudCAtIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBjb250YWlucyBhIGZvY3VzYWJsZSBlbGVtZW50IGluIHRoZSByb290XG4vLy9cbkBtaXhpbiBtZGMtc3RhdGVzLW9wYWNpdGllcygkb3BhY2l0eS1tYXA6ICgpLCAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogZmFsc2UsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgLy8gRW5zdXJlIHN1ZmZpY2llbnQgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgYmFzZSBzdGF0ZSBvcGFjaXRpZXNcbiAgQGlmIG1hcC1oYXMta2V5KCRvcGFjaXR5LW1hcCwgaG92ZXIpIHtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWhvdmVyLW9wYWNpdHkobWFwLWdldCgkb3BhY2l0eS1tYXAsIGhvdmVyKSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRvcGFjaXR5LW1hcCwgZm9jdXMpIHtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWZvY3VzLW9wYWNpdHkobWFwLWdldCgkb3BhY2l0eS1tYXAsIGZvY3VzKSwgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpZiBtYXAtaGFzLWtleSgkb3BhY2l0eS1tYXAsIHByZXNzKSB7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1wcmVzcy1vcGFjaXR5KG1hcC1nZXQoJG9wYWNpdHktbWFwLCBwcmVzcyksICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXN0YXRlcy1ob3Zlci1vcGFjaXR5KFxuICAkb3BhY2l0eSwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSwgJHJpcHBsZS10YXJnZXQ6IFwiJlwiKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC8vIEJhY2tncm91bmQgd2FzaCBzdHlsZXMsIGZvciBib3RoIENTUy1vbmx5IGFuZCB1cGdyYWRlZCBzdGF0ZWZ1bCBzdXJmYWNlc1xuICAmOmhvdmVyIHtcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlIHtcbiAgICAgIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50IGluIHR5cGljYWwgdXNhZ2VcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtc3RhdGVzLWZvY3VzLW9wYWNpdHkoXG4gICRvcGFjaXR5LFxuICAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogZmFsc2UsXG4gICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCksXG4gICRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuXG4gIC8vIEZvY3VzIG92ZXJyaWRlcyBob3ZlciBieSByZXVzaW5nIHRoZSA6OmJlZm9yZSBwc2V1ZG8tZWxlbWVudC5cbiAgLy8gOmZvY3VzLXdpdGhpbiBnZW5lcmFsbHkgd29ya3Mgb24gbm9uLU1TIGJyb3dzZXJzIGFuZCBtYXRjaGVzIHdoZW4gYSAqY2hpbGQqIG9mIHRoZSBlbGVtZW50IGhhcyBmb2N1cy5cbiAgLy8gSXQgaXMgdXNlZnVsIGZvciBjYXNlcyB3aGVyZSBhIGNvbXBvbmVudCBoYXMgYSBmb2N1c2FibGUgZWxlbWVudCB3aXRoaW4gdGhlIHJvb3Qgbm9kZSwgZS5nLiB0ZXh0IGZpZWxkLFxuICAvLyBidXQgdW5kZXNpcmFibGUgaW4gZ2VuZXJhbCBpbiBjYXNlIG9mIG5lc3RlZCBzdGF0ZWZ1bCBjb21wb25lbnRzLlxuICAvLyBXZSB1c2UgYSBtb2RpZmllciBjbGFzcyBmb3IgSlMtZW5hYmxlZCBzdXJmYWNlcyB0byBzdXBwb3J0IGFsbCB1c2UgY2FzZXMgaW4gYWxsIGJyb3dzZXJzLlxuICBAaWYgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQge1xuICAgIC8vIEpTLWVuYWJsZWQgc2VsZWN0b3JzLlxuICAgICYubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLFxuICAgICYubWRjLXJpcHBsZS11cGdyYWRlZDpmb2N1cy13aXRoaW4sXG4gICAgLy8gQ1NTLW9ubHkgc2VsZWN0b3JzLlxuICAgICY6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1cyxcbiAgICAmOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXMtd2l0aGluIHtcbiAgICAgICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWZvY3VzLW9wYWNpdHktcHJvcGVydGllc18oXG4gICAgICAgICAgJG9wYWNpdHk6ICRvcGFjaXR5LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBKUy1lbmFibGVkIHNlbGVjdG9ycy5cbiAgICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCxcbiAgICAvLyBDU1Mtb25seSBzZWxlY3RvcnMuXG4gICAgJjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIHtcbiAgICAgICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWZvY3VzLW9wYWNpdHktcHJvcGVydGllc18oXG4gICAgICAgICAgJG9wYWNpdHk6ICRvcGFjaXR5LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtc3RhdGVzLWZvY3VzLW9wYWNpdHktcHJvcGVydGllc18oJG9wYWNpdHksICRxdWVyeSkge1xuICAkZmVhdC1hbmltYXRpb246IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAvLyBPcGFjaXR5IGZhbGxzIHVuZGVyIGNvbG9yIGJlY2F1c2UgdGhlIGNob3NlbiBvcGFjaXR5IGlzIGNvbG9yLWRlcGVuZGVudCBpbiB0eXBpY2FsIHVzYWdlXG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC8vIE5vdGUgdGhhdCB0aGlzIGR1cmF0aW9uIGlzIG9ubHkgZWZmZWN0aXZlIG9uIGZvY3VzLCBub3QgYmx1clxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zdGF0ZXMtcHJlc3Mtb3BhY2l0eSgkb3BhY2l0eSwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSwgJHJpcHBsZS10YXJnZXQ6IFwiJlwiKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC8vIFN0eWxlcyBmb3Igbm9uLXVwZ3JhZGVkIChDU1Mtb25seSkgc3RhdGVmdWwgc3VyZmFjZXNcblxuICAmOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCkge1xuICAgIC8vIEFwcGx5IHByZXNzIGFkZGl0aXZlbHkgYnkgdXNpbmcgdGhlIDo6YWZ0ZXIgcHNldWRvLWVsZW1lbnRcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkbWRjLXJpcHBsZS1mYWRlLW91dC1kdXJhdGlvbiBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkbWRjLXJpcHBsZS1mYWRlLWluLWR1cmF0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT3BhY2l0eSBmYWxscyB1bmRlciBjb2xvciBiZWNhdXNlIHRoZSBjaG9zZW4gb3BhY2l0eSBpcyBjb2xvci1kZXBlbmRlbnQgaW4gdHlwaWNhbCB1c2FnZVxuICAgICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAjeyRvcGFjaXR5fTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2ltcGxlIG1peGluIGZvciBiYXNlIHN0YXRlcyB3aGljaCBhdXRvbWF0aWNhbGx5IHNlbGVjdHMgb3BhY2l0eSB2YWx1ZXMgYmFzZWQgb24gd2hldGhlciB0aGUgaW5rIGNvbG9yIGlzXG4vLyBsaWdodCBvciBkYXJrLlxuQG1peGluIG1kYy1zdGF0ZXMoXG4gICRjb2xvcjogbWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksXG4gICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50OiBmYWxzZSxcbiAgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSxcbiAgJHJpcHBsZS10YXJnZXQ6IFwiJlwiLFxuKSB7XG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaW50ZXJhY3Rpb25zXyhcbiAgICAkY29sb3I6ICRjb2xvcixcbiAgICAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQsXG4gICAgJHF1ZXJ5OiAkcXVlcnksXG4gICAgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbn1cblxuLy8gU2ltcGxlIG1peGluIGZvciBhY3RpdmF0ZWQgc3RhdGVzIHdoaWNoIGF1dG9tYXRpY2FsbHkgc2VsZWN0cyBvcGFjaXR5IHZhbHVlcyBiYXNlZCBvbiB3aGV0aGVyIHRoZSBpbmsgY29sb3IgaXNcbi8vIGxpZ2h0IG9yIGRhcmsuXG5AbWl4aW4gbWRjLXN0YXRlcy1hY3RpdmF0ZWQoXG4gICRjb2xvciwgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6IGZhbHNlLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpLCAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRhY3RpdmF0ZWQtb3BhY2l0eTogbWRjLXN0YXRlcy1vcGFjaXR5KCRjb2xvciwgYWN0aXZhdGVkKTtcblxuICAmLS1hY3RpdmF0ZWQge1xuICAgIC8vIFN0eWxlbGludCBzZWVtcyB0byB0aGluayB0aGF0ICcmJyBxdWFsaWZpZXMgYXMgYSB0eXBlIHNlbGVjdG9yIGhlcmU/XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSB7XG4gICAgICAvLyBPcGFjaXR5IGZhbGxzIHVuZGVyIGNvbG9yIGJlY2F1c2UgdGhlIGNob3NlbiBvcGFjaXR5IGlzIGNvbG9yLWRlcGVuZGVudC5cbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgb3BhY2l0eTogJGFjdGl2YXRlZC1vcGFjaXR5O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaW50ZXJhY3Rpb25zXyhcbiAgICAgICRjb2xvcjogJGNvbG9yLFxuICAgICAgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6ICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50LFxuICAgICAgJG9wYWNpdHktbW9kaWZpZXI6ICRhY3RpdmF0ZWQtb3BhY2l0eSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5LFxuICAgICAgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgfVxufVxuXG4vLyBTaW1wbGUgbWl4aW4gZm9yIHNlbGVjdGVkIHN0YXRlcyB3aGljaCBhdXRvbWF0aWNhbGx5IHNlbGVjdHMgb3BhY2l0eSB2YWx1ZXMgYmFzZWQgb24gd2hldGhlciB0aGUgaW5rIGNvbG9yIGlzXG4vLyBsaWdodCBvciBkYXJrLlxuQG1peGluIG1kYy1zdGF0ZXMtc2VsZWN0ZWQoXG4gICRjb2xvcixcbiAgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6IGZhbHNlLFxuICAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpLFxuICAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRzZWxlY3RlZC1vcGFjaXR5OiBtZGMtc3RhdGVzLW9wYWNpdHkoJGNvbG9yLCBzZWxlY3RlZCk7XG5cbiAgJi0tc2VsZWN0ZWQge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdHlwZVxuICAgICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUge1xuICAgICAgLy8gT3BhY2l0eSBmYWxscyB1bmRlciBjb2xvciBiZWNhdXNlIHRoZSBjaG9zZW4gb3BhY2l0eSBpcyBjb2xvci1kZXBlbmRlbnQuXG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIG9wYWNpdHk6ICRzZWxlY3RlZC1vcGFjaXR5O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaW50ZXJhY3Rpb25zXyhcbiAgICAgICRjb2xvcjogJGNvbG9yLFxuICAgICAgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6ICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50LFxuICAgICAgJG9wYWNpdHktbW9kaWZpZXI6ICRzZWxlY3RlZC1vcGFjaXR5LFxuICAgICAgJHF1ZXJ5OiAkcXVlcnksXG4gICAgICAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtcmlwcGxlLXJhZGl1cy1ib3VuZGVkKFxuICAkcmFkaXVzOiAxMDAlLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpLCAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtc3RydXR1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUsXG4gICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1dHVyZSkge1xuICAgICAgdG9wOiBjYWxjKDUwJSAtICN7JHJhZGl1c30pO1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAjeyRyYWRpdXN9KTtcbiAgICAgIHdpZHRoOiAkcmFkaXVzICogMjtcbiAgICAgIGhlaWdodDogJHJhZGl1cyAqIDI7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1dHVyZSkge1xuICAgICAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAkcmFkaXVzKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLXJpcHBsZS1yYWRpdXMtdW5ib3VuZGVkKFxuICAkcmFkaXVzOiAxMDAlLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpLCAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtc3RydXR1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUsXG4gICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1dHVyZSkge1xuICAgICAgdG9wOiBjYWxjKDUwJSAtICN7JHJhZGl1cyAvIDJ9KTtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gI3skcmFkaXVzIC8gMn0pO1xuICAgICAgd2lkdGg6ICRyYWRpdXM7XG4gICAgICBoZWlnaHQ6ICRyYWRpdXM7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlLFxuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnV0dXJlKSB7XG4gICAgICAgIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIGNhbGMoNTAlIC0gI3skcmFkaXVzIC8gMn0pKTtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIGNhbGMoNTAlIC0gI3skcmFkaXVzIC8gMn0pKTtcbiAgICAgICAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgJHJhZGl1cyk7XG4gICAgICAgIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAkcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1dHVyZSkge1xuICAgICAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAkcmFkaXVzKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLXN0YXRlcy1pbnRlcmFjdGlvbnNfKFxuICAkY29sb3IsXG4gICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50LFxuICAkb3BhY2l0eS1tb2RpZmllcjogMCxcbiAgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSxcbiAgJHJpcHBsZS10YXJnZXQ6IFwiJlwiLFxuKSB7XG4gIEBpbmNsdWRlIG1kYy1yaXBwbGUtdGFyZ2V0LXNlbGVjdG9yKCRyaXBwbGUtdGFyZ2V0KSB7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaG92ZXItb3BhY2l0eShcbiAgICAkb3BhY2l0eTogbWRjLXN0YXRlcy1vcGFjaXR5KCRjb2xvciwgaG92ZXIpICsgJG9wYWNpdHktbW9kaWZpZXIsXG4gICAgJHF1ZXJ5OiAkcXVlcnksXG4gICAgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgQGluY2x1ZGUgbWRjLXN0YXRlcy1mb2N1cy1vcGFjaXR5KFxuICAgICRvcGFjaXR5OiBtZGMtc3RhdGVzLW9wYWNpdHkoJGNvbG9yLCBmb2N1cykgKyAkb3BhY2l0eS1tb2RpZmllcixcbiAgICAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQsXG4gICAgJHF1ZXJ5OiAkcXVlcnksXG4gICAgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0LFxuICApO1xuICBAaW5jbHVkZSBtZGMtc3RhdGVzLXByZXNzLW9wYWNpdHkoXG4gICAgJG9wYWNpdHk6IG1kYy1zdGF0ZXMtb3BhY2l0eSgkY29sb3IsIHByZXNzKSArICRvcGFjaXR5LW1vZGlmaWVyLFxuICAgICRxdWVyeTogJHF1ZXJ5LFxuICAgICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCk7XG59XG5cbi8vIFdyYXBzIGNvbnRlbnQgaW4gdGhlIGByaXBwbGUtdGFyZ2V0YCBzZWxlY3RvciBpZiBpdCBleGlzdHMuXG5AbWl4aW4gbWRjLXJpcHBsZS10YXJnZXQtc2VsZWN0b3IoJHJpcHBsZS10YXJnZXQ6IFwiJlwiKSB7XG4gIEBpZiAkcmlwcGxlLXRhcmdldCA9PSBcIiZcIiB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2Uge1xuICAgICN7JHJpcHBsZS10YXJnZXR9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb21tb24gc3R5bGVzIGZvciBhIHJpcHBsZSB0YXJnZXQgZWxlbWVudC5cbi8vIFVzZWQgZm9yIGNvbXBvbmVudHMgd2hpY2ggaGF2ZSBhbiBpbm5lciByaXBwbGUgdGFyZ2V0IGVsZW1lbnQuXG5AbWl4aW4gbWRjLXJpcHBsZS10YXJnZXQtY29tbW9uKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gTmVjZXNzYXJ5IGZvciBjbGlja3Mgb24gb3RoZXIgaW5uZXIgZWxlbWVudHMgKGUuZy4gY2xvc2UgaWNvbiBpbiBjaGlwKVxuICAgIC8vIHRvIGdvIHRocm91Z2guXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kbWRjLXJpcHBsZS1mYWRlLWluLWR1cmF0aW9uOiA3NW1zICFkZWZhdWx0O1xuJG1kYy1yaXBwbGUtZmFkZS1vdXQtZHVyYXRpb246IDE1MG1zICFkZWZhdWx0O1xuJG1kYy1yaXBwbGUtdHJhbnNsYXRlLWR1cmF0aW9uOiAyMjVtcyAhZGVmYXVsdDtcbiRtZGMtc3RhdGVzLXdhc2gtZHVyYXRpb246IDE1bXMgIWRlZmF1bHQ7XG5cbi8vIE5vdGVzIG9uIHN0YXRlczpcbi8vICogZm9jdXMgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGhvdmVyIChpLmUuIGlmIGFuIGVsZW1lbnQgaXMgYm90aCBmb2N1c2VkIGFuZCBob3ZlcmVkLCBvbmx5IGZvY3VzIHZhbHVlIGFwcGxpZXMpXG4vLyAqIHByZXNzIHN0YXRlIGFwcGxpZXMgdG8gYSBzZXBhcmF0ZSBwc2V1ZG8tZWxlbWVudCwgc28gaXQgaGFzIGFuIGFkZGl0aXZlIGVmZmVjdCBvbiB0b3Agb2Ygb3RoZXIgc3RhdGVzXG4vLyAqIHNlbGVjdGVkL2FjdGl2YXRlZCBhcmUgYXBwbGllZCBhZGRpdGl2ZWx5IHRvIGhvdmVyL2ZvY3VzIHZpYSBjYWxjdWxhdGlvbnMgYXQgcHJlcHJvY2Vzc2luZyB0aW1lXG5cbiRtZGMtcmlwcGxlLWRhcmstaW5rLW9wYWNpdGllczogKFxuICBob3ZlcjogLjA0LFxuICBmb2N1czogLjEyLFxuICBwcmVzczogLjEyLFxuICBzZWxlY3RlZDogLjA4LFxuICBhY3RpdmF0ZWQ6IC4xMlxuKSAhZGVmYXVsdDtcblxuJG1kYy1yaXBwbGUtbGlnaHQtaW5rLW9wYWNpdGllczogKFxuICBob3ZlcjogLjA4LFxuICBmb2N1czogLjI0LFxuICBwcmVzczogLjI0LFxuICBzZWxlY3RlZDogLjE2LFxuICBhY3RpdmF0ZWQ6IC4yNFxuKSAhZGVmYXVsdDtcblxuLy8gTGVnYWN5XG5cbiRtZGMtcmlwcGxlLXByZXNzZWQtZGFyay1pbmstb3BhY2l0eTogLjE2ICFkZWZhdWx0O1xuJG1kYy1yaXBwbGUtcHJlc3NlZC1saWdodC1pbmstb3BhY2l0eTogLjMyICFkZWZhdWx0O1xuIiwiXHJcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvYnV0dG9uL21kYy1idXR0b25cIjtcclxuXHJcbmh0bWwsXHJcbmJvZHkge1xyXG4gICBtYXJnaW46IDA7XHJcbiAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbmEge1xyXG4gICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbmgxLCBoMiB7XHJcbiAgIGZvbnQtZmFtaWx5OiBcIlBUIFNlcmlmXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xyXG59XHJcblxyXG5oMSB7XHJcbiAgIGZvbnQtc2l6ZTogMi41ZW07XHJcbiAgIGNvbG9yOiAkY29sb3JfcHJpbWFpcmU7XHJcbiAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbmgyIHtcclxuICAgZm9udC1zaXplOiAyZW07XHJcbiAgIGNvbG9yOiAkY29sb3JfcHJpbWFpcmU7XHJcbiAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbmgzIHtcclxuICAgZm9udC1zaXplOiAxLjNlbTtcclxuICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcclxuICAgY29sb3I6ICM2NjY7XHJcbiAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbnAsXHJcbnVsID4gbGkge1xyXG4gICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcclxufVxyXG5cclxucCB7XHJcbiAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxufVxyXG5cclxubWFpbiB7XHJcbiAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xyXG59XHJcblxyXG4uZmxleC1yb3cge1xyXG4gICBkaXNwbGF5OiBmbGV4O1xyXG4gICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG59XHJcblxyXG4uZmxleC1jb2x1bW4ge1xyXG4gICBkaXNwbGF5OiBmbGV4O1xyXG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uZmxleC1jZW50ZXItY2VudGVyIHtcclxuICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi50ZXh0LWNlbnRlciB7XHJcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnRleHQtanVzdGlmeSB7XHJcbiAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcblxyXG4gICBoMSwgaDIsIGgzIHtcclxuICAgICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcclxuICAgfVxyXG59XHJcblxyXG4uY29udGFpbmVyX2NlbnRlciB7XHJcbiAgIHdpZHRoOiA5MCU7XHJcbiAgIG1heC13aWR0aDogJHdpZHRoX21heF9jb250ZW50O1xyXG4gICBtYXJnaW46IDAgYXV0byAzZW07XHJcbn1cclxuXHJcbi5zZXBhcmF0ZXVyIHtcclxuICAgZGlzcGxheTogYmxvY2s7XHJcbiAgIHdpZHRoOiAxMDAlO1xyXG4gICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggbGlnaHRncmF5O1xyXG5cclxuICAgJi5zZXBhcmF0ZXVyX192ZXJ0aWNhbCB7XHJcbiAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgICBib3JkZXItbGVmdDogc29saWQgMXB4IGxpZ2h0Z3JheTtcclxuICAgfVxyXG59XHJcblxyXG4vLyBlc3BhY2UgZHUgbWVudVxyXG5cclxuLm1haW5fX2hlYWRlci1wYWRkaW5nIHtcclxuICAgcGFkZGluZy10b3A6IDEyMHB4O1xyXG5cclxuICAgQGluY2x1ZGUgbWVkaWEobW9iaWxlb25seSkge1xyXG4gICAgICBwYWRkaW5nLXRvcDogNzJweDtcclxuICAgfVxyXG59XHJcblxyXG4vKipcclxuICAgQmFja2dyb3VuZCBjZW50ZXIgY292ZXJcclxuICovXHJcbi5jb250YWluZXItYmFja2dyb3VuZCB7XHJcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuICAgfVxyXG59XHJcblxyXG4vKipcclxuICAgSGVhZGVyIGF2ZWMgbGUgZm9uZCBldCBsYSBjYXRjaCBwaHJhc2VcclxuICovXHJcbi5oZWFkZXItYmFubmllcmUge1xyXG4gICBAZXh0ZW5kIC5jb250YWluZXItYmFja2dyb3VuZDtcclxuXHJcbiAgICZfY29udGVudCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMi41ZW07XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwLCAwLjUpO1xyXG4gICAgICBwYWRkaW5nOiAxMDBweCAwO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICB9XHJcblxyXG59XHJcblxyXG4vKipcclxuICAgTG9hZGVyIFNwaW5uZXJcclxuICovXHJcbi5zcGlubmVyLWR1YWwtcmluZyB7XHJcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgd2lkdGg6IDY0cHg7XHJcbiAgIGhlaWdodDogNjRweDtcclxuXHJcbiAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiA0NnB4O1xyXG4gICAgICBoZWlnaHQ6IDQ2cHg7XHJcbiAgICAgIG1hcmdpbjogMXB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIGJvcmRlcjogNXB4IHNvbGlkICRjb2xvcl9zZWNvbmRhaXJlO1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcl9zZWNvbmRhaXJlIHRyYW5zcGFyZW50ICRjb2xvcl9zZWNvbmRhaXJlIHRyYW5zcGFyZW50O1xyXG4gICAgICBhbmltYXRpb246IGxkcy1kdWFsLXJpbmcgMS4ycyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGxkcy1kdWFsLXJpbmcge1xyXG4gICAwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICB9XHJcbiAgIDEwMCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gICBTdHlsZSBkdSBib3V0b25cclxuICovXHJcblxyXG4ubWRjLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XHJcbiAgIGNvbG9yOiAkY29sb3Jfc2Vjb25kYWlyZVxyXG59XHJcblxyXG4ubWRjLWJ1dHRvbi0tb3V0bGluZWQ6bm90KDpkaXNhYmxlZCkge1xyXG4gICBib3JkZXItY29sb3I6ICRjb2xvcl9zZWNvbmRhaXJlO1xyXG59XHJcblxyXG4ubWRjLWJ1dHRvbjo6YmVmb3JlLFxyXG4ubWRjLWJ1dHRvbjo6YWZ0ZXIge1xyXG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc2Vjb25kYWlyZTtcclxufVxyXG5cclxuLm1kYy1idXR0b24tLXJhaXNlZCB7XHJcbiAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9zZWNvbmRhaXJlICFpbXBvcnRhbnQ7XHJcbiAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKipcclxuICAgQmFuZGVhdSBBbGVydCBDb29raWVzXHJcbiAqL1xyXG4uYWxlcnQtY29va2llcyB7XHJcbiAgIHotaW5kZXg6IDEwO1xyXG4gICBkaXNwbGF5OiBub25lOyAvLyBkaXNwbGF5IGZsZXggc2kgbGUgY29va2llIG4nZXN0IHBhcyBlbmNvcmUgYWNjZXB0w6kgKHN0eWxlLmpzKVxyXG4gICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgIGJvdHRvbTogMDtcclxuICAgd2lkdGg6IDEwMCU7XHJcbiAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICBjb2xvcjogJGNvbG9yX3ByaW1haXJlO1xyXG4gICBib3JkZXItdG9wOiBzb2xpZCAycHggJGNvbG9yX3NlY29uZGFpcmU7XHJcbiAgIHBhZGRpbmc6IDE1cHggMjBweDtcclxuICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgIHAge1xyXG4gICAgICBmbGV4OiA0O1xyXG4gICB9XHJcblxyXG4gICAmX2FjdGlvbnMge1xyXG4gICAgICBmbGV4OiAxO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgfVxyXG5cclxuXHJcbiAgIEBpbmNsdWRlIG1lZGlhKG1vYmlsZW9ubHkpe1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICB9XHJcblxyXG59XHJcblxyXG4vKipcclxuICAgVG9vbFRpcFxyXG4gKi9cclxuLnRvb2x0aXAge1xyXG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAvLyBsZSBtZXNzYWdlXHJcbiAgIC50b29sdGlwdGV4dCB7XHJcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB6LWluZGV4OiAxO1xyXG4gICAgICB0b3A6IGNhbGMoMTAwJSArIDEwcHgpO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzg5MDlDO1xyXG5cclxuXHJcbiAgICAgIC8vIGxlIHBldGl0IHRyaWFuZ2xlIHBvaW50ZXJcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgIGJvdHRvbTogMTAwJTtcclxuICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICBtYXJnaW4tbGVmdDogLTVweDtcclxuICAgICAgICAgYm9yZGVyLXdpZHRoOiA1cHg7XHJcbiAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzc4OTA5QyB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG4gICB9XHJcblxyXG4gICAmOmhvdmVyIC50b29sdGlwdGV4dCB7XHJcbiAgICAgIGFuaW1hdGlvbjogdG9vbHRpcC1hbmltYXRpb24gZWFzZS1pbi1vdXQgMC4zcztcclxuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHRvb2x0aXAtYW5pbWF0aW9uIHtcclxuICAgZnJvbSB7XHJcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgfVxyXG4gICB0byB7XHJcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgIH1cclxufSIsIi8qKlxyXG4gICAgSEVBREVSXHJcbiAqL1xyXG5cclxuaGVhZGVyIHtcclxuICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgd2lkdGg6IDEwMCU7XHJcbiAgIHotaW5kZXg6IDI7XHJcbn1cclxuXHJcbi8qKlxyXG4gICBMb2dvIEpvbGxldCBkYW5zIGxlIGhlYWRlclxyXG4qL1xyXG4uaGVhZGVyX2xvZ28ge1xyXG4gICBAZXh0ZW5kIC5mbGV4LXJvdztcclxuICAgQGV4dGVuZCAuZmxleC1jZW50ZXItY2VudGVyO1xyXG4gICBoZWlnaHQ6IDcwcHg7XHJcblxyXG4gICBzdmcge1xyXG4gICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgIH1cclxuICAgbGFiZWwge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMzVweDtcclxuXHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgIG1hcmdpbjogNXB4IDA7XHJcblxyXG4gICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMjVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9wcmltYWlyZTtcclxuICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAgIEJ1cmdlciBtZW51IGR1IG1vZGUgdMOpbMOpcGhvbmVcclxuKi9cclxuI2hlYWRlcl90b2dnbGUge1xyXG4gICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgJjpjaGVja2VkICsgLmhlYWRlcl9sb2dvIGxhYmVsIHtcclxuXHJcbiAgICAgIHNwYW46bnRoLWNoaWxkKDEpOmFmdGVye1xyXG4gICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgfVxyXG4gICAgICBzcGFuOm50aC1jaGlsZCgyKTphZnRlciB7XHJcbiAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgfVxyXG4gICAgICBzcGFuOm50aC1jaGlsZCgzKTphZnRlciB7XHJcbiAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgfVxyXG4gICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICAgTWVudSBkZSBuYXZpZ2F0aW9uXHJcbiovXHJcbi5oZWFkZXJfbmF2LWJhciB7XHJcbiAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggJGNvbG9yX3ByaW1haXJlO1xyXG5cclxuICAgLm5hdi1iYXJfaXRlbXMge1xyXG4gICAgICBAZXh0ZW5kIC5mbGV4LXJvdztcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgbWFyZ2luOiAwIDAgMjVweCAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlBUIFNlcmlmXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xyXG5cclxuICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfcHJpbWFpcmU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XHJcblxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAkY29sb3JfcHJpbWFpcmUgMCUsICRjb2xvcl9wcmltYWlyZSAycHgsIHRyYW5zcGFyZW50IDJweCkgbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMTAwJTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIDAuM3M7XHJcblxyXG4gICAgICAgICAgICAmLmFjdGl2ZSxcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICB9XHJcblxyXG59XHJcblxyXG4vKipcclxuICAgUGFuaWVyIGRlIGxhIGJvdXRpcXVlIFxyXG4gICAodmlzaWJsZSBxdWUgZGFucyBsYSBib3V0aXF1ZSlcclxuKi9cclxuLmhlYWRlcl9iYXNrZXQge1xyXG4gICBtYXJnaW46IDAgMTVweDtcclxuICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICByaWdodDogMDtcclxuICAgYm90dG9tOiA1cHg7XHJcblxyXG4gICAuY291bnQge1xyXG4gICAgICBAZXh0ZW5kIC5mbGV4LXJvdztcclxuICAgICAgQGV4dGVuZCAuZmxleC1jZW50ZXItY2VudGVyO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNjMwMzA7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgfVxyXG5cclxuICAgJl9lbXB0eSAuY291bnQge1xyXG4gICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICB9XHJcblxyXG4gICAmX3VwIC5jb3VudCB7XHJcbiAgICAgIGFuaW1hdGlvbjogY291bnQtem9vbSAzcyBmb3J3YXJkcyAxO1xyXG4gICB9XHJcblxyXG4gICBAaW5jbHVkZSBtZWRpYShtb2JpbGVvbmx5KSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgIH1cclxuXHJcbn1cclxuXHJcbi8vIGFuaW1hdGlvbiBkdSBjb21wdGV1ciBkZSBwcm9kdWl0XHJcbkBrZXlmcmFtZXMgY291bnQtem9vbSB7XHJcbiAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG4gICAxMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IH1cclxuICAgMzAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG59XHJcblxyXG4vKipcclxuICAgU1BFQ0lBTCBQT1VSIExBIEhPTUUgUEFHRVxyXG4gKi9cclxuaGVhZGVyLmhlYWRlcl9faG9tZS1wYWdlIHtcclxuICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgd2lkdGg6IDYwMHB4O1xyXG4gICByaWdodDogMDtcclxuXHJcbiAgIC5oZWFkZXJfbG9nbyB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgIH1cclxuXHJcbiAgIC5oZWFkZXJfbmF2LWJhciB7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgIC5uYXYtYmFyX2l0ZW1zIHtcclxuICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMDtcclxuXHJcbiAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICNmZmYgMCUsICNmZmYgMnB4LCB0cmFuc3BhcmVudCAycHgpIG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDEwMCU7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgIH1cclxuICAgQGluY2x1ZGUgbWVkaWEobW9iaWxlb25seSkge1xyXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgei1pbmRleDogMjtcclxuXHJcbiAgICAgIC5oZWFkZXJfbG9nbyB7XHJcbiAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5oZWFkZXJfbmF2LWJhciB7XHJcbiAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgICAgIC5uYXYtYmFyX2l0ZW1zIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjVweCAwO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfcHJpbWFpcmU7XHJcbiAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRjb2xvcl9wcmltYWlyZSAwJSwgJGNvbG9yX3ByaW1haXJlIDJweCwgdHJhbnNwYXJlbnQgMnB4KSBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCAxMDAlO1xyXG4gICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgMC4zcztcclxuXHJcbiAgICAgICAgICAgICAgICYuYWN0aXZlLFxyXG4gICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgfVxyXG59XHJcblxyXG4vKipcclxuICAgUkVTUE9OU0lWRVxyXG4gKi9cclxuXHJcbiRoZWFkZXJfaXRlbS1oZWlnaHQ6IDIzcHg7XHJcbiRoZWFkZXJfaXRlbS1tYXJnaW46IDEwcHg7XHJcbiRoZWFkZXJfaXRlbXMtY291bnQ6IDU7XHJcblxyXG5AaW5jbHVkZSBtZWRpYShtb2JpbGVvbmx5KSB7XHJcbiAgIC5oZWFkZXJfbG9nbyB7XHJcblxyXG4gICAgICBsYWJlbCB7XHJcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgIH1cclxuICAgLmhlYWRlcl9uYXYtYmFyIHtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgaGVpZ2h0OiAwcHg7XHJcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2Utb3V0O1xyXG5cclxuICAgICAgLm5hdi1iYXJfaXRlbXMge1xyXG4gICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgIH1cclxuXHJcbiAgICNoZWFkZXJfdG9nZ2xlOmNoZWNrZWQgfiAuaGVhZGVyX25hdi1iYXIge1xyXG4gICAgICBoZWlnaHQ6ICgkaGVhZGVyX2l0ZW0taGVpZ2h0ICsgJGhlYWRlcl9pdGVtLW1hcmdpbioyKSokaGVhZGVyX2l0ZW1zLWNvdW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG4iLCJcclxuZm9vdGVyIHtcclxuICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3ByaW1haXJlO1xyXG4gICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgIG1hcmdpbi10b3A6IDMwcHg7XHJcblxyXG4gICAudGV4dC1jZW50ZXIge1xyXG4gICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBNb250c2VycmF0LCBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG4uZm9vdGVyX25hdi1iYXIge1xyXG5cclxuICAgLmZvb3Rlcl9sb2dvIHtcclxuICAgICAgQGV4dGVuZCAuZmxleC1yb3c7XHJcbiAgICAgIEBleHRlbmQgLmZsZXgtY2VudGVyLWNlbnRlcjtcclxuXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgIGhlaWdodDogNTlweDtcclxuXHJcbiAgICAgICAgICoge1xyXG4gICAgICAgICAgICBmaWxsOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgfVxyXG5cclxuICAgLm5hdi1iYXJfaXRlbXMge1xyXG4gICAgICBAZXh0ZW5kIC5mbGV4LXJvdztcclxuICAgICAgQGV4dGVuZCAuZmxleC1jZW50ZXItY2VudGVyO1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBtYXJnaW46IDI1cHggMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICAgbWluLXdpZHRoOiAxNTBweDtcclxuICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICBmb250LWZhbWlseTogTW9udHNlcnJhdCwgXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcclxuXHJcbiAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgfVxyXG4gICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgLy8gZmFjZWJvb2tcclxuICAgICAgICAgJjpudGgtY2hpbGQoMSkgYTpob3ZlciB7XHJcbiAgICAgICAgICAgICoge1xyXG4gICAgICAgICAgICAgICBmaWxsOiBjb3JuZmxvd2VyYmx1ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgLy8gaW5zdGFncmFtXHJcbiAgICAgICAgICY6bnRoLWNoaWxkKDIpIGE6aG92ZXIge1xyXG4gICAgICAgICAgICAqIHtcclxuICAgICAgICAgICAgICAgZmlsbDogYmVpZ2UgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgfVxyXG5cclxuICAgLy8gUGF5cGFsXHJcbiAgIC5uYXYtYmFyX3BheW1lbnQtbWV0aG9kcyB7XHJcbiAgICAgIEBleHRlbmQgLmZsZXgtcm93O1xyXG4gICAgICBAZXh0ZW5kIC5mbGV4LWNlbnRlci1jZW50ZXI7XHJcblxyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICAgbWF4LWhlaWdodDogNTBweDtcclxuICAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEobW9iaWxlb25seSkge1xyXG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICB9XHJcbiAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAgIFJFU1BPTlNJVkVcclxuICovXHJcbkBpbmNsdWRlIG1lZGlhKG1vYmlsZW9ubHkpIHtcclxuICAgLmZvb3Rlcl9uYXYtYmFyIHtcclxuXHJcbiAgICAgIC5uYXYtYmFyX2l0ZW1zOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICB9XHJcbn0iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTkgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9iYXNlL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuLy8vIFN0eWxlcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnQncyB0b3VjaCB0YXJnZXQgd3JhcHBlciBlbGVtZW50LlxuQG1peGluIG1kYy10b3VjaC10YXJnZXQtd3JhcHBlcigkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy10b3VjaC10YXJnZXQtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIEVuc3VyZSB0aGF0IHN0eWxlcyBhcmUgb25seSBlbWl0dGVkIG9uY2UgYWNyb3NzIGFsbCBjb21wb25lbnRzIHRoYXRcbiAgICAgIC8vIGhhdmUgaW5jcmVhc2VkIHRvdWNoIHRhcmdldHMuXG4gICAgICBAaW5jbHVkZSBtZGMtYmFzZS1lbWl0LW9uY2UoXCJtZGMtdG91Y2gtdGFyZ2V0L3dyYXBwZXJcIikge1xuICAgICAgICAvLyBOT1RFOiBXaWxsIGNoYW5nZSB0byBgaW5saW5lLWJsb2NrYCBpbiB0aGUgZnV0dXJlLCBidXQga2VlcGluZyBhcyBpc1xuICAgICAgICAvLyB0ZW1wb3JhcmlseSBmb3IgYmFja3dhcmRzLWNvbXBhdGliaWxpdHkuXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0eWxlcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnQncyBpbm5lciB0b3VjaCB0YXJnZXQgZWxlbWVudC5cbkBtaXhpbiBtZGMtdG91Y2gtdGFyZ2V0KCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogJG1kYy10b3VjaC10YXJnZXQtaGVpZ2h0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG4vLy8gU3R5bGVzIGFwcGxpZWQgdG8gdGhlIGNvbXBvbmVudCB3aXRoIHRoZSBpbmNyZWFzZWQgdG91Y2ggdGFyZ2V0LlxuQG1peGluIG1kYy10b3VjaC10YXJnZXQtY29tcG9uZW50KCRjb21wb25lbnQtaGVpZ2h0LCAkY29tcG9uZW50LXdpZHRoOiBudWxsLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgJHZlcnRpY2FsLW1hcmdpbi12YWx1ZTogKCRtZGMtdG91Y2gtdGFyZ2V0LWhlaWdodCAtICRjb21wb25lbnQtaGVpZ2h0KSAvIDI7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBtYXJnaW4tdG9wOiAkdmVydGljYWwtbWFyZ2luLXZhbHVlO1xuICAgIG1hcmdpbi1ib3R0b206ICR2ZXJ0aWNhbC1tYXJnaW4tdmFsdWU7XG4gIH1cblxuICBAaWYgJGNvbXBvbmVudC13aWR0aCB7XG4gICAgJGhvcml6b250YWwtbWFyZ2luLXZhbHVlOiAoJG1kYy10b3VjaC10YXJnZXQtd2lkdGggLSAkY29tcG9uZW50LXdpZHRoKSAvIDI7XG5cbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkaG9yaXpvbnRhbC1tYXJnaW4tdmFsdWU7XG4gICAgICBtYXJnaW4tbGVmdDogJGhvcml6b250YWwtbWFyZ2luLXZhbHVlO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gbWRjLWNoZWNrYm94LWNvbnRhaW5lci1rZXlmcmFtZXNfKFxuICAkZnJvbS1zdHJva2UtY29sb3IsXG4gICR0by1zdHJva2UtY29sb3IsXG4gICRmcm9tLWZpbGwtY29sb3IsXG4gICR0by1maWxsLWNvbG9yLFxuICAkdWlkKSB7XG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC0jeyR1aWR9IHtcbiAgICAwJSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICRmcm9tLXN0cm9rZS1jb2xvcik7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkZnJvbS1maWxsLWNvbG9yKTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWNvbG9yLCAkdG8tc3Ryb2tlLWNvbG9yKTtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICR0by1maWxsLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLSN7JHVpZH0ge1xuICAgIDAlLFxuICAgIDgwJSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICR0by1zdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJHRvLWZpbGwtY29sb3IpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWNvbG9yLCAkZnJvbS1zdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGZyb20tZmlsbC1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3gtbWFyay1rZXlmcmFtZXNfIHtcbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWNoZWNrZWQtY2hlY2ttYXJrLXBhdGgge1xuICAgIDAlLFxuICAgIDUwJSB7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogJG1kYy1jaGVja2JveC1tYXJrLXBhdGgtbGVuZ3RoXztcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJG1kYy1hbmltYXRpb24tZGVjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayB7XG4gICAgMCUsXG4gICAgNjguMiUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgfVxuXG4gICAgNjguMiUge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAsIDEpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtY2hlY2tlZC11bmNoZWNrZWQtY2hlY2ttYXJrLXBhdGgge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJG1kYy1hbmltYXRpb24tYWNjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRtZGMtY2hlY2tib3gtbWFyay1wYXRoLWxlbmd0aF8gKiAtMTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtY2hlY2ttYXJrIHtcbiAgICBmcm9tIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRtZGMtYW5pbWF0aW9uLWRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtY2hlY2ttYXJrIHtcbiAgICBmcm9tIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWVhc2luZy1mdW5jdGlvbl87XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmsge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbWRjLWFuaW1hdGlvbi1kZWNlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1taXhlZG1hcmsge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtZWFzaW5nLWZ1bmN0aW9uXztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLXVuY2hlY2tlZC1taXhlZG1hcmsge1xuICAgIDAlIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAzMi44JSxcbiAgICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL3JpcHBsZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL2RlbnNpdHkvdmFyaWFibGVzXCI7XG5cbiRtZGMtY2hlY2tib3gtbWFyay1jb2xvcjogbWRjLXRoZW1lLXByb3AtdmFsdWUob24tcHJpbWFyeSkgIWRlZmF1bHQ7XG4kbWRjLWNoZWNrYm94LWJvcmRlci1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjU0KSAhZGVmYXVsdDtcbiRtZGMtY2hlY2tib3gtZGlzYWJsZWQtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4yNikgIWRlZmF1bHQ7XG4kbWRjLWNoZWNrYm94LWJhc2VsaW5lLXRoZW1lLWNvbG9yOiBzZWNvbmRhcnkgIWRlZmF1bHQ7XG5cbiRtZGMtY2hlY2tib3gtcmlwcGxlLXNpemU6IDQwcHggIWRlZmF1bHQ7XG4kbWRjLWNoZWNrYm94LWljb24tc2l6ZTogMThweCAhZGVmYXVsdDtcbiRtZGMtY2hlY2tib3gtbWFyay1zdHJva2Utc2l6ZTogMi8xNSAqICRtZGMtY2hlY2tib3gtaWNvbi1zaXplICFkZWZhdWx0O1xuJG1kYy1jaGVja2JveC1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcbiRtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1kdXJhdGlvbjogOTBtcyAhZGVmYXVsdDtcbiRtZGMtY2hlY2tib3gtaXRlbS1zcGFjaW5nOiA0cHggIWRlZmF1bHQ7XG4kbWRjLWNoZWNrYm94LWZvY3VzLWluZGljYXRvci1vcGFjaXR5OiBtYXAtZ2V0KCRtZGMtcmlwcGxlLWRhcmstaW5rLW9wYWNpdGllcywgZm9jdXMpICFkZWZhdWx0O1xuXG4kbWRjLWNoZWNrYm94LW1pbmltdW0tc2l6ZTogMjhweCAhZGVmYXVsdDtcbiRtZGMtY2hlY2tib3gtbWF4aW11bS1zaXplOiAkbWRjLWNoZWNrYm94LXJpcHBsZS1zaXplICFkZWZhdWx0O1xuJG1kYy1jaGVja2JveC1kZW5zaXR5LXNjYWxlOiAkbWRjLWRlbnNpdHktZGVmYXVsdC1zY2FsZSAhZGVmYXVsdDtcbiRtZGMtY2hlY2tib3gtZGVuc2l0eS1jb25maWc6IChcbiAgc2l6ZTogKFxuICAgIG1pbmltdW06ICRtZGMtY2hlY2tib3gtbWluaW11bS1zaXplLFxuICAgIGRlZmF1bHQ6ICRtZGMtY2hlY2tib3gtcmlwcGxlLXNpemUsXG4gICAgbWF4aW11bTogJG1kYy1jaGVja2JveC1tYXhpbXVtLXNpemUsXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyBNYW51YWwgY2FsY3VsYXRpb24gZG9uZSBvbiBTVkdcbiRtZGMtY2hlY2tib3gtbWFyay1wYXRoLWxlbmd0aF86IDI5Ljc4MzMzODUgIWRlZmF1bHQ7XG4kbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1lYXNpbmctZnVuY3Rpb25fOiBjdWJpYy1iZXppZXIoLjE0LCAwLCAwLCAxKSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL2FuaW1hdGlvbi9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZGVuc2l0eS9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9yaXBwbGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RvdWNoLXRhcmdldC9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4va2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuLy9cbi8vIFB1YmxpY1xuLy9cblxuJG1kYy1jaGVja2JveC1yaXBwbGUtdGFyZ2V0OiBcIi5tZGMtY2hlY2tib3hfX3JpcHBsZVwiO1xuXG5AbWl4aW4gbWRjLWNoZWNrYm94LWNvcmUtc3R5bGVzKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LXdpdGhvdXQtcmlwcGxlKCRxdWVyeSk7XG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveC1yaXBwbGUoJHF1ZXJ5KTtcbn1cblxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlcyBmcm9tIHRoZSBvdGhlclxuLy8gY2hlY2tib3ggc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtY2hlY2tib3gtY29yZS1zdHlsZXNgIGluc3RlYWQuXG5AbWl4aW4gbWRjLWNoZWNrYm94LXdpdGhvdXQtcmlwcGxlKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgY2hlY2tib3hcblxuICAkZmVhdC1hbmltYXRpb246IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtdG91Y2gtdGFyZ2V0LXdyYXBwZXIoJHF1ZXJ5KTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveC1tYXJrLWtleWZyYW1lc187XG4gIH1cblxuICAubWRjLWNoZWNrYm94IHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWJhc2VfO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveC1mb2N1cy1pbmRpY2F0b3ItY29sb3IoJG1kYy1jaGVja2JveC1iYXNlbGluZS10aGVtZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveC1kZW5zaXR5KCRtZGMtY2hlY2tib3gtZGVuc2l0eS1zY2FsZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWNvbnRhaW5lci1jb2xvcnMoJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtZGlzYWJsZWQtY29udGFpbmVyLWNvbG9ycygkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveC1pbmstY29sb3IoJG1kYy1jaGVja2JveC1tYXJrLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveC1kaXNhYmxlZC1pbmstY29sb3IoJG1kYy1jaGVja2JveC1tYXJrLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgbWFyZ2luOiAwIDFweDsgLy8gRXh0cmEgaG9yaXpvbnRhbCBzcGFjZSBhcm91bmQgbWl4ZWRtYXJrIHN5bWJvbC5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBOZWVkZWQgdG8gZGlzYWJsZSBob3ZlciBlZmZlY3RzIG9uIENTUy1vbmx5IChub24tSlMpIGNoZWNrYm94ZXNcbiAgLm1kYy1jaGVja2JveC0tZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtLWRpc2FibGVkXztcbiAgICB9XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3hfX2JhY2tncm91bmRfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveF9fY2hlY2ttYXJrXygkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgge1xuICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGhfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveF9fbWl4ZWRtYXJrXygkcXVlcnkpO1xuICB9XG5cbiAgLy8gSlMgY2hlY2tib3hcbiAgLm1kYy1jaGVja2JveC0tdXBncmFkZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLFxuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoLFxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3hfX2NoaWxkLS11cGdyYWRlZF87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jaGVja2JveC0tYW5pbSB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveC0tYW5pbV87XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLS1tYXJrZWRfO1xuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgtLW1hcmtlZF87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIGZyYW1lJ3MgOjpiZWZvcmUgZWxlbWVudCBpcyB1c2VkIGFzIGEgZm9jdXMgaW5kaWNhdG9yIGZvciB0aGUgY2hlY2tib3hcbiAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3hfX2ZvY3VzLWluZGljYXRvcl8oJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmZvY3VzIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3hfX2ZvY3VzLWluZGljYXRvci0tZm9jdXNlZF8oJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbF87XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtLWRpc2FibGVkXztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWNoZWNrYm94LS10b3VjaCB7XG4gICAgQGluY2x1ZGUgbWRjLXRvdWNoLXRhcmdldC1jb21wb25lbnQoXG4gICAgICAkY29tcG9uZW50LWhlaWdodDogJG1kYy1jaGVja2JveC1yaXBwbGUtc2l6ZSxcbiAgICAgICRjb21wb25lbnQtd2lkdGg6ICRtZGMtY2hlY2tib3gtcmlwcGxlLXNpemUsXG4gICAgICAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LXRvdWNoLXRhcmdldCgkbWRjLXRvdWNoLXRhcmdldC1oZWlnaHQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94X19jaGVja21hcmstLWNoZWNrZWRfKCRxdWVyeSk7XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveF9fbWl4ZWRtYXJrLS1jaGVja2VkXztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveF9fY2hlY2ttYXJrLS1pbmRldGVybWluYXRlXygkcXVlcnkpO1xuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3hfX21peGVkbWFyay0taW5kZXRlcm1pbmF0ZV87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbn1cblxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlcyBmcm9tIHRoZSBvdGhlclxuLy8gY2hlY2tib3ggc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtY2hlY2tib3gtY29yZS1zdHlsZXNgIGluc3RlYWQuXG5AbWl4aW4gbWRjLWNoZWNrYm94LXJpcHBsZSgkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLXJpcHBsZS1jb21tb24oJHF1ZXJ5KTtcblxuICAubWRjLWNoZWNrYm94IHtcbiAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2UoJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiAkbWRjLWNoZWNrYm94LXJpcHBsZS10YXJnZXQpO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMoJGNvbG9yOiBvbi1zdXJmYWNlLCAkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRtZGMtY2hlY2tib3gtcmlwcGxlLXRhcmdldCk7XG4gICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1yYWRpdXMtdW5ib3VuZGVkKCRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogJG1kYy1jaGVja2JveC1yaXBwbGUtdGFyZ2V0KTtcbiAgfVxuXG4gICN7JG1kYy1jaGVja2JveC1yaXBwbGUtdGFyZ2V0fSB7XG4gICAgQGluY2x1ZGUgbWRjLXJpcHBsZS10YXJnZXQtY29tbW9uKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBkZW5zaXR5IHNjYWxlIGZvciBjaGVja2JveC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgU3RyaW5nfSAkZGVuc2l0eS1zY2FsZSAtIERlbnNpdHkgc2NhbGUgdmFsdWUgZm9yIGNvbXBvbmVudC4gU3VwcG9ydGVkIGRlbnNpdHkgc2NhbGUgdmFsdWVzXG4vLy8gICAgIGAtM2AsIGAtMmAsIGAtMWAsIGAwYC5cbi8vL1xuQG1peGluIG1kYy1jaGVja2JveC1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRzaXplOiBtZGMtZGVuc2l0eS1wcm9wLXZhbHVlKFxuICAgICRkZW5zaXR5LWNvbmZpZzogJG1kYy1jaGVja2JveC1kZW5zaXR5LWNvbmZpZyxcbiAgICAkZGVuc2l0eS1zY2FsZTogJGRlbnNpdHktc2NhbGUsXG4gICAgJHByb3BlcnR5LW5hbWU6IHNpemUsXG4gICk7XG5cbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LXJpcHBsZS1zaXplKCRzaXplLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgQGlmICRkZW5zaXR5LXNjYWxlICE9IDAge1xuICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveC10b3VjaC10YXJnZXQtcmVzZXRfKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWNoZWNrYm94LXJpcHBsZS1zaXplKCRyaXBwbGUtc2l6ZSwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkY2hlY2tib3gtcGFkZGluZzogKCRyaXBwbGUtc2l6ZSAtICRtZGMtY2hlY2tib3gtaWNvbi1zaXplKSAvIDI7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBwYWRkaW5nOiAkY2hlY2tib3gtcGFkZGluZztcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB0b3A6ICRjaGVja2JveC1wYWRkaW5nO1xuICAgICAgbGVmdDogJGNoZWNrYm94LXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgdG9wOiAtJG1kYy1jaGVja2JveC1ib3JkZXItd2lkdGggLSAkY2hlY2tib3gtcGFkZGluZztcbiAgICAgIGxlZnQ6IC0kbWRjLWNoZWNrYm94LWJvcmRlci13aWR0aCAtICRjaGVja2JveC1wYWRkaW5nO1xuICAgICAgd2lkdGg6ICRyaXBwbGUtc2l6ZTtcbiAgICAgIGhlaWdodDogJHJpcHBsZS1zaXplO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveC10b3VjaC10YXJnZXQoJHJpcHBsZS1zaXplLCAkcmlwcGxlLXNpemU6ICRyaXBwbGUtc2l6ZSwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG4vLy9cbi8vLyBTZXRzIHN0cm9rZSAmIGZpbGwgY29sb3JzIGZvciBib3RoIG1hcmtlZCBhbmQgdW5tYXJrZWQgc3RhdGUgb2YgZW5hYmxlZCBjaGVja2JveC5cbi8vLyBTZXQgJGdlbmVyYXRlLWtleWZyYW1lcyB0byBmYWxzZSB0byBwcmV2ZW50IHRoZSBtaXhpbiBmcm9tIGdlbmVyYXRpbmcgQGtleWZyYW1lc1xuLy8vIEBwYXJhbSB7Q29sb3J9ICR1bm1hcmtlZC1zdHJva2UtY29sb3IgLSBUaGUgZGVzaXJlZCBzdHJva2UgY29sb3IgZm9yIHRoZSB1bm1hcmtlZCBzdGF0ZVxuLy8vIEBwYXJhbSB7Q29sb3J9ICR1bm1hcmtlZC1maWxsLWNvbG9yIC0gVGhlIGRlc2lyZWQgZmlsbCBjb2xvciBmb3IgdGhlIHVubWFya2VkIHN0YXRlXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG1hcmtlZC1zdHJva2UtY29sb3IgLSBUaGUgZGVzaXJlZCBzdHJva2UgY29sb3IgZm9yIHRoZSBtYXJrZWQgc3RhdGVcbi8vLyBAcGFyYW0ge0NvbG9yfSAkbWFya2VkLWZpbGwtY29sb3IgLSBUaGUgZGVzaXJlZCBmaWxsIGNvbG9yIGZvciB0aGUgbWFya2VkIHN0YXRlXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ2VuZXJhdGUta2V5ZnJhbWVzIFt0cnVlXSAtIFdoZXRoZXIgYW5pbWF0aW9uIGtleWZyYW1lcyBzaG91bGQgYmUgZ2VuZXJhdGVkXG4vLy9cbkBtaXhpbiBtZGMtY2hlY2tib3gtY29udGFpbmVyLWNvbG9ycyhcbiAgJHVubWFya2VkLXN0cm9rZS1jb2xvcjogJG1kYy1jaGVja2JveC1ib3JkZXItY29sb3IsXG4gICR1bm1hcmtlZC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgJG1hcmtlZC1zdHJva2UtY29sb3I6ICRtZGMtY2hlY2tib3gtYmFzZWxpbmUtdGhlbWUtY29sb3IsXG4gICRtYXJrZWQtZmlsbC1jb2xvcjogJG1kYy1jaGVja2JveC1iYXNlbGluZS10aGVtZS1jb2xvcixcbiAgJGdlbmVyYXRlLWtleWZyYW1lczogdHJ1ZSxcbiAgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKVxuKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveC1pZi11bm1hcmtlZC1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWNvbnRhaW5lci1jb2xvcnNfKCR1bm1hcmtlZC1zdHJva2UtY29sb3IsICR1bm1hcmtlZC1maWxsLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtaWYtbWFya2VkLWVuYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtY29udGFpbmVyLWNvbG9yc18oJG1hcmtlZC1zdHJva2UtY29sb3IsICRtYXJrZWQtZmlsbC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgQGlmICRnZW5lcmF0ZS1rZXlmcmFtZXMge1xuICAgICR1aWQ6IHVuaXF1ZS1pZCgpO1xuICAgICRhbmltLXNlbGVjdG9yOiBpZigmLCBcIiYubWRjLWNoZWNrYm94LS1hbmltXCIsIFwiLm1kYy1jaGVja2JveC0tYW5pbVwiKTtcblxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uLCAkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWNvbnRhaW5lci1rZXlmcmFtZXNfKFxuICAgICAgICAkZnJvbS1zdHJva2UtY29sb3I6ICR1bm1hcmtlZC1zdHJva2UtY29sb3IsXG4gICAgICAgICR0by1zdHJva2UtY29sb3I6ICRtYXJrZWQtc3Ryb2tlLWNvbG9yLFxuICAgICAgICAkZnJvbS1maWxsLWNvbG9yOiAkdW5tYXJrZWQtZmlsbC1jb2xvcixcbiAgICAgICAgJHRvLWZpbGwtY29sb3I6ICRtYXJrZWQtZmlsbC1jb2xvcixcbiAgICAgICAgJHVpZDogJHVpZFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbmVzdGluZy1kZXB0aFxuXG4gICAgI3skYW5pbS1zZWxlY3Rvcn0ge1xuICAgICAgJi11bmNoZWNrZWQtY2hlY2tlZCxcbiAgICAgICYtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUge1xuICAgICAgICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBtZGMtY2hlY2tib3gtZmFkZS1pbi1iYWNrZ3JvdW5kLSN7JHVpZH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtY2hlY2tlZC11bmNoZWNrZWQsXG4gICAgICAmLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIHtcbiAgICAgICAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgICAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmQtI3skdWlkfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIG1heC1uZXN0aW5nLWRlcHRoXG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBzdHJva2UgJiBmaWxsIGNvbG9ycyBmb3IgYm90aCBtYXJrZWQgYW5kIHVubWFya2VkIHN0YXRlIG9mIGRpc2FibGVkIGNoZWNrYm94LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR1bm1hcmtlZC1zdHJva2UtY29sb3IgLSBUaGUgZGVzaXJlZCBzdHJva2UgY29sb3IgZm9yIHRoZSB1bm1hcmtlZCBzdGF0ZVxuLy8vIEBwYXJhbSB7Q29sb3J9ICR1bm1hcmtlZC1maWxsLWNvbG9yIC0gVGhlIGRlc2lyZWQgZmlsbCBjb2xvciBmb3IgdGhlIHVubWFya2VkIHN0YXRlXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG1hcmtlZC1zdHJva2UtY29sb3IgLSBUaGUgZGVzaXJlZCBzdHJva2UgY29sb3IgZm9yIHRoZSBtYXJrZWQgc3RhdGVcbi8vLyBAcGFyYW0ge0NvbG9yfSAkbWFya2VkLWZpbGwtY29sb3IgLSBUaGUgZGVzaXJlZCBmaWxsIGNvbG9yIGZvciB0aGUgbWFya2VkIHN0YXRlXG4vLy9cbkBtaXhpbiBtZGMtY2hlY2tib3gtZGlzYWJsZWQtY29udGFpbmVyLWNvbG9ycyhcbiAgJHVubWFya2VkLXN0cm9rZS1jb2xvcjogJG1kYy1jaGVja2JveC1kaXNhYmxlZC1jb2xvcixcbiAgJHVubWFya2VkLWZpbGwtY29sb3I6IHRyYW5zcGFyZW50LFxuICAkbWFya2VkLXN0cm9rZS1jb2xvcjogdHJhbnNwYXJlbnQsXG4gICRtYXJrZWQtZmlsbC1jb2xvcjogJG1kYy1jaGVja2JveC1kaXNhYmxlZC1jb2xvcixcbiAgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKVxuKSB7XG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveC1pZi11bm1hcmtlZC1kaXNhYmxlZF8ge1xuICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveC1jb250YWluZXItY29sb3JzXygkdW5tYXJrZWQtc3Ryb2tlLWNvbG9yLCAkdW5tYXJrZWQtZmlsbC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWlmLW1hcmtlZC1kaXNhYmxlZF8ge1xuICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveC1jb250YWluZXItY29sb3JzXygkbWFya2VkLXN0cm9rZS1jb2xvciwgJG1hcmtlZC1maWxsLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgaW5rIGNvbG9yIG9mIHRoZSBjaGVja2VkIGFuZCBpbmRldGVybWluYXRlIGljb25zIGZvciBhbiBlbmFibGVkIGNoZWNrYm94XG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgaW5rIGNvbG9yIGluIGVuYWJsZWQgc3RhdGVcbi8vL1xuQG1peGluIG1kYy1jaGVja2JveC1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy1jaGVja2JveC1pZi1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgaW5rIGNvbG9yIG9mIHRoZSBjaGVja2VkIGFuZCBpbmRldGVybWluYXRlIGljb25zIGZvciBhIGRpc2FibGVkIGNoZWNrYm94XG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgaW5rIGNvbG9yIGluIGRpc2FibGVkIHN0YXRlXG4vLy9cbkBtaXhpbiBtZGMtY2hlY2tib3gtZGlzYWJsZWQtaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtaWYtZGlzYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtaW5rLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWNoZWNrYm94LWZvY3VzLWluZGljYXRvci1jb2xvcigkY29sb3IsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yLCAkZWRnZU9wdE91dDogdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIHtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzKCRjb2xvcjogJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRtZGMtY2hlY2tib3gtcmlwcGxlLXRhcmdldCk7XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIHtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IoJGNvbG9yOiAkY29sb3IsICRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogJG1kYy1jaGVja2JveC1yaXBwbGUtdGFyZ2V0KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIGNoZWNrYm94IHRvdWNoIHRhcmdldCBzaXplIHdoaWNoIGNhbiBiZSBtb3JlIHRoYW4gdGhlIHJpcHBsZSBzaXplLiBQYXJhbSBgJHJpcHBsZS1zaXplYCBpcyByZXF1aXJlZCBmb3IgY3VzdG9tXG4vLy8gcmlwcGxlIHNpemUuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgU2l6ZSBvZiB0b3VjaCB0YXJnZXQgKE5hdGl2ZSBpbnB1dCkgaW4gYHB4YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpcHBsZS1zaXplIFNpemUgb2YgcmlwcGxlIGluIGBweGAuIFJlcXVpcmVkIG9ubHkgZm9yIGN1c3RvbSByaXBwbGUgc2l6ZS5cbi8vL1xuQG1peGluIG1kYy1jaGVja2JveC10b3VjaC10YXJnZXQoXG4gICRzaXplOiAkbWRjLWNoZWNrYm94LXJpcHBsZS1zaXplLFxuICAkcmlwcGxlLXNpemU6ICRtZGMtY2hlY2tib3gtcmlwcGxlLXNpemUsXG4gICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJG9mZnNldDogKCRyaXBwbGUtc2l6ZSAtICRzaXplKSAvIDI7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbCB7XG4gICAgICB0b3A6ICRvZmZzZXQ7XG4gICAgICByaWdodDogJG9mZnNldDtcbiAgICAgIGxlZnQ6ICRvZmZzZXQ7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgICBoZWlnaHQ6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gUHJpdmF0ZVxuLy9cblxuQG1peGluIG1kYy1jaGVja2JveC1iYXNlXyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAwIDAgJG1kYy1jaGVja2JveC1pY29uLXNpemU7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB3aWR0aDogJG1kYy1jaGVja2JveC1pY29uLXNpemU7XG4gIGhlaWdodDogJG1kYy1jaGVja2JveC1pY29uLXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3gtLWRpc2FibGVkXyB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX2NoaWxkLS11cGdyYWRlZF8ge1xuICAvLyBEdWUgdG8gdGhlIG15cmlhZCBvZiBzZWxlY3RvciBjb21ib3MgdXNlZCB0byBwcm9wZXJseSBzdHlsZSBhIENTUy1vbmx5IGNoZWNrYm94LCBhbGwgb2ZcbiAgLy8gd2hpY2ggaGF2ZSB2YXJ5aW5nIHNlbGVjdG9yIHByZWNlZGVuY2UgYW5kIG1ha2UgdXNlIG9mIHRyYW5zaXRpb25zLCBpdCBpcyBjbGVhbmVyIGFuZCBtb3JlXG4gIC8vIGVmZmljaWVudCBoZXJlIHRvIHNpbXBseSB1c2UgIWltcG9ydGFudCwgc2luY2UgdGhlIG1kYy1jaGVja2JveC0tYW5pbS0qIGNsYXNzZXMgd2lsbCB0YWtlXG4gIC8vIG92ZXIgZnJvbSBoZXJlLlxuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIEFuaW1hdGlvblxuXG5AbWl4aW4gbWRjLWNoZWNrYm94LS1hbmltXyB7XG4gICRtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGFuZ2UtZHVyYXRpb25fOiA1MDBtcztcblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxuXG4gICYtdW5jaGVja2VkLWNoZWNrZWQsXG4gICYtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUsXG4gICYtY2hlY2tlZC11bmNoZWNrZWQsXG4gICYtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZHVyYXRpb24gKiAyO1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIH1cbiAgfVxuXG4gICYtdW5jaGVja2VkLWNoZWNrZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgICAgIC8vIEluc3RlYWQgb2YgZGVsYXlpbmcgdGhlIGFuaW1hdGlvbiwgd2Ugc2ltcGx5IG11bHRpcGx5IGl0cyBsZW5ndGggYnkgMiBhbmQgYmVnaW4gdGhlXG4gICAgICAvLyBhbmltYXRpb24gYXQgNTAlIGluIG9yZGVyIHRvIHByZXZlbnQgYSBmbGFzaCBvZiBzdHlsZXMgYXBwbGllZCB0byBhIGNoZWNrZWQgY2hlY2ttYXJrXG4gICAgICAvLyBhcyB0aGUgYmFja2dyb3VuZCBpcyBmYWRpbmcgaW4gYmVmb3JlIHRoZSBhbmltYXRpb24gYmVnaW5zLlxuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWNoZWNrZWQtY2hlY2ttYXJrLXBhdGggJG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWR1cmF0aW9uICogMiBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUge1xuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBhbmltYXRpb246IG1kYy1jaGVja2JveC11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmsgJG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWR1cmF0aW9uIGxpbmVhciAwcztcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1jaGVja2VkLXVuY2hlY2tlZCB7XG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgge1xuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtY2hlY2tlZC11bmNoZWNrZWQtY2hlY2ttYXJrLXBhdGggJG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWR1cmF0aW9uIGxpbmVhciAwcztcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1jaGVja2VkLWluZGV0ZXJtaW5hdGUge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gICAgICBhbmltYXRpb246IG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtY2hlY2ttYXJrICRtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1kdXJhdGlvbiBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBhbmltYXRpb246IG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrICRtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1kdXJhdGlvbiBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtaW5kZXRlcm1pbmF0ZS1jaGVja2VkIHtcbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWNoZWNrbWFyayAkbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hhbmdlLWR1cmF0aW9uXyBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBhbmltYXRpb246IG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtbWl4ZWRtYXJrICRtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGFuZ2UtZHVyYXRpb25fIGxpbmVhciAwcztcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1pbmRldGVybWluYXRlLXVuY2hlY2tlZCB7XG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWNsYXJhdGlvbi1jb2xvbi1zcGFjZS1hZnRlclxuICAgICAgYW5pbWF0aW9uOlxuICAgICAgICBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQtbWl4ZWRtYXJrICRtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGFuZ2UtZHVyYXRpb25fICogLjYgbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW1heC10eXBlXG59XG5cbi8vIEJhY2tncm91bmRcblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSBjaGVja2JveCBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW5cbi8vLyBlbmFibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gbWRjLWNoZWNrYm94LWlmLWVuYWJsZWRfIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIGNoZWNrYm94IGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpblxuLy8vIGRpc2FibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gbWRjLWNoZWNrYm94LWlmLWRpc2FibGVkXyB7XG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIH4ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vL1xuLy8vIEhlbHBzIHNlbGVjdCB0aGUgY2hlY2tib3ggYmFja2dyb3VuZCBvbmx5IHdoZW4gaXRzIG5hdGl2ZSBjb250cm9sIGlzIGluXG4vLy8gdW5tYXJrZWQgJiBlbmFibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gbWRjLWNoZWNrYm94LWlmLXVubWFya2VkLWVuYWJsZWRfIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpub3QoOmNoZWNrZWQpOm5vdCg6aW5kZXRlcm1pbmF0ZSkgfiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSBjaGVja2JveCBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW5cbi8vLyB1bm1hcmtlZCAmIGRpc2FibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gbWRjLWNoZWNrYm94LWlmLXVubWFya2VkLWRpc2FibGVkXyB7XG4gIC8vIE5vdGU6IHdlIG11c3QgdXNlIGBbZGlzYWJsZWRdYCBpbnN0ZWFkIG9mIGA6ZGlzYWJsZWRgIGJlbG93IGJlY2F1c2UgRWRnZSBkb2VzIG5vdCBhbHdheXMgcmVjYWxjdWxhdGUgdGhlIHN0eWxlXG4gIC8vIHByb3BlcnR5IHdoZW4gdGhlIGA6ZGlzYWJsZWRgIHBzZXVkby1jbGFzcyBpcyBmb2xsb3dlZCBieSBhIHNpYmxpbmcgY29tYmluYXRvci4gU2VlOlxuICAvLyBodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL2VuLXVzL21pY3Jvc29mdC1lZGdlL3BsYXRmb3JtL2lzc3Vlcy8xMTI5NTIzMS9cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGlzYWJsZWRdOm5vdCg6Y2hlY2tlZCk6bm90KDppbmRldGVybWluYXRlKSB+IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIGNoZWNrYm94IGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpblxuLy8vIG1hcmtlZCAmIGVuYWJsZWQgc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBtZGMtY2hlY2tib3gtaWYtbWFya2VkLWVuYWJsZWRfIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmluZGV0ZXJtaW5hdGUge1xuICAgIH4ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIEhlbHBzIHNlbGVjdCB0aGUgY2hlY2tib3ggYmFja2dyb3VuZCBvbmx5IHdoZW4gaXRzIG5hdGl2ZSBjb250cm9sIGlzIGluXG4vLy8gbWFya2VkICYgZGlzYWJsZWQgc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBtZGMtY2hlY2tib3gtaWYtbWFya2VkLWRpc2FibGVkXyB7XG4gIC8vIE5vdGU6IHdlIG11c3QgdXNlIGBbZGlzYWJsZWRdYCBpbnN0ZWFkIG9mIGA6ZGlzYWJsZWRgIGJlbG93IGJlY2F1c2UgRWRnZSBkb2VzIG5vdCBhbHdheXMgcmVjYWxjdWxhdGUgdGhlIHN0eWxlXG4gIC8vIHByb3BlcnR5IHdoZW4gdGhlIGA6ZGlzYWJsZWRgIHBzZXVkby1jbGFzcyBpcyBmb2xsb3dlZCBieSBhIHNpYmxpbmcgY29tYmluYXRvci4gU2VlOlxuICAvLyBodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL2VuLXVzL21pY3Jvc29mdC1lZGdlL3BsYXRmb3JtL2lzc3Vlcy8xMTI5NTIzMS9cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGlzYWJsZWRdOmNoZWNrZWQsXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2Rpc2FibGVkXTppbmRldGVybWluYXRlIHtcbiAgICB+IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG1kYy1jaGVja2JveC1pY29uLXNpemU7XG4gICAgaGVpZ2h0OiAkbWRjLWNoZWNrYm94LWljb24tc2l6ZTtcbiAgICAvLyBib3JkZXItY29sb3IgaXMgb3ZlcnJpZGRlbiBieSB0aGUgbWRjLWNoZWNrYm94LXVubWFya2VkLXN0cm9rZS1jb2xvcigpIG1peGluXG4gICAgYm9yZGVyOiAkbWRjLWNoZWNrYm94LWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHdpbGwtY2hhbmdlOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsIG9uLXN1cmZhY2UsICRlZGdlT3B0T3V0OiB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1leGl0KGJhY2tncm91bmQtY29sb3IpLFxuICAgICAgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZXhpdChib3JkZXItY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX2JhY2tncm91bmQtLW1hcmtlZF8ge1xuICB0cmFuc2l0aW9uOlxuICAgIG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWVudGVyKGJvcmRlci1jb2xvciksXG4gICAgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZW50ZXIoYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIHN0cm9rZSAmIGZpbGwgY29sb3JzIGZvciB0aGUgY2hlY2tib3guXG4vLy8gVGhpcyBtaXhpbiBzaG91bGQgYmUgd3JhcHBlZCBpbiBhIG1peGluIHRoYXQgcXVhbGlmaWVzIHN0YXRlIHN1Y2ggYXNcbi8vLyBgbWRjLWNoZWNrYm94LWlmLXVubWFya2VkLWVuYWJsZWRfYC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIG1kYy1jaGVja2JveC1jb250YWluZXItY29sb3JzXygkc3Ryb2tlLWNvbG9yLCAkZmlsbC1jb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICRzdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGZpbGwtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBGb2N1cyBpbmRpY2F0b3JcblxuQG1peGluIG1kYy1jaGVja2JveF9fZm9jdXMtaW5kaWNhdG9yXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1leGl0KG9wYWNpdHkpLFxuICAgICAgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZXhpdCh0cmFuc2Zvcm0pO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX2ZvY3VzLWluZGljYXRvci0tZm9jdXNlZF8oJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAkbWRjLWNoZWNrYm94LWZvY3VzLWluZGljYXRvci1vcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZW50ZXIob3BhY2l0eSwgMG1zLCA4MG1zKSxcbiAgICAgIG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWVudGVyKHRyYW5zZm9ybSwgMG1zLCA4MG1zKTtcbiAgfVxufVxuXG4vLyBOYXRpdmUgaW5wdXRcblxuQG1peGluIG1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xfIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogaW5oZXJpdDtcbn1cblxuLy8gQ2hlY2sgbWFya1xuXG5AbWl4aW4gbWRjLWNoZWNrYm94X19jaGVja21hcmtfKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZXhpdChvcGFjaXR5LCAwbXMsICRtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDIpO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveC0tdXBncmFkZWQgJiB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX2NoZWNrbWFyay0tY2hlY2tlZF8oJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWVudGVyKG9wYWNpdHksIDBtcywgJG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWR1cmF0aW9uICogMiksXG4gICAgICBtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1lbnRlcih0cmFuc2Zvcm0sIDBtcywgJG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWR1cmF0aW9uICogMik7XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQG1peGluIG1kYy1jaGVja2JveF9fY2hlY2ttYXJrLS1pbmRldGVybWluYXRlXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWV4aXQob3BhY2l0eSwgMG1zLCAkbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZHVyYXRpb24pLFxuICAgICAgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZXhpdCh0cmFuc2Zvcm0sIDBtcywgJG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBpbmsgY29sb3Igb2YgdGhlIGNoZWNrZWQgYW5kIGluZGV0ZXJtaW5hdGUgaWNvbnMgZm9yIGEgY2hlY2tib3guXG4vLy8gVGhpcyBtaXhpbiBzaG91bGQgYmUgd3JhcHBlZCBpbiBhIG1peGluIHRoYXQgcXVhbGlmaWVzIHN0YXRlIHN1Y2ggYXNcbi8vLyBgbWRjLWNoZWNrYm94LWlmLXVubWFya2VkX2AuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBtZGMtY2hlY2tib3gtaW5rLWNvbG9yXygkY29sb3IsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWNvbG9yLCAkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDaGVjayBtYXJrIHBhdGhcblxuQG1peGluIG1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGhfKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246IG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWV4aXQoc3Ryb2tlLWRhc2hvZmZzZXQsIDBtcywgJG1kYy1jaGVja2JveC10cmFuc2l0aW9uLWR1cmF0aW9uICogMik7XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xuICAgIHN0cm9rZS13aWR0aDogJG1kYy1jaGVja2JveC1tYXJrLXN0cm9rZS1zaXplICogMS4zO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkbWRjLWNoZWNrYm94LW1hcmstcGF0aC1sZW5ndGhfO1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6ICRtZGMtY2hlY2tib3gtbWFyay1wYXRoLWxlbmd0aF87XG4gIH1cbn1cblxuQG1peGluIG1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgtLW1hcmtlZF8ge1xuICBzdHJva2UtZGFzaG9mZnNldDogMDtcbn1cblxuLy8gTWl4ZWQgbWFya1xuXG5AbWl4aW4gbWRjLWNoZWNrYm94X19taXhlZG1hcmtfKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKSByb3RhdGUoMGRlZyk7XG4gICAgYm9yZGVyLXdpZHRoOiBmbG9vcigkbWRjLWNoZWNrYm94LW1hcmstc3Ryb2tlLXNpemUpIC8gMjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBtZGMtY2hlY2tib3gtdHJhbnNpdGlvbi1leGl0KG9wYWNpdHkpLFxuICAgICAgbWRjLWNoZWNrYm94LXRyYW5zaXRpb24tZXhpdCh0cmFuc2Zvcm0pO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtY2hlY2tib3hfX21peGVkbWFyay0tY2hlY2tlZF8ge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuQG1peGluIG1kYy1jaGVja2JveF9fbWl4ZWRtYXJrLS1pbmRldGVybWluYXRlXyB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLy8vXG4vLy8gUmVzZXRzIHRvdWNoIHRhcmdldC1yZWxhdGVkIHN0eWxlcy4gVGhpcyBpcyBjYWxsZWQgZnJvbSB0aGUgZGVuc2l0eSBtaXhpbiB0b1xuLy8vIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIHRoZSBpbmNyZWFzZWQgdG91Y2ggdGFyZ2V0LCBzaW5jZSBkZW5zZSBjb21wb25lbnRzXG4vLy8gZG9uJ3QgaGF2ZSB0aGUgc2FtZSBkZWZhdWx0IGExMXkgcmVxdWlyZW1lbnRzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gbWRjLWNoZWNrYm94LXRvdWNoLXRhcmdldC1yZXNldF8oJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTkgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbi8vL1xuLy8vIFJldHVybnMgY29tcG9uZW50IHByb3BlcnR5IHZhbHVlIGJhc2VkIG9uIGdpdmVuIGRlbnNpdHkgY29uZmlnIGFuZCBkZW5zaXR5IHNjYWxlLlxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRkZW5zaXR5LWNvbmZpZyAtIERlbnNpdHkgY29uZmlndXJhdGlvbiBmb3IgY29tcG9uZW50LlxuLy8vIEBwYXJhbSB7TnVtYmVyIHwgU3RyaW5nfSAkZGVuc2l0eS1zY2FsZSAtIERlbnNpdHkgc2NhbGUgdmFsdWUgZm9yIGNvbXBvbmVudC4gRXhhbXBsZXM6IGAtM2AsIGAwYCBvciBgbWluaW11bWAuXG4vLy8gQHBhcmFtIHtNYXB9ICRwcm9wZXJ0eS1uYW1lIC0gRGVuc2l0eSBzY2FsZSBtYXAgZm9yIHRoZSB0YXJnZXQgY29tcG9uZW50LlxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyAgIG1kYy1kZW5zaXR5LXByb3AtdmFsdWUoXG4vLy8gICAgICRkZW5zaXR5LWNvbmZpZzogKFxuLy8vICAgICAgIGhlaWdodDogKFxuLy8vICAgICAgICAgZGVmYXVsdDogMzZweCxcbi8vLyAgICAgICAgIG1heGltdW06IDQwcHgsXG4vLy8gICAgICAgICBtaW5pbXVtOiAyNHB4LFxuLy8vICAgICAgICksXG4vLy8gICAgICksXG4vLy8gICAgICRkZW5zaXR5LXNjYWxlOiBtaW5pbXVtLFxuLy8vICAgICAkcHJvcGVydHktbmFtZTogaGVpZ2h0LFxuLy8vICAgKVxuLy8vICAgLy8gMjRweFxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyAgIG1kYy1kZW5zaXR5LXByb3AtdmFsdWUoXG4vLy8gICAgICRkZW5zaXR5LWNvbmZpZzogKFxuLy8vICAgICAgIGhlaWdodDogKFxuLy8vICAgICAgICAgZGVmYXVsdDogNDBweCxcbi8vLyAgICAgICAgIG1heGltdW06IDYwcHgsXG4vLy8gICAgICAgICBtaW5pbXVtOiAyNHB4LFxuLy8vICAgICAgICksXG4vLy8gICAgICksXG4vLy8gICAgICRkZW5zaXR5LXNjYWxlOiAtMixcbi8vLyAgICAgJHByb3BlcnR5LW5hbWU6IGhlaWdodCxcbi8vLyAgIClcbi8vLyAgIC8vIDMycHhcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gICBtZGMtZGVuc2l0eS1wcm9wLXZhbHVlKFxuLy8vICAgICAkZGVuc2l0eS1jb25maWc6IChcbi8vLyAgICAgICBoZWlnaHQ6IChcbi8vLyAgICAgICAgIGRlZmF1bHQ6IDM2cHgsXG4vLy8gICAgICAgICBtYXhpbXVtOiA0MHB4LFxuLy8vICAgICAgICAgbWluaW11bTogMjRweCxcbi8vLyAgICAgICApLFxuLy8vICAgICAgIHdpZHRoOiAoXG4vLy8gICAgICAgICBkZWZhdWx0OiA1NnB4LFxuLy8vICAgICAgICAgbWF4aW11bTogNjRweCxcbi8vLyAgICAgICAgIG1pbmltdW06IDQ4cHgsXG4vLy8gICAgICAgKSxcbi8vLyAgICAgKSxcbi8vLyAgICAgJGRlbnNpdHktc2NhbGU6IG1pbmltdW0sXG4vLy8gICAgICRwcm9wZXJ0eS1uYW1lOiB3aWR0aCxcbi8vLyAgIClcbi8vLyAgIC8vIDQ4cHhcbi8vL1xuQGZ1bmN0aW9uIG1kYy1kZW5zaXR5LXByb3AtdmFsdWUoJGRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgJHByb3BlcnR5LW5hbWUpIHtcbiAgQGlmICh0eXBlLW9mKCRkZW5zaXR5LXNjYWxlKSA9PSBcInN0cmluZ1wiIGFuZFxuICBpbmRleCgkbGlzdDogJG1kYy1kZW5zaXR5LXN1cHBvcnRlZC1zY2FsZXMsICR2YWx1ZTogJGRlbnNpdHktc2NhbGUpID09IG51bGwpIHtcbiAgICBAZXJyb3IgXCJtZGMtZGVuc2l0eTogU3VwcG9ydGVkIGRlbnNpdHkgc2NhbGVzICN7JG1kYy1kZW5zaXR5LXN1cHBvcnRlZC1zY2FsZXN9LCBidXQgcmVjZWl2ZWQgI3skZGVuc2l0eS1zY2FsZX0uXCI7XG4gIH1cblxuICBAaWYgKGluZGV4KCRsaXN0OiAkbWRjLWRlbnNpdHktc3VwcG9ydGVkLXByb3BlcnRpZXMsICR2YWx1ZTogJHByb3BlcnR5LW5hbWUpID09IG51bGwpIHtcbiAgICBAZXJyb3IgXCJtZGMtZGVuc2l0eTogU3VwcG9ydGVkIGRlbnNpdHkgcHJvcGVydGllcyAjeyRtZGMtZGVuc2l0eS1zdXBwb3J0ZWQtcHJvcGVydGllc30sXCIgK1xuICAgICAgXCJidXQgcmVjZWl2ZWQgI3skcHJvcGVydHktbmFtZX0uXCI7XG4gIH1cblxuICAkdmFsdWU6IG51bGw7XG4gICRwcm9wZXJ0eS1zY2FsZS1tYXA6IG1hcC1nZXQoJGRlbnNpdHktY29uZmlnLCAkcHJvcGVydHktbmFtZSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRkZW5zaXR5LXNjYWxlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRkZW5zaXR5LXNjYWxlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsIGRlZmF1bHQpICsgJGRlbnNpdHktc2NhbGUgKiAkbWRjLWRlbnNpdHktaW50ZXJ2YWw7XG4gIH1cblxuICAkbWluLXZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRtZGMtZGVuc2l0eS1taW5pbXVtLXNjYWxlKTtcbiAgJG1heC12YWx1ZTogbWFwLWdldCgkcHJvcGVydHktc2NhbGUtbWFwLCAkbWRjLWRlbnNpdHktbWF4aW11bS1zY2FsZSk7XG5cbiAgQGlmICgkdmFsdWUgPCAkbWluLXZhbHVlIG9yICR2YWx1ZSA+ICRtYXgtdmFsdWUpIHtcbiAgICBAZXJyb3IgXCJtZGMtZGVuc2l0eTogI3skcHJvcGVydHktbmFtZX0gbXVzdCBiZSBiZXR3ZWVuICN7JG1pbi12YWx1ZX0gYW5kIFwiICtcbiAgICAgIFwiI3skbWF4LXZhbHVlfSAoaW5jbHVzaXZlKSwgYnV0IHJlY2VpdmVkICN7JHZhbHVlfS5cIjtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE5IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbiRtZGMtdG91Y2gtdGFyZ2V0LWhlaWdodDogNDhweCAhZGVmYXVsdDtcbiRtZGMtdG91Y2gtdGFyZ2V0LXdpZHRoOiAkbWRjLXRvdWNoLXRhcmdldC1oZWlnaHQgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTkgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIG1kYy1mb3JtLWZpZWxkLWNvcmUtc3R5bGVzKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1mb3JtLWZpZWxkIHtcbiAgICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeShib2R5MiwgJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCB0ZXh0LXByaW1hcnktb24tYmFja2dyb3VuZCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICAgPiBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eShtYXJnaW4sIDAsIGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eShwYWRkaW5nLCAkbWRjLWZvcm0tZmllbGQtaXRlbS1zcGFjaW5nLCAwKTtcblxuICAgICAgICBvcmRlcjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWZvcm0tZmllbGQtLWFsaWduLWVuZCB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICAgPiBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eShtYXJnaW4sIGF1dG8sIDApO1xuICAgICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eShwYWRkaW5nLCAwLCAkbWRjLWZvcm0tZmllbGQtaXRlbS1zcGFjaW5nKTtcblxuICAgICAgICBvcmRlcjogLTE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9kZW5zaXR5L2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3JpcHBsZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIG1kYy1pY29uLWJ1dHRvbi1jb3JlLXN0eWxlcygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy1pY29uLWJ1dHRvbi13aXRob3V0LXJpcHBsZSgkcXVlcnkpO1xuICBAaW5jbHVkZSBtZGMtaWNvbi1idXR0b24tcmlwcGxlKCRxdWVyeSk7XG59XG5cbkBtaXhpbiBtZGMtaWNvbi1idXR0b24td2l0aG91dC1yaXBwbGUoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIGljb24tYnV0dG9uXG4gIC5tZGMtaWNvbi1idXR0b24ge1xuICAgIEBpbmNsdWRlIG1kYy1pY29uLWJ1dHRvbi1iYXNlXygkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLWljb24tYnV0dG9uLWRlbnNpdHkoMCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1pY29uLWJ1dHRvbl9faWNvbiB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gICAgJi5tZGMtaWNvbi1idXR0b25fX2ljb24tLW9uIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1pY29uLWJ1dHRvbi0tb24ge1xuICAgIC5tZGMtaWNvbi1idXR0b25fX2ljb24ge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAgICAgJi5tZGMtaWNvbi1idXR0b25fX2ljb24tLW9uIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbn1cblxuQG1peGluIG1kYy1pY29uLWJ1dHRvbi1yaXBwbGUoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICBAaW5jbHVkZSBtZGMtcmlwcGxlLWNvbW1vbigkcXVlcnkpO1xuXG4gIC5tZGMtaWNvbi1idXR0b24ge1xuICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZSgkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1yYWRpdXMtdW5ib3VuZGVkKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBkZW5zaXR5IHNjYWxlIGZvciBpY29uIGJ1dHRvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgU3RyaW5nfSAkZGVuc2l0eS1zY2FsZSAtIERlbnNpdHkgc2NhbGUgdmFsdWUgZm9yIGNvbXBvbmVudC5cbi8vLyAgICAgU3VwcG9ydGVkIGRlbnNpdHkgc2NhbGUgdmFsdWVzIHJhbmdlIGZyb20gYC01YCB0byBgMGAsIHdpdGggYDBgIGJlaW5nIHRoZSBkZWZhdWx0LlxuLy8vXG5AbWl4aW4gbWRjLWljb24tYnV0dG9uLWRlbnNpdHkoJGRlbnNpdHktc2NhbGUsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJHNpemU6IG1kYy1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgJGRlbnNpdHktY29uZmlnOiAkbWRjLWljb24tYnV0dG9uLWRlbnNpdHktY29uZmlnLFxuICAgICRkZW5zaXR5LXNjYWxlOiAkZGVuc2l0eS1zY2FsZSxcbiAgICAkcHJvcGVydHktbmFtZTogc2l6ZSxcbiAgKTtcblxuICBAaW5jbHVkZSBtZGMtaWNvbi1idXR0b24tc2l6ZSgkc2l6ZSwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBzaXplIG9mIHRoZSBpY29uLWJ1dHRvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFNpemUgdmFsdWUgZm9yIGljb24tYnV0dG9uLlxuLy8vICAgICBTaXplIHdpbGwgc2V0IHRoZSB3aWR0aCwgaGVpZ2h0LCBhbmQgcGFkZGluZyBmb3IgdGhlIG92ZXJhbGwgY29tcG9uZW50LlxuLy8vXG5AbWl4aW4gbWRjLWljb24tYnV0dG9uLXNpemUoJHNpemUsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgICBoZWlnaHQ6ICRzaXplO1xuICAgIHBhZGRpbmc6ICgkc2l6ZSAtICRtZGMtaWNvbi1idXR0b24taWNvbi1zaXplKSAvIDI7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgd2lkdGgsIGhlaWdodCBhbmQgcGFkZGluZyBvZiBpY29uIGJ1dHRvbi4gQWxzbyBjaGFuZ2VzIHRoZSBzaXplIG9mXG4vLy8gdGhlIGljb24gaXRzZWxmIGJhc2VkIG9uIGJ1dHRvbiBzaXplLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIHZhbHVlIGZvciBpY29uLWJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCAtIEhlaWdodCB2YWx1ZSBmb3IgaWNvbi1idXR0b24uIChkZWZhdWx0OiAkd2lkdGgpXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIC0gUGFkZGluZyB2YWx1ZSBmb3IgaWNvbi1idXR0b24uIChkZWZhdWx0OiBtYXgoJHdpZHRoLCAkaGVpZ2h0KSAvIDIpXG4vLy8gQGRlcHJlY2F0ZWRcbi8vLyAgICAgVGhpcyBtaXhpbiBwcm92aWRlcyB0b28gbXVjaCBvZiBsb3cgbGV2ZWwgY3VzdG9taXphdGlvbi5cbi8vLyAgICAgUGxlYXNlIHVzZSBtZGMtaWNvbi1idXR0b24tc2l6ZSBpbnN0ZWFkLlxuLy8vXG5AbWl4aW4gbWRjLWljb24tYnV0dG9uLWljb24tc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCwgJHBhZGRpbmc6IG1heCgkd2lkdGgsJGhlaWdodCkvMiwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgd2lkdGg6ICR3aWR0aCArICRwYWRkaW5nICogMjtcbiAgICBoZWlnaHQ6ICRoZWlnaHQgKyAkcGFkZGluZyAqIDI7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiBtYXgoJHdpZHRoLCAkaGVpZ2h0KTtcbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdHlwZVxuICBzdmcsXG4gIGltZyB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtaWNvbi1idXR0b24taW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG4gIH1cblxuICBAaW5jbHVkZSBtZGMtc3RhdGVzKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG5AbWl4aW4gbWRjLWljb24tYnV0dG9uLWJhc2VfKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogJG1kYy1pY29uLWJ1dHRvbi1pY29uLXNpemU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdHlwZVxuICBzdmcsXG4gIGltZyB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHdpZHRoOiAkbWRjLWljb24tYnV0dG9uLWljb24tc2l6ZTtcbiAgICAgIGhlaWdodDogJG1kYy1pY29uLWJ1dHRvbi1pY29uLXNpemU7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsIHRleHQtZGlzYWJsZWQtb24tbGlnaHQpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL2RlbnNpdHkvdmFyaWFibGVzXCI7XG5cbiRtZGMtaWNvbi1idXR0b24taWNvbi1zaXplOiAyNHB4ICFkZWZhdWx0O1xuXG4kbWRjLWljb24tYnV0dG9uLXNpemU6IDQ4cHggIWRlZmF1bHQ7XG4kbWRjLWljb24tYnV0dG9uLW1pbmltdW0taGVpZ2h0OiAyOHB4ICFkZWZhdWx0O1xuJG1kYy1pY29uLWJ1dHRvbi1tYXhpbXVtLWhlaWdodDogJG1kYy1pY29uLWJ1dHRvbi1zaXplICFkZWZhdWx0O1xuJG1kYy1pY29uLWJ1dHRvbi1kZW5zaXR5LXNjYWxlOiAkbWRjLWRlbnNpdHktZGVmYXVsdC1zY2FsZSAhZGVmYXVsdDtcbiRtZGMtaWNvbi1idXR0b24tZGVuc2l0eS1jb25maWc6IChcbiAgc2l6ZTogKFxuICAgIGRlZmF1bHQ6ICRtZGMtaWNvbi1idXR0b24tc2l6ZSxcbiAgICBtYXhpbXVtOiAkbWRjLWljb24tYnV0dG9uLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtZGMtaWNvbi1idXR0b24tbWluaW11bS1oZWlnaHQsXG4gICksXG4pICFkZWZhdWx0O1xuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE2IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9kZW5zaXR5L2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3JpcHBsZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcmlwcGxlL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RvdWNoLXRhcmdldC9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdG91Y2gtdGFyZ2V0L3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4vZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuJG1kYy1yYWRpby1yaXBwbGUtdGFyZ2V0OiBcIi5tZGMtcmFkaW9fX3JpcHBsZVwiO1xuXG5AbWl4aW4gbWRjLXJhZGlvLWNvcmUtc3R5bGVzKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgQGluY2x1ZGUgbWRjLXJhZGlvLXdpdGhvdXQtcmlwcGxlKCRxdWVyeSk7XG4gIEBpbmNsdWRlIG1kYy1yYWRpby1yaXBwbGUoJHF1ZXJ5KTtcbn1cblxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlcyBmcm9tIHRoZSBvdGhlclxuLy8gcmFkaW8gc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtcmFkaW8tY29yZS1zdHlsZXNgIGluc3RlYWQuXG5AbWl4aW4gbWRjLXJhZGlvLXdpdGhvdXQtcmlwcGxlKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgcmFkaW9cblxuICAkZmVhdC1hbmltYXRpb246IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtdG91Y2gtdGFyZ2V0LXdyYXBwZXIoJHF1ZXJ5KTtcblxuICAubWRjLXJhZGlvIHtcbiAgICBAaW5jbHVkZSBtZGMtcmFkaW8tdW5jaGVja2VkLXN0cm9rZS1jb2xvcigkbWRjLXJhZGlvLXVuY2hlY2tlZC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1yYWRpby1jaGVja2VkLXN0cm9rZS1jb2xvcigkbWRjLXJhZGlvLWJhc2VsaW5lLXRoZW1lLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXJhZGlvLWluay1jb2xvcigkbWRjLXJhZGlvLWJhc2VsaW5lLXRoZW1lLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXJhZGlvLWRpc2FibGVkLXVuY2hlY2tlZC1zdHJva2UtY29sb3IoJG1kYy1yYWRpby1kaXNhYmxlZC1jaXJjbGUtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtcmFkaW8tZGlzYWJsZWQtY2hlY2tlZC1zdHJva2UtY29sb3IoJG1kYy1yYWRpby1kaXNhYmxlZC1jaXJjbGUtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtcmFkaW8tZGlzYWJsZWQtaW5rLWNvbG9yKCRtZGMtcmFkaW8tZGlzYWJsZWQtY2lyY2xlLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXJhZGlvLWZvY3VzLWluZGljYXRvci1jb2xvcigkbWRjLXJhZGlvLWJhc2VsaW5lLXRoZW1lLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXJhZGlvLWRlbnNpdHkoJG1kYy1yYWRpby1kZW5zaXR5LXNjYWxlLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIHdpZHRoOiAkbWRjLXJhZGlvLWljb24tc2l6ZTtcbiAgICAgIGhlaWdodDogJG1kYy1yYWRpby1pY29uLXNpemU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtLCBib3JkZXItY29sb3IsIGNvbG9yO1xuICAgIH1cblxuICAgIC8vIENvbnRhaW5lciBmb3IgcmFkaW8gY2lyY2xlcyBhbmQgcmlwcGxlLlxuICAgICZfX2JhY2tncm91bmQge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAkbWRjLXJhZGlvLWljb24tc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkbWRjLXJhZGlvLWljb24tc2l6ZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBtZGMtcmFkaW8tZXhpdChvcGFjaXR5KSwgbWRjLXJhZGlvLWV4aXQodHJhbnNmb3JtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX291dGVyLWNpcmNsZSB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbWRjLXJhZGlvLWV4aXQoYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbm5lci1jaXJjbGUge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMTBweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIG1kYy1yYWRpby1leGl0KHRyYW5zZm9ybSksXG4gICAgICAgICAgbWRjLXJhZGlvLWV4aXQoYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYXRpdmUtY29udHJvbCB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgY3Vyc29yOiBpbmhlcml0O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXRvdWNoIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10b3VjaC10YXJnZXQtY29tcG9uZW50KFxuICAgICAgICAkY29tcG9uZW50LWhlaWdodDogJG1kYy1yYWRpby1yaXBwbGUtc2l6ZSxcbiAgICAgICAgJGNvbXBvbmVudC13aWR0aDogJG1kYy1yYWRpby1yaXBwbGUtc2l6ZSxcbiAgICAgICAgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgICAgQGluY2x1ZGUgbWRjLXJhZGlvLXRvdWNoLXRhcmdldCgkc2l6ZTogJG1kYy10b3VjaC10YXJnZXQtaGVpZ2h0LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCxcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQge1xuICAgICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIG1kYy1yYWRpby1lbnRlcihvcGFjaXR5KSxcbiAgICAgICAgICBtZGMtcmFkaW8tZW50ZXIodHJhbnNmb3JtKTtcbiAgICAgIH1cblxuICAgICAgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBtZGMtcmFkaW8tZW50ZXIoYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICAgICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICBtZGMtcmFkaW8tZW50ZXIodHJhbnNmb3JtKSxcbiAgICAgICAgICAgIG1kYy1yYWRpby1lbnRlcihib3JkZXItY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1yYWRpby0tZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpjaGVja2VkIHtcbiAgICArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICAgICAgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC41KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIG1kYy1yYWRpby1lbnRlcih0cmFuc2Zvcm0pLFxuICAgICAgICAgICAgbWRjLXJhZGlvLWVudGVyKGJvcmRlci1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCxcbiAgW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sIHtcbiAgICArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmZvY3VzIHtcbiAgICArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiBtYXAtZ2V0KCRtZGMtcmlwcGxlLWRhcmstaW5rLW9wYWNpdGllcywgZm9jdXMpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIG1kYy1yYWRpby1lbnRlcihvcGFjaXR5KSxcbiAgICAgICAgICBtZGMtcmFkaW8tZW50ZXIodHJhbnNmb3JtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxufVxuXG4vLyBUaGlzIEFQSSBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IGZyYW1ld29ya3MgdGhhdCBtYXkgd2FudCB0byBzZXBhcmF0ZSB0aGUgcmlwcGxlLXJlbGF0ZWQgc3R5bGVzIGZyb20gdGhlIG90aGVyXG4vLyByYWRpbyBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1yYWRpby1jb3JlLXN0eWxlc2AgaW5zdGVhZC5cbkBtaXhpbiBtZGMtcmFkaW8tcmlwcGxlKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtcmlwcGxlLWNvbW1vbigkcXVlcnkpO1xuXG4gIC5tZGMtcmFkaW8ge1xuICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZSgkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRtZGMtcmFkaW8tcmlwcGxlLXRhcmdldCk7XG4gICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1yYWRpdXMtdW5ib3VuZGVkKCRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogJG1kYy1yYWRpby1yaXBwbGUtdGFyZ2V0KTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzKFxuICAgICAgJGNvbG9yOiAkbWRjLXJhZGlvLWJhc2VsaW5lLXRoZW1lLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRtZGMtcmFkaW8tcmlwcGxlLXRhcmdldCk7XG5cbiAgICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCB7XG4gICAgICAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjeyRtZGMtcmFkaW8tcmlwcGxlLXRhcmdldH0ge1xuICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtdGFyZ2V0LWNvbW1vbigkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgc3Ryb2tlIGNvbG9yIG9mIGFuIHVuY2hlY2tlZCwgZW5hYmxlZCByYWRpbyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgc3Ryb2tlIGNvbG9yLlxuLy8vXG5AbWl4aW4gbWRjLXJhZGlvLXVuY2hlY2tlZC1zdHJva2UtY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy1yYWRpby1pZi1lbmFibGVkLXVuY2hlY2tlZF8ge1xuICAgIEBpbmNsdWRlIG1kYy1yYWRpby1zdHJva2UtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIHN0cm9rZSBjb2xvciBvZiBhIGNoZWNrZWQsIGVuYWJsZWQgcmFkaW8gYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIHN0cm9rZSBjb2xvci5cbi8vL1xuQG1peGluIG1kYy1yYWRpby1jaGVja2VkLXN0cm9rZS1jb2xvcigkY29sb3IsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgQGluY2x1ZGUgbWRjLXJhZGlvLWlmLWVuYWJsZWQtY2hlY2tlZF8ge1xuICAgIEBpbmNsdWRlIG1kYy1yYWRpby1zdHJva2UtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgaW5rIGNvbG9yIG9mIGFuIGVuYWJsZWQgcmFkaW8gYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIGluayBjb2xvci5cbi8vL1xuQG1peGluIG1kYy1yYWRpby1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy1yYWRpby1pZi1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgbWRjLXJhZGlvLWluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgc3Ryb2tlIGNvbG9yIG9mIGFuIHVuY2hlY2tlZCwgZGlzYWJsZWQgcmFkaW8gYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIHN0cm9rZSBjb2xvci5cbi8vL1xuQG1peGluIG1kYy1yYWRpby1kaXNhYmxlZC11bmNoZWNrZWQtc3Ryb2tlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICBAaW5jbHVkZSBtZGMtcmFkaW8taWYtZGlzYWJsZWQtdW5jaGVja2VkXyB7XG4gICAgQGluY2x1ZGUgbWRjLXJhZGlvLXN0cm9rZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgc3Ryb2tlIGNvbG9yIG9mIGEgY2hlY2tlZCwgZGlzYWJsZWQgcmFkaW8gYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIHN0cm9rZSBjb2xvci5cbi8vL1xuQG1peGluIG1kYy1yYWRpby1kaXNhYmxlZC1jaGVja2VkLXN0cm9rZS1jb2xvcigkY29sb3IsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgQGluY2x1ZGUgbWRjLXJhZGlvLWlmLWRpc2FibGVkLWNoZWNrZWRfIHtcbiAgICBAaW5jbHVkZSBtZGMtcmFkaW8tc3Ryb2tlLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBpbmsgY29sb3Igb2YgYSBkaXNhYmxlZCByYWRpbyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgaW5rIGNvbG9yXG4vLy9cbkBtaXhpbiBtZGMtcmFkaW8tZGlzYWJsZWQtaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICBAaW5jbHVkZSBtZGMtcmFkaW8taWYtZGlzYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBtZGMtcmFkaW8taW5rLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXJhZGlvLWZvY3VzLWluZGljYXRvci1jb2xvcigkY29sb3IsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IsICRlZGdlT3B0T3V0OiB0cnVlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyByYWRpbyB0b3VjaCB0YXJnZXQgc2l6ZSB3aGljaCBjYW4gYmUgbW9yZSB0aGFuIHRoZSByaXBwbGUgc2l6ZS4gUGFyYW0gYCRyaXBwbGUtc2l6ZWAgaXMgcmVxdWlyZWQgZm9yIGN1c3RvbVxuLy8vIHJpcHBsZSBzaXplLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFNpemUgb2YgdG91Y2ggdGFyZ2V0IChOYXRpdmUgaW5wdXQpIGluIGBweGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaXBwbGUtc2l6ZSBTaXplIG9mIHJpcHBsZSBpbiBgcHhgLiBSZXF1aXJlZCBvbmx5IGZvciBjdXN0b20gcmlwcGxlIHNpemUuXG4vLy9cbkBtaXhpbiBtZGMtcmFkaW8tdG91Y2gtdGFyZ2V0KFxuICAkc2l6ZTogJG1kYy1yYWRpby1yaXBwbGUtc2l6ZSxcbiAgJHJpcHBsZS1zaXplOiAkbWRjLXJhZGlvLXJpcHBsZS1zaXplLFxuICAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRvZmZzZXQ6ICgkcmlwcGxlLXNpemUgLSAkc2l6ZSkgLyAyO1xuXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgdG9wOiAkb2Zmc2V0O1xuICAgICAgcmlnaHQ6ICRvZmZzZXQ7XG4gICAgICBsZWZ0OiAkb2Zmc2V0O1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBkZW5zaXR5IHNjYWxlIGZvciByYWRpby5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgU3RyaW5nfSAkZGVuc2l0eS1zY2FsZSAtIERlbnNpdHkgc2NhbGUgdmFsdWUgZm9yIGNvbXBvbmVudC4gU3VwcG9ydGVkIGRlbnNpdHkgc2NhbGUgdmFsdWVzXG4vLy8gICAgIGAtM2AsIGAtMmAsIGAtMWAsIGAwYC5cbi8vL1xuQG1peGluIG1kYy1yYWRpby1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRzaXplOiBtZGMtZGVuc2l0eS1wcm9wLXZhbHVlKFxuICAgICRkZW5zaXR5LWNvbmZpZzogJG1kYy1yYWRpby1kZW5zaXR5LWNvbmZpZyxcbiAgICAkZGVuc2l0eS1zY2FsZTogJGRlbnNpdHktc2NhbGUsXG4gICAgJHByb3BlcnR5LW5hbWU6IHNpemUsXG4gICk7XG5cbiAgQGluY2x1ZGUgbWRjLXJhZGlvLXJpcHBsZS1zaXplKCRzaXplLCAkcXVlcnk6ICRxdWVyeSk7XG4gIC8vIFNldHMgdG91Y2ggdGFyZ2V0IHNpemUgc2FtZSBhcyByaXBwbGUgc2l6ZS5cbiAgQGluY2x1ZGUgbWRjLXJhZGlvLXRvdWNoLXRhcmdldCgkc2l6ZTogJHNpemUsICRyaXBwbGUtc2l6ZTogJHNpemUsICRxdWVyeTogJHF1ZXJ5KTtcblxuICBAaWYgJGRlbnNpdHktc2NhbGUgIT0gMCB7XG4gICAgQGluY2x1ZGUgbWRjLXJhZGlvLXRvdWNoLXRhcmdldC1yZXNldF8oJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgcmFkaW8gcmlwcGxlIHNpemUuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBSaXBwbGUgc2l6ZSBpbiBgcHhgLlxuLy8vXG5AbWl4aW4gbWRjLXJhZGlvLXJpcHBsZS1zaXplKCRzaXplLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRwYWRkaW5nOiAoJHNpemUgLSAkbWRjLXJhZGlvLWljb24tc2l6ZSkgLyAyO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gIH1cblxuICAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB0b3A6IC0kcGFkZGluZztcbiAgICAgIGxlZnQ6IC0kcGFkZGluZztcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIGhlaWdodDogJHNpemU7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFJlc2V0cyB0b3VjaCB0YXJnZXQtcmVsYXRlZCBzdHlsZXMuIFRoaXMgaXMgY2FsbGVkIGZyb20gdGhlIGRlbnNpdHkgbWl4aW4gdG9cbi8vLyBhdXRvbWF0aWNhbGx5IHJlbW92ZSB0aGUgaW5jcmVhc2VkIHRvdWNoIHRhcmdldCwgc2luY2UgZGVuc2UgY29tcG9uZW50c1xuLy8vIGRvbid0IGhhdmUgdGhlIHNhbWUgZGVmYXVsdCBhMTF5IHJlcXVpcmVtZW50cy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIG1kYy1yYWRpby10b3VjaC10YXJnZXQtcmVzZXRfKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIHJhZGlvIGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpbiB0aGVcbi8vLyBlbmFibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gbWRjLXJhZGlvLWlmLWVuYWJsZWRfIHtcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCArIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIHJhZGlvIGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpbiB0aGVcbi8vLyBlbmFibGVkICYgdW5jaGVja2VkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gbWRjLXJhZGlvLWlmLWVuYWJsZWQtdW5jaGVja2VkXyB7XG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6bm90KDpjaGVja2VkKSArIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIHJhZGlvIGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpbiB0aGVcbi8vLyBlbmFibGVkICYgY2hlY2tlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIG1kYy1yYWRpby1pZi1lbmFibGVkLWNoZWNrZWRfIHtcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkICsge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vL1xuLy8vIEhlbHBzIHNlbGVjdCB0aGUgcmFkaW8gYmFja2dyb3VuZCBvbmx5IHdoZW4gaXRzIG5hdGl2ZSBjb250cm9sIGlzIGluIHRoZVxuLy8vIGRpc2FibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gbWRjLXJhZGlvLWlmLWRpc2FibGVkXyB7XG4gIFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbCxcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQge1xuICAgICsge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIEhlbHBzIHNlbGVjdCB0aGUgcmFkaW8gYmFja2dyb3VuZCBvbmx5IHdoZW4gaXRzIG5hdGl2ZSBjb250cm9sIGlzIGluIHRoZVxuLy8vIGRpc2FibGVkICYgdW5jaGVja2VkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gbWRjLXJhZGlvLWlmLWRpc2FibGVkLXVuY2hlY2tlZF8ge1xuICBbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2wsXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIHtcbiAgICAmOm5vdCg6Y2hlY2tlZCkgKyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSByYWRpbyBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW4gdGhlXG4vLy8gZGlzYWJsZWQgJiBjaGVja2VkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gbWRjLXJhZGlvLWlmLWRpc2FibGVkLWNoZWNrZWRfIHtcbiAgW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sLFxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkICsge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGluayBjb2xvciBmb3IgcmFkaW8uIFRoaXMgaXMgd3JhcHBlZCBpbiBhIG1peGluXG4vLy8gdGhhdCBxdWFsaWZpZXMgc3RhdGUgc3VjaCBhcyBgbWRjLXJhZGlvLWlmLWVuYWJsZWRfYFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gbWRjLXJhZGlvLWluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIHN0cm9rZSBjb2xvciBmb3IgcmFkaW8uIFRoaXMgaXMgd3JhcHBlZCBpbiBhIG1peGluXG4vLy8gdGhhdCBxdWFsaWZpZXMgc3RhdGUgc3VjaCBhcyBgbWRjLXJhZGlvLWlmLWVuYWJsZWRfYFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gbWRjLXJhZGlvLXN0cm9rZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9kZW5zaXR5L3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIjtcblxuJG1kYy1yYWRpby1yaXBwbGUtc2l6ZTogNDBweCAhZGVmYXVsdDtcbiRtZGMtcmFkaW8taWNvbi1zaXplOiAyMHB4ICFkZWZhdWx0O1xuJG1kYy1yYWRpby10cmFuc2l0aW9uLWR1cmF0aW9uOiAxMjBtcyAhZGVmYXVsdDtcbiRtZGMtcmFkaW8tcmlwcGxlLW9wYWNpdHk6IC4xNCAhZGVmYXVsdDtcbiRtZGMtcmFkaW8tYmFzZWxpbmUtdGhlbWUtY29sb3I6IHNlY29uZGFyeSAhZGVmYXVsdDtcbiRtZGMtcmFkaW8tdW5jaGVja2VkLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNTQpICFkZWZhdWx0O1xuJG1kYy1yYWRpby1kaXNhYmxlZC1jaXJjbGUtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4yNikgIWRlZmF1bHQ7XG5cbiRtZGMtcmFkaW8tbWluaW11bS1zaXplOiAyOHB4ICFkZWZhdWx0O1xuJG1kYy1yYWRpby1tYXhpbXVtLXNpemU6ICRtZGMtcmFkaW8tcmlwcGxlLXNpemUgIWRlZmF1bHQ7XG4kbWRjLXJhZGlvLWRlbnNpdHktc2NhbGU6ICRtZGMtZGVuc2l0eS1kZWZhdWx0LXNjYWxlICFkZWZhdWx0O1xuJG1kYy1yYWRpby1kZW5zaXR5LWNvbmZpZzogKFxuICBzaXplOiAoXG4gICAgbWluaW11bTogJG1kYy1yYWRpby1taW5pbXVtLXNpemUsXG4gICAgZGVmYXVsdDogJG1kYy1yYWRpby1yaXBwbGUtc2l6ZSxcbiAgICBtYXhpbXVtOiAkbWRjLXJhZGlvLW1heGltdW0tc2l6ZSxcbiAgKSxcbikgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGtleWZyYW1lcyBtZGMtc2VsZWN0LWZsb2F0LW5hdGl2ZS1jb250cm9sIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvYmFzZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuL21peGluc1wiO1xuXG4vLyBMaW5lIFJpcHBsZSBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IG11bHRpcGxlIGNvbXBvbmVudHMsIGJ1dCBpdHMgc3R5bGVzIHNob3VsZCBvbmx5IGJlIGVtaXR0ZWQgb25jZSB3aGVuIGJ1bmRsZWRcbkBpbmNsdWRlIG1kYy1iYXNlLWVtaXQtb25jZShcIm1kYy1saW5lLXJpcHBsZVwiKSB7XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIGxpbmUtcmlwcGxlXG4gIC5tZGMtbGluZS1yaXBwbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICB0cmFuc2l0aW9uOiBtZGMtbGluZS1yaXBwbGUtdHJhbnNpdGlvbi12YWx1ZSh0cmFuc2Zvcm0pLCBtZGMtbGluZS1yaXBwbGUtdHJhbnNpdGlvbi12YWx1ZShvcGFjaXR5KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAubWRjLWxpbmUtcmlwcGxlLS1hY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAubWRjLWxpbmUtcmlwcGxlLS1kZWFjdGl2YXRpbmcge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL2FuaW1hdGlvbi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvYmFzZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiO1xuQGltcG9ydCBcIi4vbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuLy8gTm90Y2hlZCBPdXRsaW5lIGlzIGludGVuZGVkIGZvciB1c2UgYnkgbXVsdGlwbGUgY29tcG9uZW50cywgYnV0IGl0cyBzdHlsZXMgc2hvdWxkIG9ubHkgYmUgZW1pdHRlZCBvbmNlIHdoZW4gYnVuZGxlZFxuQGluY2x1ZGUgbWRjLWJhc2UtZW1pdC1vbmNlKFwibWRjLW5vdGNoZWQtb3V0bGluZVwiKSB7XG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvKiBAbm9mbGlwICovXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1kYy1ydGwge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgJl9fbGVhZGluZyxcbiAgICAmX19ub3RjaCxcbiAgICAmX190cmFpbGluZyB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyICRtZGMtbm90Y2hlZC1vdXRsaW5lLXRyYW5zaXRpb24tZHVyYXRpb24gJG1kYy1hbmltYXRpb24tc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fbGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eShib3JkZXIsIDFweCBzb2xpZCwgbm9uZSk7XG5cbiAgICAgIHdpZHRoOiAkbWRjLW5vdGNoZWQtb3V0bGluZS1sZWFkaW5nLXdpZHRoO1xuICAgIH1cblxuICAgICZfX3RyYWlsaW5nIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KGJvcmRlciwgbm9uZSwgMXB4IHNvbGlkKTtcblxuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgICZfX25vdGNoIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICN7JG1kYy1ub3RjaGVkLW91dGxpbmUtbGVhZGluZy13aWR0aH0gKiAyKTtcbiAgICB9XG5cbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMTdweDtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuICAgIH1cblxuICAgICYtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gLjc1KTtcbiAgICB9XG4gIH1cblxuICAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCB7XG4gICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLWJveChwYWRkaW5nLCByaWdodCwgOHB4KTtcblxuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm8tbGFiZWwge1xuICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbiRtZGMtbm90Y2hlZC1vdXRsaW5lLXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zICFkZWZhdWx0O1xuLy8gS2VlcCB0aGlzIGluIHN5bmMgd2l0aCBjb25zdGFudHMubnVtYmVycy5NSU5fTEVBRElOR19TVFJPS0VfRURHRV9QT1NJVElPTlxuJG1kYy1ub3RjaGVkLW91dGxpbmUtbWluLWxlYWRpbmctc3Ryb2tlLWVkZ2UtcG9zaXRpb246IDEycHggIWRlZmF1bHQ7XG4vLyBUaGUgZ2FwIGJldHdlZW4gdGhlIHN0cm9rZSBlbmQgYW5kIGZsb2F0aW5nIGxhYmVsXG4vLyBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGNvbnN0YW50cy5udW1iZXJzLk5PVENIX0dVVFRFUl9TSVpFXG4kbWRjLW5vdGNoZWQtb3V0bGluZS1ub3RjaC1ndXR0ZXItc2l6ZTogNHB4ICFkZWZhdWx0O1xuJG1kYy1ub3RjaGVkLW91dGxpbmUtbGVhZGluZy13aWR0aDogMTJweCAhZGVmYXVsdDtcbiRtZGMtbm90Y2hlZC1vdXRsaW5lLXBhZGRpbmc6IDRweCAhZGVmYXVsdDtcbi8vIFRoaXMgdmFyaWFibGUga2VlcHMgdGhlIGJlZm9yZS9hZnRlciBKUyBsYWJlbCBjZW50ZXJlZCBpbiB0aGUgbm90Y2ggd2hlbiB0aGUgZm9udC1zaXplIGlzIGNoYW5nZWQuXG4kbWRjLW5vdGNoZWQtb3V0bGluZS1sYWJlbC1hZGp1c3Q6IDE0JSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL2FuaW1hdGlvbi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvYmFzZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vLyBGbG9hdGluZyBMYWJlbCBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IG11bHRpcGxlIGNvbXBvbmVudHMsIGJ1dCBpdHMgc3R5bGVzIHNob3VsZCBvbmx5IGJlIGVtaXR0ZWQgb25jZSB3aGVuIGJ1bmRsZWRcbkBpbmNsdWRlIG1kYy1iYXNlLWVtaXQtb25jZShcIm1kYy1mbG9hdGluZy1sYWJlbFwiKSB7XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIGZsb2F0aW5nLWxhYmVsXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KHN1YnRpdGxlMSk7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIGxlZnQ6IDA7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gJG1kYy1mbG9hdGluZy1sYWJlbC10cmFuc2l0aW9uLWR1cmF0aW9uICRtZGMtYW5pbWF0aW9uLXN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbixcbiAgICAgIGNvbG9yICRtZGMtZmxvYXRpbmctbGFiZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiAkbWRjLWFuaW1hdGlvbi1zdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjdXJzb3I6IHRleHQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvLyBGb3JjZSB0aGUgbGFiZWwgaW50byBpdHMgb3duIGxheWVyIHRvIHByZXZlbnQgdmlzaWJsZSBsYXllciBwcm9tb3Rpb24gYWRqdXN0bWVudHNcbiAgICAvLyB3aGVuIHRoZSByaXBwbGUgaXMgYWN0aXZhdGVkIGJlaGluZCBpdC5cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG4gICAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICByaWdodDogMDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG5cbiAgQGF0LXJvb3Qge1xuICAgIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbigkbWRjLWZsb2F0aW5nLWxhYmVsLXBvc2l0aW9uLXkpO1xuICAgIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24oc3RhbmRhcmQpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWtleWZyYW1lcyhzdGFuZGFyZCwgJG1kYy1mbG9hdGluZy1sYWJlbC1wb3NpdGlvbi15KTtcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIG1kYy1mbG9hdGluZy1sYWJlbC1pbmstY29sb3IoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xufVxuXG4vLyBVc2VkIGZvciB0ZXh0YXJlYSBpbiBjYXNlIG9mIHNjcm9sbGluZ1xuQG1peGluIG1kYy1mbG9hdGluZy1sYWJlbC1maWxsLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xufVxuXG5AbWl4aW4gbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWtleWZyYW1lcygkbW9kaWZpZXIsICRwb3NpdGlvblksICRwb3NpdGlvblg6IDAlLCAkc2NhbGU6IC43NSkge1xuICBAa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS0jeyRtb2RpZmllcn0ge1xuICAgIDAlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAjeyRwb3NpdGlvblh9KSkgdHJhbnNsYXRlWSgtI3skcG9zaXRpb25ZfSkgc2NhbGUoI3skc2NhbGV9KTtcbiAgICB9XG5cbiAgICAzMyUge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41LCAwLCAuNzAxNzMyLCAuNDk1ODE5KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gI3skcG9zaXRpb25YfSkpIHRyYW5zbGF0ZVkoLSN7JHBvc2l0aW9uWX0pIHNjYWxlKCN7JHNjYWxlfSk7XG4gICAgfVxuXG4gICAgNjYlIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMzAyNDM1LCAuMzgxMzUyLCAuNTUsIC45NTYzNTIpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gI3skcG9zaXRpb25YfSkpIHRyYW5zbGF0ZVkoLSN7JHBvc2l0aW9uWX0pIHNjYWxlKCN7JHNjYWxlfSk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gI3skcG9zaXRpb25YfSkpIHRyYW5zbGF0ZVkoLSN7JHBvc2l0aW9uWX0pIHNjYWxlKCN7JHNjYWxlfSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24oJHBvc2l0aW9uWSwgJHBvc2l0aW9uWDogMCUsICRzY2FsZTogLjc1KSB7XG4gIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBAaWYgJHBvc2l0aW9uWCA+IDAgb3IgJHBvc2l0aW9uWCA8IDAge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xICogJHBvc2l0aW9uWSkgdHJhbnNsYXRlWCgtMSAqICRwb3NpdGlvblgpIHNjYWxlKCRzY2FsZSk7XG5cbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEgKiAkcG9zaXRpb25ZKSB0cmFuc2xhdGVYKCRwb3NpdGlvblgpIHNjYWxlKCRzY2FsZSk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEgKiAkcG9zaXRpb25ZKSBzY2FsZSgkc2NhbGUpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWFuaW1hdGlvbigkbW9kaWZpZXIpIHtcbiAgLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2Uge1xuICAgIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLSN7JG1vZGlmaWVyfSAyNTBtcyAxO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtZmxvYXRpbmctbGFiZWwtbWF4LXdpZHRoKCRtYXgtd2lkdGgpIHtcbiAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xufVxuIiwiLy8gIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vICBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyAgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vICBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vICBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOi9cbi8vXG4vLyAgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vICBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4vXG4vL1xuLy8gIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vICBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vICBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vICBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyAgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vICBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyAgVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vLyBQdWJsaWMgbWl4aW5zXG5cbkBtaXhpbiBtZGMtc2VsZWN0LWljb24tY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtaWNvbi1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG4vLyBQcml2YXRlIG1peGluc1xuXG5AbWl4aW4gbWRjLXNlbGVjdC1pY29uXyB7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtaWNvbi1jb2xvcihvbi1zdXJmYWNlKTtcblxuICAubWRjLXNlbGVjdF9faWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDE2cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG1kYy1zZWxlY3QtaWNvbi1zaXplO1xuICAgIGhlaWdodDogJG1kYy1zZWxlY3QtaWNvbi1zaXplO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgb3BhY2l0eTogJG1kYy1zZWxlY3QtaWNvbi1vcGFjaXR5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3QtaWNvbi1jb2xvcl8oJGNvbG9yKSB7XG4gIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1pY29uLWhvcml6b250YWwtcG9zaXRpb25fKCRpY29uUG9zaXRpb24sICRpbnB1dFBhZGRpbmcpIHtcbiAgLm1kYy1zZWxlY3RfX2ljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRpY29uUG9zaXRpb24pO1xuICB9XG5cbiAgLy8gTW92ZSB0aGUgaW5wdXQncyBwb3NpdGlvbiwgdG8gYWxsb3cgcm9vbSBmb3IgdGhlIGljb25cbiAgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgJGlucHV0UGFkZGluZyAvKiBsZWZ0ICovLCAkbWRjLXNlbGVjdC1pY29uLXJpZ2h0LXBhZGRpbmcgLyogcmlnaHQgKi8pO1xuICB9XG59XG4iLCIvLyAgQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vICBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyAgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6L1xuLy9cbi8vICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLi9cbi8vXG4vLyAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG4vL1xuXG4kbWRjLXNlbGVjdC1pY29uLXNpemU6IDI0cHggIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1pY29uLW9wYWNpdHk6IC41NCAhZGVmYXVsdDtcbiRtZGMtc2VsZWN0LWljb24tY29sb3I6IG9uLXN1cmZhY2UgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1pY29uLXJpZ2h0LXBhZGRpbmc6IDMycHggIWRlZmF1bHQ7XG4iLCIvLyAgQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vICBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyAgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6L1xuLy9cbi8vICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLi9cbi8vXG4vLyAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIHtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1pY29uXztcbn1cblxuLm1kYy1zZWxlY3RfX2ljb246bm90KFt0YWJpbmRleF0pLFxuLm1kYy1zZWxlY3RfX2ljb25bdGFiaW5kZXg9XCItMVwiXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIvLyAgQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vICBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyAgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6L1xuLy9cbi8vICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLi9cbi8vXG4vLyAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiLi4vZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90eXBvZ3JhcGh5L21peGluc1wiO1xuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBzZWxlY3QtaGVscGVyLXRleHRcbi5tZGMtc2VsZWN0LWhlbHBlci10ZXh0IHtcbiAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHkoY2FwdGlvbik7XG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5LWJhc2VsaW5lLXRvcCgxNnB4KTtcblxuICBtYXJnaW46IDA7XG4gIHRyYW5zaXRpb246IG1kYy1zZWxlY3QtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgb3BhY2l0eTogMDtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbi5tZGMtc2VsZWN0LWhlbHBlci10ZXh0LS1wZXJzaXN0ZW50IHtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgd2lsbC1jaGFuZ2U6IGluaXRpYWw7XG59XG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuL2tleWZyYW1lc1wiO1xuQGltcG9ydCBcIi4vbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9saW5lLXJpcHBsZS9tZGMtbGluZS1yaXBwbGVcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvbm90Y2hlZC1vdXRsaW5lL21kYy1ub3RjaGVkLW91dGxpbmVcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZmxvYXRpbmctbGFiZWwvbWRjLWZsb2F0aW5nLWxhYmVsXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3JpcHBsZS9jb21tb25cIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcmlwcGxlL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi9pY29uL21kYy1zZWxlY3QtaWNvblwiO1xuQGltcG9ydCBcIi4vaGVscGVyLXRleHQvbWRjLXNlbGVjdC1oZWxwZXItdGV4dFwiO1xuQGltcG9ydCBcIi4vaGVscGVyLXRleHQvbWl4aW5zXCI7XG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIHNlbGVjdFxuLm1kYy1zZWxlY3Qge1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWNvbnRhaW5lci1maWxsLWNvbG9yKCRtZGMtc2VsZWN0LWZpbGwtY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2U7XG4gIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLWJvdW5kZWQ7XG4gIC8vIFNlbGVjdCBpbnRlbnRpb25hbGx5IG9taXRzIHByZXNzIHJpcHBsZSwgc28gZWFjaCBzdGF0ZSBuZWVkcyB0byBiZSBzcGVjaWZpZWQgaW5kaXZpZHVhbGx5LlxuICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IoJG1kYy1zZWxlY3QtaW5rLWNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXN0YXRlcy1ob3Zlci1vcGFjaXR5KG1kYy1zdGF0ZXMtb3BhY2l0eSgkbWRjLXNlbGVjdC1pbmstY29sb3IsIGhvdmVyKSk7XG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eShtZGMtc3RhdGVzLW9wYWNpdHkoJG1kYy1zZWxlY3QtaW5rLWNvbG9yLCBmb2N1cykpO1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWluay1jb2xvcigkbWRjLXNlbGVjdC1pbmstY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWxhYmVsLWNvbG9yKCRtZGMtc2VsZWN0LWxhYmVsLWNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1ib3R0b20tbGluZS1jb2xvcigkbWRjLXNlbGVjdC1ib3R0b20tbGluZS1pZGxlLWNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1oZWxwZXItdGV4dC1jb2xvcigkbWRjLXNlbGVjdC1oZWxwZXItdGV4dC1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3Qtc2hhcGUtcmFkaXVzKHNtYWxsKTtcblxuICAvLyBGb2N1c2VkIHN0YXRlIGNvbG9yc1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtYm90dG9tLWxpbmUtY29sb3IocHJpbWFyeSk7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtZm9jdXNlZC1sYWJlbC1jb2xvcigkbWRjLXNlbGVjdC1mb2N1c2VkLWxhYmVsLWNvbG9yKTtcblxuICAvLyBIb3ZlciBzdGF0ZSBjb2xvcnNcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1ob3Zlci1ib3R0b20tbGluZS1jb2xvcigkbWRjLXNlbGVjdC1ib3R0b20tbGluZS1ob3Zlci1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbigkbWRjLXNlbGVjdC1sYWJlbC1wb3NpdGlvbi15KTtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1mbG9hdGluZy1sYWJlbF87XG5cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAkbWRjLXNlbGVjdC1oZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybSwgY29sb3I7XG5cbiAgJl9fZHJvcGRvd24taWNvbiB7XG4gICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1kZC1hcnJvdy1zdmctYmdfKCRtZGMtc2VsZWN0LWRyb3Bkb3duLWNvbG9yLCAkbWRjLXNlbGVjdC1kcm9wZG93bi1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZShsZWZ0LCBhdXRvLCByaWdodCwgOHB4KTtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDE2cHg7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkbWRjLXNlbGVjdC1kcm9wZG93bi10cmFuc2l0aW9uLWR1cmF0aW9uICRtZGMtYW5pbWF0aW9uLXN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC5tZGMtc2VsZWN0LS1mb2N1c2VkICYge1xuICAgICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1kZC1hcnJvdy1zdmctYmdfKG1kYy10aGVtZS1wcm9wLXZhbHVlKHByaW1hcnkpLCAxKTtcbiAgICB9XG5cbiAgICAubWRjLXNlbGVjdC0tYWN0aXZhdGVkICYge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGVZKC01cHgpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRtZGMtc2VsZWN0LWRyb3Bkb3duLXRyYW5zaXRpb24tZHVyYXRpb24gJG1kYy1hbmltYXRpb24tc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgIH1cbiAgfVxuXG4gICZfX25hdGl2ZS1jb250cm9sIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtZm9jdXNlZC1saW5lLXJpcHBsZV8ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMik7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZGMtc2VsZWN0LWhlbHBlci10ZXh0XztcbkBpbmNsdWRlIG1kYy1zZWxlY3QtdGV4dC1hbmQtY29udHJvbF8oKTtcblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1vdXRsaW5lZF87XG59XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkIHtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1sYWJlbC1jb2xvcigkbWRjLXNlbGVjdC1lcnJvci1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtYm90dG9tLWxpbmUtY29sb3IoJG1kYy1zZWxlY3QtZXJyb3ItY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtYm90dG9tLWxpbmUtY29sb3IoJG1kYy1zZWxlY3QtZXJyb3ItY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtbGFiZWwtY29sb3IoJG1kYy1zZWxlY3QtZXJyb3ItY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWhlbHBlci10ZXh0LXZhbGlkYXRpb24tY29sb3IoJG1kYy1zZWxlY3QtZXJyb3ItY29sb3IpO1xuXG4gIC8vIEhvdmVyIHN0YXRlIGNvbG9yc1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWhvdmVyLWJvdHRvbS1saW5lLWNvbG9yKCRtZGMtc2VsZWN0LWVycm9yLWNvbG9yKTtcblxuICAmLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LW91dGxpbmUtY29sb3IoJG1kYy1zZWxlY3QtZXJyb3ItY29sb3IpO1xuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtaG92ZXItb3V0bGluZS1jb2xvcigkbWRjLXNlbGVjdC1lcnJvci1jb2xvcik7XG4gICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1mb2N1c2VkLW91dGxpbmUtY29sb3IoJG1kYy1zZWxlY3QtZXJyb3ItY29sb3IpO1xuICB9XG5cbiAgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtZGQtYXJyb3ctc3ZnLWJnXygkbWRjLXNlbGVjdC1lcnJvci1jb2xvciwgMSk7XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gICsgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5tZGMtc2VsZWN0LS1yZXF1aXJlZCB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiKlwiO1xuICB9XG59XG5cbi5tZGMtc2VsZWN0LS1kaXNhYmxlZCB7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtZGlzYWJsZWRfO1xufVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ge1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LXdpdGgtbGVhZGluZy1pY29uXztcbn1cblxuLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZCB7XG4gIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCBvbi1zdXJmYWNlKTtcbiAgQGluY2x1ZGUgbWRjLXN0YXRlcyhvbi1zdXJmYWNlKTtcbn1cblxuQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWtleWZyYW1lcyhcbiAgc2VsZWN0LW91dGxpbmVkLWxlYWRpbmctaWNvbixcbiAgJG1kYy1zZWxlY3Qtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSxcbiAgJG1kYy1zZWxlY3Qtb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teFxuKTtcbkBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1rZXlmcmFtZXMoXG4gIHNlbGVjdC1vdXRsaW5lZC1sZWFkaW5nLWljb24tcnRsLFxuICAkbWRjLXNlbGVjdC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15LFxuICAtJG1kYy1zZWxlY3Qtb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teFxuKTtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL2FuaW1hdGlvbi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCI7XG5cbiRtZGMtc2VsZWN0LWFycm93LXBhZGRpbmc6IDUycHggIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1sYWJlbC1wYWRkaW5nOiAxNnB4ICFkZWZhdWx0O1xuJG1kYy1zZWxlY3QtaGVpZ2h0OiA1NnB4ICFkZWZhdWx0O1xuJG1kYy1zZWxlY3QtaWNvbi1wYWRkaW5nOiA0OHB4ICFkZWZhdWx0O1xuXG4kbWRjLXNlbGVjdC1pbmstY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC44NykgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1kcm9wZG93bi1jb2xvcjogbWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSkgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1pY29uLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNTQpICFkZWZhdWx0O1xuJG1kYy1zZWxlY3QtbGFiZWwtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC42KSAhZGVmYXVsdDtcbiRtZGMtc2VsZWN0LWZvY3VzZWQtbGFiZWwtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUocHJpbWFyeSksIC44NykgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1ib3R0b20tbGluZS1pZGxlLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNDIpICFkZWZhdWx0O1xuJG1kYy1zZWxlY3QtYm90dG9tLWxpbmUtaG92ZXItY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC44NykgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1oZWxwZXItdGV4dC1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjYpICFkZWZhdWx0O1xuXG4kbWRjLXNlbGVjdC1maWxsLWNvbG9yOiBtaXgobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIG1kYy10aGVtZS1wcm9wLXZhbHVlKHN1cmZhY2UpLCA0JSkgIWRlZmF1bHQ7XG5cbiRtZGMtc2VsZWN0LWRyb3Bkb3duLW9wYWNpdHk6IC41NCAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZWQgU3R5bGVzXG4kbWRjLXNlbGVjdC1kaXNhYmxlZC1sYWJlbC1jb2xvcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjM3KSAhZGVmYXVsdDtcbiRtZGMtc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zNykgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1kaXNhYmxlZC1pbmstY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zNykgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1kaXNhYmxlZC1maWxsLWNvbG9yOiBtaXgobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIG1kYy10aGVtZS1wcm9wLXZhbHVlKHN1cmZhY2UpLCAyJSkgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1kaXNhYmxlZC1kcm9wZG93bi1vcGFjaXR5OiAuMzcgIWRlZmF1bHQ7XG5cbiRtZGMtc2VsZWN0LW91dGxpbmVkLWlkbGUtYm9yZGVyOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMzgpICFkZWZhdWx0O1xuJG1kYy1zZWxlY3Qtb3V0bGluZWQtaG92ZXItYm9yZGVyOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuODcpICFkZWZhdWx0O1xuXG4vLyBzaG91bGQgYmUgLjA2IGFmdGVyIG1kYy1zZWxlY3Qgb3BhY2l0eSBpcyBhcHBsaWVkXG4kbWRjLXNlbGVjdC1vdXRsaW5lZC1kaXNhYmxlZC1ib3JkZXI6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4xNikgIWRlZmF1bHQ7XG5cbiRtZGMtc2VsZWN0LWxhYmVsLXBvc2l0aW9uLXk6IDcwJSAhZGVmYXVsdDtcbiRtZGMtc2VsZWN0LW91dGxpbmUtbGFiZWwtb2Zmc2V0OiAxNnB4ICFkZWZhdWx0O1xuJG1kYy1zZWxlY3Qtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teTogMTMwJSAhZGVmYXVsdDtcbiRtZGMtc2VsZWN0LW91dGxpbmVkLWRlbnNlLWxhYmVsLXBvc2l0aW9uLXk6IDExMCUgIWRlZmF1bHQ7XG4kbWRjLXNlbGVjdC1vdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1sYWJlbC1wb3NpdGlvbi14OiAzMnB4ICFkZWZhdWx0O1xuXG4kbWRjLXNlbGVjdC1kcm9wZG93bi10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcyAhZGVmYXVsdDtcblxuLy8gRXJyb3IgY29sb3JzXG4kbWRjLXNlbGVjdC1lcnJvci1jb2xvcjogZXJyb3IgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbi8vXG4vLyBGbGlwcyB0aGUgcmFkaXVzIHZhbHVlcyBiYXNlZCBvbiBSVEwgY29udGV4dC5cbi8vXG4vLyBFeGFtcGxlczpcbi8vXG4vLyAxLiBtZGMtc2hhcGUtZmxpcC1yYWRpdXMoKDAsIDRweCwgNHB4LCAwKSkgPT4gNHB4IDAgMCA0cHhcbi8vIDIuIG1kYy1zaGFwZS1mbGlwLXJhZGl1cygoMCwgOHB4KSkgPT4gOHB4IDBcbi8vXG5AZnVuY3Rpb24gbWRjLXNoYXBlLWZsaXAtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmIHR5cGUtb2YoJHJhZGl1cykgPT0gXCJsaXN0XCIge1xuICAgIEBpZiBsZW5ndGgoJHJhZGl1cykgPiA0IHtcbiAgICAgIEBlcnJvciBcIkludmFsaWQgcmFkaXVzOiAnI3skcmFkaXVzfScgaXMgbW9yZSB0aGFuIDQgdmFsdWVzXCI7XG4gICAgfVxuICB9XG5cbiAgQGlmIGxlbmd0aCgkcmFkaXVzKSA9PSA0IHtcbiAgICBAcmV0dXJuIG50aCgkcmFkaXVzLCAyKSBudGgoJHJhZGl1cywgMSkgbnRoKCRyYWRpdXMsIDQpIG50aCgkcmFkaXVzLCAzKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHJhZGl1cykgPT0gMyB7XG4gICAgQHJldHVybiBudGgoJHJhZGl1cywgMikgbnRoKCRyYWRpdXMsIDEpIG50aCgkcmFkaXVzLCAyKSBudGgoJHJhZGl1cywgMyk7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRyYWRpdXMpID09IDIge1xuICAgIEByZXR1cm4gbnRoKCRyYWRpdXMsIDIpIG50aCgkcmFkaXVzLCAxKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkcmFkaXVzO1xuICB9XG59XG5cbi8vXG4vLyBSZXNvbHZlcyB0aGUgcGVyY2VudGFnZSB1bml0IHJhZGl1cyB0byBhcHByb3ByaWF0ZSBhYnNvbHV0ZSByYWRpdXMgdmFsdWUgYmFzZWQgb24gY29tcG9uZW50IGhlaWdodC5cbi8vIFVzZSB0aGlzIGZvciBmaXhlZCBoZWlnaHQgY29tcG9uZW50cyBvbmx5LlxuLy9cbi8vIEV4YW1wbGVzOlxuLy9cbi8vIG1kYy1zaGFwZS1yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKDM2cHgsIDUwJSkgPT4gYDE4cHhgIChpLmUuLCAzNnB4IC8gMilcbi8vXG5AZnVuY3Rpb24gbWRjLXNoYXBlLXJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXMoJGNvbXBvbmVudC1oZWlnaHQsICRyYWRpdXMpIHtcbiAgJHJhZGl1czogbWRjLXNoYXBlLXByb3AtdmFsdWUoJHJhZGl1cyk7XG5cbiAgQGlmIHR5cGUtb2YoJHJhZGl1cykgPT0gXCJsaXN0XCIge1xuICAgICRyYWRpdXMtdmFsdWU6ICgpO1xuXG4gICAgQGVhY2ggJGNvcm5lciBpbiAkcmFkaXVzIHtcbiAgICAgICRyYWRpdXMtdmFsdWU6IGFwcGVuZCgkcmFkaXVzLXZhbHVlLCBtZGMtc2hhcGUtcmVzb2x2ZS1wZXJjZW50YWdlLWZvci1jb3JuZXJfKCRjb21wb25lbnQtaGVpZ2h0LCAkY29ybmVyKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmFkaXVzLXZhbHVlO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIG1kYy1zaGFwZS1yZXNvbHZlLXBlcmNlbnRhZ2UtZm9yLWNvcm5lcl8oJGNvbXBvbmVudC1oZWlnaHQsICRyYWRpdXMpO1xuICB9XG59XG5cbi8vXG4vLyBSZXR1cm5zICRyYWRpdXMgdmFsdWUgb2Ygc2hhcGUgY2F0ZWdvcnkgLSBgbGFyZ2VgLCBgbWVkaXVtYCBvciBgc21hbGxgLlxuLy8gT3RoZXJ3aXNlLCBpdCByZXR1cm5zIHRoZSAkcmFkaXVzIGl0c2VsZiBpZiB2YWxpZC5cbi8vICRyYWRpdXMgY2FuIGJlIGEgc2luZ2xlIHZhbHVlLCBvciBhIGxpc3Qgb2YgdXAgdG8gNCB2YWx1ZXMuXG4vL1xuLy8gRXhhbXBsZXM6XG4vL1xuLy8gbWRjLXNoYXBlLXByb3AtdmFsdWUoc21hbGwpID0+IDRweFxuLy8gbWRjLXNoYXBlLXByb3AtdmFsdWUoc21hbGwgc21hbGwgMCAwKSA9PiA0cHggNHB4IDAgMFxuLy9cbkBmdW5jdGlvbiBtZGMtc2hhcGUtcHJvcC12YWx1ZSgkcmFkaXVzKSB7XG4gIEBpZiB0eXBlLW9mKCRyYWRpdXMpID09IFwibGlzdFwiIHtcbiAgICBAaWYgbGVuZ3RoKCRyYWRpdXMpID4gNCB7XG4gICAgICBAZXJyb3IgXCJJbnZhbGlkIHJhZGl1czogJyN7JHJhZGl1c30nIGlzIG1vcmUgdGhhbiA0IHZhbHVlc1wiO1xuICAgIH1cblxuICAgICRyYWRpdXMtdmFsdWVzOiAoKTtcblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRyYWRpdXMpIHtcbiAgICAgICRjb3JuZXI6IG50aCgkcmFkaXVzLCAkaSk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWRjLXNoYXBlLWNhdGVnb3J5LXZhbHVlcywgJGNvcm5lcikge1xuICAgICAgICAvLyBJZiBhIGNhdGVnb3J5IGlzIGVuY291bnRlcmVkIHdpdGhpbiBhIGxpc3Qgb2YgcmFkaWksIGFwcGx5IHRoZSBjYXRlZ29yeSdzIHZhbHVlIGZvciB0aGUgY29ycmVzcG9uZGluZyBjb3JuZXJcbiAgICAgICAgJHJhZGl1cy12YWx1ZXM6XG4gICAgICAgICAgYXBwZW5kKCRyYWRpdXMtdmFsdWVzLCBudGgobWRjLXNoYXBlLXVucGFjay1yYWRpdXNfKG1hcC1nZXQoJG1kYy1zaGFwZS1jYXRlZ29yeS12YWx1ZXMsICRjb3JuZXIpKSwgJGkpKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkcmFkaXVzLXZhbHVlczogYXBwZW5kKCRyYWRpdXMtdmFsdWVzLCBtZGMtc2hhcGUtdmFsaWRhdGUtcmFkaXVzLXZhbHVlXygkY29ybmVyKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmFkaXVzLXZhbHVlcztcbiAgfSBAZWxzZSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRtZGMtc2hhcGUtY2F0ZWdvcnktdmFsdWVzLCAkcmFkaXVzKSB7XG4gICAgICBAcmV0dXJuIG1hcC1nZXQoJG1kYy1zaGFwZS1jYXRlZ29yeS12YWx1ZXMsICRyYWRpdXMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBtZGMtc2hhcGUtdmFsaWRhdGUtcmFkaXVzLXZhbHVlXygkcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIEFjY2VwdHMgcmFkaXVzIG51bWJlciBvciBsaXN0IG9mIDItNCByYWRpdXMgdmFsdWVzIGFuZCByZXR1cm5zIDQgdmFsdWUgbGlzdCB3aXRoXG4vLyBtYXNrZWQgY29ybmVycyBhcyBtZW50aW9uZWQgaW4gYCRtYXNrZWQtY29ybmVyc2Bcbi8vXG4vLyBFeGFtcGxlOlxuLy9cbi8vIDEuIG1kYy1zaGFwZS1tYXNrLXJhZGl1cygycHggM3B4LCAxIDEgMCAwKSA9PiAycHggM3B4IDAgMFxuLy8gMi4gbWRjLXNoYXBlLW1hc2stcmFkaXVzKDhweCwgMCAwIDEgMSkgPT4gMCAwIDhweCA4cHhcbi8vIDMuIG1kYy1zaGFwZS1tYXNrLXJhZGl1cyg0cHggNHB4IDRweCA0cHgsIDAgMSAxIDApID0+IDAgNHB4IDRweCAwXG4vL1xuQGZ1bmN0aW9uIG1kYy1zaGFwZS1tYXNrLXJhZGl1cygkcmFkaXVzLCAkbWFza2VkLWNvcm5lcnMpIHtcbiAgQGlmIHR5cGUtb2YoJHJhZGl1cykgPT0gXCJsaXN0XCIge1xuICAgIEBpZiBsZW5ndGgoJHJhZGl1cykgPiA0IHtcbiAgICAgIEBlcnJvciBcIkludmFsaWQgcmFkaXVzOiAnI3skcmFkaXVzfScgaXMgbW9yZSB0aGFuIDQgdmFsdWVzXCI7XG4gICAgfVxuICB9XG5cbiAgQGlmIGxlbmd0aCgkbWFza2VkLWNvcm5lcnMpICE9IDQge1xuICAgIEBlcnJvciBcIkV4cGVjdGVkIG1hc2tlZC1jb3JuZXJzIG9mIGxlbmd0aCA0IGJ1dCBnb3QgJyN7bGVuZ3RoKCRtYXNrZWQtY29ybmVycyl9Jy5cIjtcbiAgfVxuXG4gICRyYWRpdXM6IG1kYy1zaGFwZS11bnBhY2stcmFkaXVzXygkcmFkaXVzKTtcblxuICBAcmV0dXJuIGlmKG50aCgkbWFza2VkLWNvcm5lcnMsIDEpID09IDEsIG50aCgkcmFkaXVzLCAxKSwgMClcbiAgICBpZihudGgoJG1hc2tlZC1jb3JuZXJzLCAyKSA9PSAxLCBudGgoJHJhZGl1cywgMiksIDApXG4gICAgaWYobnRoKCRtYXNrZWQtY29ybmVycywgMykgPT0gMSwgbnRoKCRyYWRpdXMsIDMpLCAwKVxuICAgIGlmKG50aCgkbWFza2VkLWNvcm5lcnMsIDQpID09IDEsIG50aCgkcmFkaXVzLCA0KSwgMCk7XG59XG5cbi8vXG4vLyBVbnBhY2tzIHNob3J0aGFuZCB2YWx1ZXMgZm9yIGJvcmRlci1yYWRpdXMgKGkuZS4gbGlzdHMgb2YgMS0zIHZhbHVlcykuXG4vLyBJZiBhIGxpc3Qgb2YgNCB2YWx1ZXMgaXMgZ2l2ZW4sIGl0IGlzIHJldHVybmVkIGFzLWlzLlxuLy9cbi8vIEV4YW1wbGVzOlxuLy9cbi8vIDEuIG1kYy1zaGFwZS11bnBhY2stcmFkaXVzXyg0cHgpID0+IDRweCA0cHggNHB4IDRweFxuLy8gMi4gbWRjLXNoYXBlLXVucGFjay1yYWRpdXNfKDRweCAycHgpID0+IDRweCAycHggNHB4IDJweFxuLy8gMy4gbWRjLXNoYXBlLXVucGFjay1yYWRpdXNfKDRweCAycHggMnB4KSA9PiA0cHggMnB4IDJweCAycHhcbi8vIDIuIG1kYy1zaGFwZS11bnBhY2stcmFkaXVzXyg0cHggMnB4IDAgMnB4KSA9PiA0cHggMnB4IDAgMnB4XG4vL1xuLy8gVE9ETzogVGhpcyBpcyBwcml2YXRlIGZvciBwdXJwb3NlcyBvZiBnZXR0aW5nIGl0IGludG8gYSBwYXRjaDsgbWFrZSBpdCBwdWJsaWMgZm9yIGEgZnV0dXJlIG1pbm9yL21ham9yIHJlbGVhc2UuXG4vL1xuQGZ1bmN0aW9uIG1kYy1zaGFwZS11bnBhY2stcmFkaXVzXygkcmFkaXVzKSB7XG4gIEBpZiBsZW5ndGgoJHJhZGl1cykgPT0gNCB7XG4gICAgQHJldHVybiAkcmFkaXVzO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkcmFkaXVzKSA9PSAzIHtcbiAgICBAcmV0dXJuIG50aCgkcmFkaXVzLCAxKSBudGgoJHJhZGl1cywgMikgbnRoKCRyYWRpdXMsIDMpIG50aCgkcmFkaXVzLCAyKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHJhZGl1cykgPT0gMiB7XG4gICAgQHJldHVybiBudGgoJHJhZGl1cywgMSkgbnRoKCRyYWRpdXMsIDIpIG50aCgkcmFkaXVzLCAxKSBudGgoJHJhZGl1cywgMik7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRyYWRpdXMpID09IDEge1xuICAgIEByZXR1cm4gJHJhZGl1cyAkcmFkaXVzICRyYWRpdXMgJHJhZGl1cztcbiAgfVxuXG4gIEBlcnJvciBcIkludmFsaWQgcmFkaXVzOiAnI3skcmFkaXVzfScgaXMgbW9yZSB0aGFuIDQgdmFsdWVzXCI7XG59XG5cbkBmdW5jdGlvbiBtZGMtc2hhcGUtcmVzb2x2ZS1wZXJjZW50YWdlLWZvci1jb3JuZXJfKCRjb21wb25lbnQtaGVpZ2h0LCAkcmFkaXVzKSB7XG4gIEBpZiB0eXBlLW9mKCRyYWRpdXMpID09IFwibnVtYmVyXCIgYW5kIHVuaXQoJHJhZGl1cykgPT0gXCIlXCIge1xuICAgIC8vIENvbnZlcnRzIHRoZSBwZXJjZW50YWdlIHRvIG51bWJlciB3aXRob3V0IHVuaXQuIEV4YW1wbGU6IDUwJSA9PiA1MC5cbiAgICAkcGVyY2VudGFnZTogJHJhZGl1cyAvICgkcmFkaXVzICogMCArIDEpO1xuXG4gICAgQHJldHVybiAkY29tcG9uZW50LWhlaWdodCAqICgkcGVyY2VudGFnZSAvIDEwMCk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJHJhZGl1cztcbiAgfVxufVxuXG5AZnVuY3Rpb24gbWRjLXNoYXBlLXZhbGlkYXRlLXJhZGl1cy12YWx1ZV8oJHJhZGl1cykge1xuICAkaXMtbnVtYmVyOiB0eXBlLW9mKCRyYWRpdXMpID09IFwibnVtYmVyXCI7XG5cbiAgQGlmIG5vdCAoJGlzLW51bWJlciBvciBzdHJfaW5kZXgoJHJhZGl1cywgXCJ2YXIoXCIpIG9yIHN0cl9pbmRleCgkcmFkaXVzLCBcImNhbGMoXCIpKSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCByYWRpdXM6ICN7JHJhZGl1c31cIjtcbiAgfVxuXG4gIEByZXR1cm4gJHJhZGl1cztcbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL2Zsb2F0aW5nLWxhYmVsL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvc2hhcGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3NoYXBlL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9saW5lLXJpcHBsZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvbm90Y2hlZC1vdXRsaW5lL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9ub3RjaGVkLW91dGxpbmUvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi9pY29uL21peGluc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbi8vIFB1YmxpY1xuXG5AbWl4aW4gbWRjLXNlbGVjdC1pbmstY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtaW5rLWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LWNvbnRhaW5lci1maWxsLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWNvbnRhaW5lci1maWxsLWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LWZvY3VzZWQtbGFiZWwtY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgICYubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1pbmstY29sb3IobWRjLXRoZW1lLXByb3AtdmFsdWUoJGNvbG9yKSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LWhvdmVyLWJvdHRvbS1saW5lLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDpob3ZlciB7XG4gICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1uYXRpdmUtY29udHJvbC1ib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1ib3R0b20tbGluZS1jb2xvcigkY29sb3IpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1ib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1mb2N1c2VkLWJvdHRvbS1saW5lLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtbGluZS1yaXBwbGUtY29sb3JfKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3QtbGFiZWwtY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLWluay1jb2xvcigkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LW91dGxpbmUtY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3Qtb3V0bGluZS1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1ob3Zlci1vdXRsaW5lLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWhvdmVyLW91dGxpbmUtY29sb3JfKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3QtZm9jdXNlZC1vdXRsaW5lLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtb3V0bGluZS1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlKSB7XG4gIEBpZiBsZW5ndGgoJHJhZGl1cykgPiAyIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHJhZGl1czogJyN7JHJhZGl1c30nIGNvbXBvbmVudCBkb2Vzbid0IGFsbG93IGN1c3RvbWl6aW5nIGFsbCBjb3JuZXJzXCI7XG4gIH1cblxuICAkbWFza2VkLXJhZGl1czogbWRjLXNoYXBlLW1hc2stcmFkaXVzKCRyYWRpdXMsIDEgMSAwIDApO1xuXG4gICYsXG4gICZfX25hdGl2ZS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBtZGMtc2hhcGUtcmFkaXVzKG1kYy1zaGFwZS1yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKCRtZGMtc2VsZWN0LWhlaWdodCwgJG1hc2tlZC1yYWRpdXMpLCAkcnRsLXJlZmxleGl2ZSk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3Qtb3V0bGluZS1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlKSB7XG4gICRyZXNvbHZlZC1yYWRpdXM6IG50aChtZGMtc2hhcGUtcmVzb2x2ZS1wZXJjZW50YWdlLXJhZGl1cygkbWRjLXNlbGVjdC1oZWlnaHQsIG1kYy1zaGFwZS1wcm9wLXZhbHVlKCRyYWRpdXMpKSwgMSk7XG5cbiAgQGlmIChsZW5ndGgobWRjLXNoYXBlLXByb3AtdmFsdWUoJHJhZGl1cykpID4gMSkge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGluZS1sZW5ndGhcbiAgICBAd2FybiBcIm1kYy1zZWxlY3Qtb3V0bGluZS1zaGFwZS1yYWRpdXMgb25seSBzdXBwb3J0cyBhIHNpbmdsZSByYWRpdXM7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWF0ZXJpYWwtY29tcG9uZW50cy9tYXRlcmlhbC1jb21wb25lbnRzLXdlYi9pc3N1ZXMvNDE0MFwiO1xuICB9XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICAgIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtc2hhcGUtcmFkaXVzKCRyZXNvbHZlZC1yYWRpdXMsICRydGwtcmVmbGV4aXZlKTtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgbWRjLXNoYXBlLXJhZGl1cygkcmVzb2x2ZWQtcmFkaXVzLCAkcnRsLXJlZmxleGl2ZSk7XG4gIH1cblxuICBAaWYgKCRyZXNvbHZlZC1yYWRpdXMgPiAkbWRjLW5vdGNoZWQtb3V0bGluZS1sZWFkaW5nLXdpZHRoKSB7XG4gICAgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KFxuICAgICAgICBwYWRkaW5nLFxuICAgICAgICAkcmVzb2x2ZWQtcmFkaXVzICsgJG1kYy1ub3RjaGVkLW91dGxpbmUtcGFkZGluZyxcbiAgICAgICAgJG1kYy1zZWxlY3QtYXJyb3ctcGFkZGluZ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KFxuICAgICAgICBtYXJnaW4sXG4gICAgICAgICRyZXNvbHZlZC1yYWRpdXMgKyAkbWRjLW5vdGNoZWQtb3V0bGluZS1wYWRkaW5nLFxuICAgICAgICAkbWRjLXNlbGVjdC1vdXRsaW5lLWxhYmVsLW9mZnNldFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUHJpdmF0ZVxuQG1peGluIG1kYy1zZWxlY3QtZm9jdXNlZC1saW5lLXJpcHBsZV8ge1xuICAmLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1saW5lLXJpcHBsZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3QtZm9jdXNlZC1vdXRsaW5lXyB7XG4gICYubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSB7XG4gICAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1zdHJva2Utd2lkdGgoMnB4KTtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1mb2N1c2VkLW91dGxpbmUtaWRsZV8ge1xuICAmLm1kYy1zZWxlY3QtLWZvY3VzZWQge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LWluay1jb2xvcl8oJGNvbG9yKSB7XG4gIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCxcbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LWNvbnRhaW5lci1maWxsLWNvbG9yXygkY29sb3IpIHtcbiAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbn1cblxuQG1peGluIG1kYy1zZWxlY3QtYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvcikge1xuICAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LW5hdGl2ZS1jb250cm9sLWJvdHRvbS1saW5lLWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LW5hdGl2ZS1jb250cm9sLWJvdHRvbS1saW5lLWNvbG9yXygkY29sb3IpIHtcbiAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNvbG9yKTtcbn1cblxuQG1peGluIG1kYy1zZWxlY3QtZm9jdXNlZC1saW5lLXJpcHBsZS1jb2xvcl8oJGNvbG9yKSB7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtZm9jdXNlZC1saW5lLXJpcHBsZV8ge1xuICAgIEBpbmNsdWRlIG1kYy1saW5lLXJpcHBsZS1jb2xvcigkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LWRkLWFycm93LXN2Zy1iZ18oJGZpbGwtaGV4LW51bWJlciwgJG9wYWNpdHkpIHtcbiAgLy8gTG9va3VwIGNvbG9yIGFuZCByZW1vdmUgbGVhZGluZyAjLlxuICAkZmlsbC1oZXgtbnVtYmVyOiBtZGMtdGhlbWUtcHJvcC12YWx1ZSgkZmlsbC1oZXgtbnVtYmVyKTtcbiAgJGZpbGwtaGV4LW51bWJlcjogc3RyLXNsaWNlKHVucXVvdGUoXCIjeyRmaWxsLWhleC1udW1iZXJ9XCIpLCAyKTtcblxuICBiYWNrZ3JvdW5kOlxuICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEwcHglMjIlMjBoZWlnaHQlM0QlMjI1cHglMjIlMjB2aWV3Qm94JTNEJTIyNyUyMDEwJTIwMTAlMjA1JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGlkJTNEJTIyU2hhcGUlMjIlMjBzdHJva2UlM0QlMjJub25lJTIyJTIwZmlsbCUzRCUyMiUyMyN7JGZpbGwtaGV4LW51bWJlcn0lMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwb3BhY2l0eSUzRCUyMiN7JG9wYWNpdHl9JTIyJTIwcG9pbnRzJTNEJTIyNyUyMDEwJTIwMTIlMjAxNSUyMDE3JTIwMTAlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTNDJTJGc3ZnJTNFXCIpXG4gICAgbm8tcmVwZWF0XG4gICAgY2VudGVyO1xufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1vdXRsaW5lLWNvbG9yXygkY29sb3IpIHtcbiAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1jb2xvcigkY29sb3IpO1xufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1ob3Zlci1vdXRsaW5lLWNvbG9yXygkY29sb3IpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWNvbWJpbmF0b3Itc3BhY2UtYWZ0ZXJcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDpob3ZlciB+LFxuICAmOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQ6aG92ZXIgfiB7XG4gICAgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICAgICAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1mb2N1c2VkLW91dGxpbmUtY29sb3JfKCRjb2xvcikge1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtb3V0bGluZV8ge1xuICAgIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtY29sb3IoJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1mbG9hdGluZy1sYWJlbF8ge1xuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLXNlbGVjdC1vdXRsaW5lLWxhYmVsLW9mZnNldCk7XG5cbiAgICB0b3A6IDIxcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIHtcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRtZGMtc2VsZWN0LWljb24tcGFkZGluZyk7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLW5vdGNoZWQtb3V0bGluZS1wYWRkaW5nKTtcblxuICAgICAgdG9wOiAxN3B4O1xuICAgIH1cblxuICAgICYubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ge1xuICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRtZGMtc2VsZWN0LWljb24tcGFkZGluZyAtICRtZGMtbm90Y2hlZC1vdXRsaW5lLWxlYWRpbmctd2lkdGgpO1xuXG4gICAgICAgICYtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLXNlbGVjdC1pY29uLXBhZGRpbmcgLSAkbWRjLW5vdGNoZWQtb3V0bGluZS1sZWFkaW5nLXdpZHRoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC13aXRoLWxlYWRpbmctaWNvbl8ge1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWljb24taG9yaXpvbnRhbC1wb3NpdGlvbl8oMTZweCwgJG1kYy1zZWxlY3QtaWNvbi1wYWRkaW5nKTtcblxuICAmLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgICBAaW5jbHVkZSBtZGMtbm90Y2hlZC1vdXRsaW5lLWZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uKFxuICAgICAgJG1kYy1zZWxlY3Qtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSxcbiAgICAgICRtZGMtc2VsZWN0LW91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXhcbiAgICApO1xuICAgIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24oc2VsZWN0LW91dGxpbmVkLWxlYWRpbmctaWNvbik7XG5cbiAgICBAaW5jbHVkZSBtZGMtcnRsIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24oc2VsZWN0LW91dGxpbmVkLWxlYWRpbmctaWNvbi1ydGwpO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QtaXRlbV9fdGV4dCB7XG4gICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgMzJweCAvKiBsZWZ0LXZhbHVlICovLCAzMnB4IC8qIHJpZ2h0LXZhbHVlICovKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC10ZXh0LWFuZC1jb250cm9sXyB7XG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMnB4O1xuICB9XG5cbiAgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgJG1kYy1zZWxlY3QtbGFiZWwtcGFkZGluZywgJG1kYy1zZWxlY3QtYXJyb3ctcGFkZGluZyk7XG4gICAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHkoc3VidGl0bGUxKTtcblxuICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOjotbXMtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvLyBjb3VudGVyYWN0cyB0aGUgZXh0cmEgdGV4dCBwYWRkaW5nIHRoYXQgRmlyZWZveCBhZGRzIGJ5IGRlZmF1bHRcbiAgICBALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KFwiXCIpIHtcbiAgICAgIHRleHQtaW5kZW50OiAtMnB4O1xuICAgIH1cblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkbWRjLXNlbGVjdC1oZWlnaHQ7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIE92ZXJyaWRlIGRlZmF1bHQgdXNlciBhZ2VudCBzdHlsZXNoZWV0XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXNlbGVjdC1kaXNhYmxlZF8ge1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWNvbnRhaW5lci1maWxsLWNvbG9yXygkbWRjLXNlbGVjdC1kaXNhYmxlZC1maWxsLWNvbG9yKTtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtaW5rLWNvbG9yKCRtZGMtc2VsZWN0LWRpc2FibGVkLWxhYmVsLWNvbG9yKTtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19kcm9wZG93bi1pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWRkLWFycm93LXN2Zy1iZ18oJG1kYy1zZWxlY3QtZHJvcGRvd24tY29sb3IsICRtZGMtc2VsZWN0LWRpc2FibGVkLWRyb3Bkb3duLW9wYWNpdHkpO1xuICB9XG5cbiAgLm1kYy1saW5lLXJpcHBsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJG1kYy1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcik7XG4gIH1cblxuICAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJG1kYy1zZWxlY3QtZGlzYWJsZWQtaW5rLWNvbG9yKTtcblxuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICYubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtY29udGFpbmVyLWZpbGwtY29sb3JfKHRyYW5zcGFyZW50KTtcblxuICAgIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCxcbiAgICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1kYy1zZWxlY3Qtb3V0bGluZS1jb2xvcl8oJG1kYy1zZWxlY3Qtb3V0bGluZWQtZGlzYWJsZWQtYm9yZGVyKTtcbiAgfVxuXG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtaXhpbiBtZGMtc2VsZWN0LW91dGxpbmVkXyB7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3QtY29udGFpbmVyLWZpbGwtY29sb3IodHJhbnNwYXJlbnQpO1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LW91dGxpbmUtY29sb3IoJG1kYy1zZWxlY3Qtb3V0bGluZWQtaWRsZS1ib3JkZXIpO1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWhvdmVyLW91dGxpbmUtY29sb3IoJG1kYy1zZWxlY3Qtb3V0bGluZWQtaG92ZXItYm9yZGVyKTtcbiAgQGluY2x1ZGUgbWRjLXNlbGVjdC1mb2N1c2VkLW91dGxpbmUtY29sb3IocHJpbWFyeSk7XG4gIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24odGV4dC1maWVsZC1vdXRsaW5lZCk7XG4gIEBpbmNsdWRlIG1kYy1zZWxlY3Qtb3V0bGluZS1zaGFwZS1yYWRpdXMoc21hbGwpO1xuICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IodHJhbnNwYXJlbnQpO1xuICBAaW5jbHVkZSBtZGMtc2VsZWN0LWNvbnRhaW5lci1maWxsLWNvbG9yKHRyYW5zcGFyZW50KTtcbiAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbigkbWRjLXNlbGVjdC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15LCAwKTtcblxuICBib3JkZXI6IG5vbmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCxcbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsICRtZGMtc2VsZWN0LWxhYmVsLXBhZGRpbmcsICRtZGMtc2VsZWN0LWFycm93LXBhZGRpbmcpO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTVyZW07XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIG1kYy1zZWxlY3QtaGVscGVyLXRleHRfIHtcbiAgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAgIC5tZGMtc2VsZWN0ICsgJiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICB9XG5cbiAgICAubWRjLXNlbGVjdC0tb3V0bGluZWQgKyAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgIH1cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICB9XG5cbiAgLm1kYy1zZWxlY3QtLWZvY3VzZWQgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dDpub3QoLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnKSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3NoYXBlL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9zaGFwZS9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5cbkBtaXhpbiBtZGMtbm90Y2hlZC1vdXRsaW5lLWNvbG9yKCRjb2xvcikge1xuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJvcmRlci1jb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLW5vdGNoZWQtb3V0bGluZS1zdHJva2Utd2lkdGgoJHdpZHRoKSB7XG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGg7XG4gIH1cbn1cblxuQG1peGluIG1kYy1ub3RjaGVkLW91dGxpbmUtc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSkge1xuICAkcmFkaXVzOiBtZGMtc2hhcGUtcHJvcC12YWx1ZSgkcmFkaXVzKTtcblxuICBAaWYgKGxlbmd0aCgkcmFkaXVzKSA+IDEpIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxpbmUtbGVuZ3RoXG4gICAgQHdhcm4gXCJtZGMtbm90Y2hlZC1vdXRsaW5lLXNoYXBlLXJhZGl1cyBvbmx5IHN1cHBvcnRzIGEgc2luZ2xlIHJhZGl1czsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXRlcmlhbC1jb21wb25lbnRzL21hdGVyaWFsLWNvbXBvbmVudHMtd2ViL2lzc3Vlcy80MTQwXCI7XG4gIH1cblxuICAkcmFkaXVzOiBudGgoJHJhZGl1cywgMSk7XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcge1xuICAgIEBpbmNsdWRlIG1kYy1zaGFwZS1yYWRpdXMobWRjLXNoYXBlLW1hc2stcmFkaXVzKCRyYWRpdXMsIDEgMCAwIDEpLCAkcnRsLXJlZmxleGl2ZTogdHJ1ZSk7XG5cbiAgICBAaWYgKCRyYWRpdXMgPiAkbWRjLW5vdGNoZWQtb3V0bGluZS1sZWFkaW5nLXdpZHRoKSB7XG4gICAgICB3aWR0aDogJHJhZGl1cztcbiAgICB9XG4gIH1cblxuICBAaWYgKCRyYWRpdXMgPiAkbWRjLW5vdGNoZWQtb3V0bGluZS1sZWFkaW5nLXdpZHRoKSB7XG4gICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gI3skcmFkaXVzfSAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgQGluY2x1ZGUgbWRjLXNoYXBlLXJhZGl1cyhtZGMtc2hhcGUtbWFzay1yYWRpdXMoJHJhZGl1cywgMCAxIDEgMCksICRydGwtcmVmbGV4aXZlOiB0cnVlKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLW5vdGNoZWQtb3V0bGluZS1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbigkcG9zaXRpb25ZLCAkcG9zaXRpb25YOiAwJSwgJHNjYWxlOiAuNzUpIHtcbiAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uKCRwb3NpdGlvblkgKyAkbWRjLW5vdGNoZWQtb3V0bGluZS1sYWJlbC1hZGp1c3QsICRwb3NpdGlvblgsIDEpO1xuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBmb250LXNpemU6ICgkc2NhbGUgKiAxcmVtKTtcbiAgfVxuXG4gIC8vIFR3byBzZWxlY3RvcnMgdG8gZW5zdXJlIHdlIHNlbGVjdCB0aGUgYXBwcm9wcmlhdGUgY2xhc3Mgd2hlbiBhcHBsaWVkIGZyb20gdGhpcyBjb21wb25lbnQgb3IgYSBwYXJlbnQgY29tcG9uZW50LlxuICAmLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkLFxuICAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQge1xuICAgIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbigkcG9zaXRpb25ZLCAkcG9zaXRpb25YLCAkc2NhbGUpO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIi4uL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdHlwb2dyYXBoeS9taXhpbnNcIjtcblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgdGV4dC1maWVsZC1oZWxwZXItdGV4dFxuXG4ubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQge1xuICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeShjYXB0aW9uKTtcbiAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHktYmFzZWxpbmUtdG9wKDE2cHgpO1xuXG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogbWRjLXRleHQtZmllbGQtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgb3BhY2l0eTogMDtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC0tcGVyc2lzdGVudCB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIG9wYWNpdHk6IDE7XG4gIHdpbGwtY2hhbmdlOiBpbml0aWFsO1xufVxuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE5IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCIuLi9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90eXBvZ3JhcGh5L21peGluc1wiO1xuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSB0ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyXG5cbi5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlciB7XG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KGNhcHRpb24pO1xuICBAaW5jbHVkZSBtZGMtdHlwb2dyYXBoeS1iYXNlbGluZS10b3AoMTZweCk7XG4gIC8vIEtlZXAgZmxleCBpdGVtIGFsaWduIHRvIHRyYWlsaW5nIHNpZGUgb24gYWJzZW5jZSBvZiBoZWxwZXIgdGV4dC5cbiAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgYXV0byk7XG4gIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLWJveChwYWRkaW5nLCBsZWZ0LCAxNnB4KTtcblxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiO1xuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbixcbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tZGMtdGV4dC1maWVsZF9faWNvbjpub3QoW3RhYmluZGV4XSksXG4ubWRjLXRleHQtZmllbGRfX2ljb25bdGFiaW5kZXg9XCItMVwiXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9hbmltYXRpb24vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL2Zsb2F0aW5nLWxhYmVsL21kYy1mbG9hdGluZy1sYWJlbFwiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9saW5lLXJpcHBsZS9tZGMtbGluZS1yaXBwbGVcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvbm90Y2hlZC1vdXRsaW5lL21kYy1ub3RjaGVkLW91dGxpbmVcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcmlwcGxlL2NvbW1vblwiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9yaXBwbGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuL2hlbHBlci10ZXh0L21kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0XCI7XG5AaW1wb3J0IFwiLi9jaGFyYWN0ZXItY291bnRlci9tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlclwiO1xuQGltcG9ydCBcIi4vaWNvbi9tZGMtdGV4dC1maWVsZC1pY29uXCI7XG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSB0ZXh0LWZpZWxkXG5cbi5tZGMtdGV4dC1maWVsZCB7XG4gIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZTtcbiAgLy8gVGV4dCBGaWVsZCBpbnRlbnRpb25hbGx5IG9taXRzIHByZXNzIHJpcHBsZSwgc28gZWFjaCBzdGF0ZSBuZWVkcyB0byBiZSBzcGVjaWZpZWQgaW5kaXZpZHVhbGx5LlxuICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWluay1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaG92ZXItb3BhY2l0eShtZGMtc3RhdGVzLW9wYWNpdHkoJG1kYy10ZXh0LWZpZWxkLWluay1jb2xvciwgaG92ZXIpKTtcbiAgQGluY2x1ZGUgbWRjLXN0YXRlcy1mb2N1cy1vcGFjaXR5KG1kYy1zdGF0ZXMtb3BhY2l0eSgkbWRjLXRleHQtZmllbGQtaW5rLWNvbG9yLCBmb2N1cykpO1xuICBAaW5jbHVkZSBtZGMtcmlwcGxlLXJhZGl1cy1ib3VuZGVkO1xuXG4gIC8vIFNoYXBlXG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLXNoYXBlLXJhZGl1cyhzbWFsbCk7XG5cbiAgLy8gQ29sb3JzXG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWxhYmVsLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1sYWJlbCk7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWluay1jb2xvcigkbWRjLXRleHQtZmllbGQtaW5rLWNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtY2FyZXQtY29sb3IocHJpbWFyeSk7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWJvdHRvbS1saW5lLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1ib3R0b20tbGluZS1pZGxlKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaG92ZXItYm90dG9tLWxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWJvdHRvbS1saW5lLWhvdmVyKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtbGluZS1yaXBwbGUtY29sb3JfKHByaW1hcnkpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1mdWxsd2lkdGgtYm90dG9tLWxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWZ1bGx3aWR0aC1ib3R0b20tbGluZS1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LWNvbG9yKCRtZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWljb24tY29sb3IoJG1kYy10ZXh0LWZpZWxkLWljb24tY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1maWxsLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1iYWNrZ3JvdW5kKTtcblxuICAvLyBGbG9hdGluZyBMYWJlbFxuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1mbG9hdGluZy1sYWJlbF87XG5cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAkbWRjLXRleHQtZmllbGQtaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm0sIGNvbG9yO1xufVxuXG4ubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgQGluY2x1ZGUgbWRjLXR5cG9ncmFwaHkoc3VidGl0bGUxKTtcblxuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMjBweCAxNnB4IDZweDtcbiAgdHJhbnNpdGlvbjogbWRjLXRleHQtZmllbGQtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIHRyYW5zaXRpb246IG1kYy10ZXh0LWZpZWxkLXRyYW5zaXRpb24ob3BhY2l0eSwgJGR1cmF0aW9uOiA2N21zKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGNvbG9yOiAkbWRjLXRleHQtZmllbGQtcGxhY2Vob2xkZXItaW5rLWNvbG9yO1xuICB9XG5cbiAgLy8gT3ZlcnJpZGUgdGhlIHBsYWNlaG9sZGVyIHN0eWxlcyBpbiBJRSB3aXRoIGltcG9ydGFudCBydWxlIHRvIGltcHJvdmUgc3BlY2lmaWNpdHkuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby12ZW5kb3ItcHJlZml4XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJG1kYy10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWluay1jb2xvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gQWx3YXlzIHNob3cgcGxhY2Vob2xkZXIgZm9yIHRleHQgZmllbGRzIHRoYXQgaGFzIG5vIGxhYmVsIGFuZCBzaG93IG9ubHkgb24gZm9jdXNlZCBzdGF0ZSB3aGVuIGxhYmVsIGlzIHByZXNlbnQuXG4gIC5tZGMtdGV4dC1maWVsZC0tZnVsbHdpZHRoICY6OnBsYWNlaG9sZGVyLFxuICAubWRjLXRleHQtZmllbGQtLW5vLWxhYmVsICY6OnBsYWNlaG9sZGVyLFxuICAubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgJjo6cGxhY2Vob2xkZXIge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDQwbXM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTEwbXM7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgcmVkIG91dGxpbmUgb24gZmlyZWZveFxuICAmOmludmFsaWQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAvLyBLZWVwIENocm9tZSBhdXRvZmlsbCBiZWhpbmQgdGhlIG5vdGNoZWQgb3V0bGluZVxuICAmOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIHotaW5kZXg6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsbHkgY2VudGVyIGFsaWducyB0aGUgdGV4dCBpbnB1dCBwbGFjZWhvbGRlciBhbmQgdmFsdWUgZm9yIG9ubHkgZmlsbGVkIHZhcmlhbnQuXG4gIC5tZGMtdGV4dC1maWVsZC0tbm8tbGFiZWw6bm90KC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSAmIHtcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgfVxufVxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuLy8gTW92ZSBsYWJlbCB3aGVuIHRleHQtZmllbGQgZ2V0cyBhdXRvLWZpbGxlZCBpbiBDaHJvbWUuXG4ubWRjLXRleHQtZmllbGRfX2lucHV0Oi13ZWJraXQtYXV0b2ZpbGwgKyAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKC43NSk7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWZvY3VzZWRfO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRpc2FibGVkXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2Uge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZV87XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC13aXRoLWxlYWRpbmctaWNvbl87XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb25fO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2Uge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZS13aXRoLWxlYWRpbmctaWNvbl87XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtd2l0aC10cmFpbGluZy1pY29uXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtd2l0aC1ib3RoLWljb25zXztcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24sXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgYm90dG9tOiAxNnB4O1xuICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbn1cbi8vIHN0eWxlbGludC1lbmFibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZGVuc2Utd2l0aC1sZWFkaW5nLWljb25fO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2Uge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1kZW5zZS13aXRoLXRyYWlsaW5nLWljb25fO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZGVuc2Utd2l0aC1ib3RoLWljb25zXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWRlbnNlXztcbn1cblxuQGluY2x1ZGUgbWRjLXJlcXVpcmVkLXRleHQtZmllbGQtbGFiZWwtYXN0ZXJpc2tfIHtcbiAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgY29udGVudDogXCIqXCI7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC10ZXh0YXJlYV87XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZnVsbHdpZHRoIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZnVsbHdpZHRoXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1mdWxsd2lkdGgubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1mdWxsd2lkdGgtaW52YWxpZF87XG59XG5cbi8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIHRleHQtZmllbGQtaGVscGVyLXRleHRcbi8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgKyAmIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIH1cblxuICAubWRjLXRleHQtZmllbGQgKyAmIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUtcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRtZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZS1wYWRkaW5nO1xuICB9XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcblxuLy8gbWRjLWZvcm0tZmllbGQgdHdlYWtzIHRvIGFsaWduIHRleHQgZmllbGQgbGFiZWwgY29ycmVjdGx5XG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxuLm1kYy1mb3JtLWZpZWxkID4gLm1kYy10ZXh0LWZpZWxkICsgbGFiZWwge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxuXG4ubWRjLXRleHQtZmllbGQtLWZvY3VzZWQge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1mb2N1c2VkXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLXN0cm9rZS1jb2xvcihwcmltYXJ5KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaW52YWxpZF87XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC10ZXh0YXJlYS1pbnZhbGlkXztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWludmFsaWRfO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZGlzYWJsZWRfO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLWRpc2FibGVkXztcbn1cblxuQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWtleWZyYW1lcyhcbiAgdGV4dC1maWVsZC1kZW5zZSxcbiAgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWxhYmVsLXBvc2l0aW9uLXksXG4gIDAlLFxuICAkbWRjLXRleHQtZmllbGQtZGVuc2UtbGFiZWwtc2NhbGVcbik7XG5AaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2Uta2V5ZnJhbWVzKHRleHQtZmllbGQtb3V0bGluZWQsICRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15KTtcbkBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1rZXlmcmFtZXMoXG4gIHRleHQtZmllbGQtb3V0bGluZWQtZGVuc2UsXG4gICRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZS1sYWJlbC1wb3NpdGlvbi15LFxuICAwJSxcbiAgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWxhYmVsLXNjYWxlXG4pO1xuQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWtleWZyYW1lcyhcbiAgdGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24sXG4gICRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15LFxuICAkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teFxuKTtcbkBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1rZXlmcmFtZXMoXG4gIHRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLWRlbnNlLFxuICAkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2UtbGFiZWwtcG9zaXRpb24teSxcbiAgJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRlbnNlLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXgsXG4gICRtZGMtdGV4dC1maWVsZC1kZW5zZS1sYWJlbC1zY2FsZVxuKTtcbkBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1rZXlmcmFtZXMoXG4gIHRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLXJ0bCxcbiAgJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXksXG4gIC0kbWRjLXRleHQtZmllbGQtb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teFxuKTtcbkBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1rZXlmcmFtZXMoXG4gIHRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLWRlbnNlLXJ0bCxcbiAgJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRlbnNlLWxhYmVsLXBvc2l0aW9uLXksXG4gIC0kbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2Utd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teCxcbiAgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWxhYmVsLXNjYWxlXG4pO1xuQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWtleWZyYW1lcyh0ZXh0YXJlYSwgJG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLWxhYmVsLXBvc2l0aW9uLXksIDAlKTtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuJG1kYy10ZXh0LWZpZWxkLWVycm9yOiBlcnJvciAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1mdWxsd2lkdGgtYm90dG9tLWxpbmUtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4xMikgIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtZGlzYWJsZWQtYm9yZGVyOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMDYpICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLWRpc2FibGVkLWljb246IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zKSAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1ib3R0b20tbGluZS1ob3ZlcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjg3KSAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1ib3R0b20tbGluZS1pZGxlOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNDIpICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLWxhYmVsOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNikgIWRlZmF1bHQ7XG5cbiRtZGMtdGV4dC1maWVsZC1pbmstY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC44NykgIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC42KSAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1pY29uLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNTQpICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLWZvY3VzZWQtbGFiZWwtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUocHJpbWFyeSksIC44NykgIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtcGxhY2Vob2xkZXItaW5rLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNTQpICFkZWZhdWx0O1xuXG4kbWRjLXRleHQtZmllbGQtZGlzYWJsZWQtbGFiZWwtY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zNykgIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtZGlzYWJsZWQtaW5rLWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMzcpICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLWRpc2FibGVkLWhlbHBlci10ZXh0LWNvbG9yOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMzcpICFkZWZhdWx0O1xuXG4kbWRjLXRleHQtZmllbGQtYmFja2dyb3VuZDogbWl4KG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCBtZGMtdGhlbWUtcHJvcC12YWx1ZShzdXJmYWNlKSwgNCUpICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLWRpc2FibGVkLWJhY2tncm91bmQ6IG1peChtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgbWRjLXRoZW1lLXByb3AtdmFsdWUoc3VyZmFjZSksIDIlKSAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1zZWNvbmRhcnktdGV4dDogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjYpICFkZWZhdWx0O1xuXG4kbWRjLXRleHQtZmllbGQtb3V0bGluZWQtaWRsZS1ib3JkZXI6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zOCkgIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGlzYWJsZWQtYm9yZGVyOiByZ2JhKG1kYy10aGVtZS1wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMDYpICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWhvdmVyLWJvcmRlcjogcmdiYShtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjg3KSAhZGVmYXVsdDtcblxuJG1kYy10ZXh0YXJlYS1ib3JkZXI6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC43MykgIWRlZmF1bHQ7XG4kbWRjLXRleHRhcmVhLWJhY2tncm91bmQ6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUoc3VyZmFjZSksIDEpICFkZWZhdWx0O1xuJG1kYy10ZXh0YXJlYS1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIC4yNikgIWRlZmF1bHQ7XG4vLyBjYW5ub3QgYmUgdHJhbnNwYXJlbnQgYmVjYXVzZSBtdWx0aWxpbmUgdGV4dGFyZWEgaW5wdXRcbi8vIHdpbGwgbWFrZSB0ZXh0IHVucmVhZGFibGVcbiRtZGMtdGV4dGFyZWEtZGlzYWJsZWQtYmFja2dyb3VuZDogcmdiYSgyNDksIDI0OSwgMjQ5LCAxKSAhZGVmYXVsdDtcblxuJG1kYy10ZXh0LWZpZWxkLWhlaWdodDogNTZweCAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1sYWJlbC1wb3NpdGlvbi15OiA1MCUgIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtbGFiZWwtb2Zmc2V0OiAxNnB4ICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWxhYmVsLXBvc2l0aW9uLXk6IDcwJSAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1kZW5zZS1sYWJlbC1zY2FsZTogLjggIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teTogMTMwJSAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZS1sYWJlbC1wb3NpdGlvbi15OiAxMjAlICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXg6IDAgIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2Utd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teDogMjFweCAhZGVmYXVsdDtcbiRtZGMtdGV4dC1maWVsZC10ZXh0YXJlYS1sYWJlbC1wb3NpdGlvbi15OiAxMzAlICFkZWZhdWx0O1xuJG1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lLXBhZGRpbmc6IDE2cHggIWRlZmF1bHQ7XG4kbWRjLXRleHQtZmllbGQtaW5wdXQtcGFkZGluZzogMTZweCAhZGVmYXVsdDtcbi8vIE5vdGUgdGhhdCB0aGUgc2NhbGUgZmFjdG9yIGlzIGFuIGV5ZWJhbGxlZCBhcHByb3hpbWF0aW9uIG9mIHdoYXQncyBzaG93biBpbiB0aGUgbW9ja3MuXG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9mbG9hdGluZy1sYWJlbC9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvbGluZS1yaXBwbGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL25vdGNoZWQtb3V0bGluZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvbm90Y2hlZC1vdXRsaW5lL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvc2hhcGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3NoYXBlL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcImhlbHBlci10ZXh0L21peGluc1wiO1xuQGltcG9ydCBcImNoYXJhY3Rlci1jb3VudGVyL21peGluc1wiO1xuQGltcG9ydCBcImljb24vbWl4aW5zXCI7XG5AaW1wb3J0IFwiaWNvbi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4vZnVuY3Rpb25zXCI7XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlKSB7XG4gIEBpZiBsZW5ndGgoJHJhZGl1cykgPiAyIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHJhZGl1czogJyN7JHJhZGl1c30nIGNvbXBvbmVudCBkb2Vzbid0IGFsbG93IGN1c3RvbWl6aW5nIGFsbCBjb3JuZXJzXCI7XG4gIH1cblxuICAkbWFza2VkLXJhZGl1czogbWRjLXNoYXBlLW1hc2stcmFkaXVzKCRyYWRpdXMsIDEgMSAwIDApO1xuXG4gIEBpbmNsdWRlIG1kYy1zaGFwZS1yYWRpdXMoXG4gICAgbWRjLXNoYXBlLXJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXMoJG1kYy10ZXh0LWZpZWxkLWhlaWdodCwgJG1hc2tlZC1yYWRpdXMpLFxuICAgICRydGwtcmVmbGV4aXZlXG4gICk7XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC10ZXh0YXJlYS1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlKTtcbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWluay1jb2xvcigkY29sb3IpIHtcbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWluay1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZmlsbC1jb2xvcigkY29sb3IpIHtcbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWZpbGwtY29sb3JfKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLXN0cm9rZS1jb2xvcigkY29sb3IpIHtcbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLXN0cm9rZS1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtdGV4dGFyZWEtZmlsbC1jb2xvcigkY29sb3IpIHtcbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLWZpbGwtY29sb3JfKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWZ1bGx3aWR0aC1ib3R0b20tbGluZS1jb2xvcigkY29sb3IpIHtcbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWZ1bGx3aWR0aC1ib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtYm90dG9tLWxpbmUtY29sb3IoJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLW91dGxpbmVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkge1xuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWJvdHRvbS1saW5lLWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1ob3Zlci1ib3R0b20tbGluZS1jb2xvcigkY29sb3IpIHtcbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaG92ZXItYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWxpbmUtcmlwcGxlLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtbGluZS1yaXBwbGUtY29sb3JfKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWxhYmVsLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtbGFiZWwtaW5rLWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1vdXRsaW5lLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1jb2xvcigkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1ob3Zlci1vdXRsaW5lLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaG92ZXItb3V0bGluZS1jb2xvcl8oJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZm9jdXNlZC1vdXRsaW5lLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZm9jdXNlZC1vdXRsaW5lLWNvbG9yXygkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1jYXJldC1jb2xvcigkY29sb3IpIHtcbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY2FyZXQtY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuLy8gUHJpdmF0ZSBtaXhpbnNcblxuLy8gQmFzZWxpbmVcblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWRpc2FibGVkXyB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWJvdHRvbS1saW5lLWNvbG9yXygkbWRjLXRleHQtZmllbGQtZGlzYWJsZWQtYm9yZGVyKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaW5rLWNvbG9yXygkbWRjLXRleHQtZmllbGQtZGlzYWJsZWQtaW5rLWNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtbGFiZWwtaW5rLWNvbG9yXygkbWRjLXRleHQtZmllbGQtZGlzYWJsZWQtbGFiZWwtY29sb3IpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC1jb2xvcl8oJG1kYy10ZXh0LWZpZWxkLWRpc2FibGVkLWhlbHBlci10ZXh0LWNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXItY29sb3JfKCRtZGMtdGV4dC1maWVsZC1kaXNhYmxlZC1oZWxwZXItdGV4dC1jb2xvcik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWljb24tY29sb3JfKCRtZGMtdGV4dC1maWVsZC1kaXNhYmxlZC1pY29uKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZnVsbHdpZHRoLWJvdHRvbS1saW5lLWNvbG9yXygkbWRjLXRleHQtZmllbGQtZnVsbHdpZHRoLWJvdHRvbS1saW5lLWNvbG9yKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZmlsbC1jb2xvcl8oJG1kYy10ZXh0LWZpZWxkLWRpc2FibGVkLWJhY2tncm91bmQpO1xuXG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtaW52YWxpZF8ge1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1ib3R0b20tbGluZS1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1ob3Zlci1ib3R0b20tbGluZS1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1saW5lLXJpcHBsZS1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1sYWJlbC1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC12YWxpZGF0aW9uLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1lcnJvcik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWNhcmV0LWNvbG9yKCRtZGMtdGV4dC1maWVsZC1lcnJvcik7XG5cbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIG1kYy1yZXF1aXJlZC10ZXh0LWZpZWxkLWxhYmVsLWFzdGVyaXNrXyB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJG1kYy10ZXh0LWZpZWxkLWVycm9yKTtcbiAgICB9XG4gIH1cblxuICAmLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ge1xuICAgICY6bm90KC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24pIHtcbiAgICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWljb24tY29sb3IoJG1kYy10ZXh0LWZpZWxkLWVycm9yKTtcbiAgICB9XG5cbiAgICAmLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1pY29uLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1lcnJvciwgLyogc3R5bGVTZWNvbmRJY29uICovIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWZvY3VzZWRfIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtbGFiZWwtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWZvY3VzZWQtbGFiZWwtY29sb3IpO1xuXG4gIEBpbmNsdWRlIG1kYy1yZXF1aXJlZC10ZXh0LWZpZWxkLWxhYmVsLWFzdGVyaXNrXyB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRtZGMtdGV4dC1maWVsZC1mb2N1c2VkLWxhYmVsLWNvbG9yKTtcbiAgfVxuXG4gICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dDpub3QoLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LS12YWxpZGF0aW9uLW1zZykge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWRlbnNlXyB7XG4gIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbihcbiAgICAkbWRjLXRleHQtZmllbGQtZGVuc2UtbGFiZWwtcG9zaXRpb24teSxcbiAgICAwJSxcbiAgICAkbWRjLXRleHQtZmllbGQtZGVuc2UtbGFiZWwtc2NhbGVcbiAgKTtcbiAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWFuaW1hdGlvbih0ZXh0LWZpZWxkLWRlbnNlKTtcblxuICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBwYWRkaW5nOiAxMnB4IDEycHggMDtcbiAgfVxuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogLjgxM3JlbTtcblxuICAgICYtLWZsb2F0LWFib3ZlIHtcbiAgICAgIGZvbnQtc2l6ZTogLjgxM3JlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy1yZXF1aXJlZC10ZXh0LWZpZWxkLWxhYmVsLWFzdGVyaXNrXygpIHtcbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IHtcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlcixcbiAgICAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLW91dGxpbmUtc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSkge1xuICAkcmVzb2x2ZWQtcmFkaXVzOiBudGgobWRjLXNoYXBlLXJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXMoJG1kYy10ZXh0LWZpZWxkLWhlaWdodCwgbWRjLXNoYXBlLXByb3AtdmFsdWUoJHJhZGl1cykpLCAxKTtcblxuICBAaWYgKGxlbmd0aChtZGMtc2hhcGUtcHJvcC12YWx1ZSgkcmFkaXVzKSkgPiAxKSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1saW5lLWxlbmd0aFxuICAgIEB3YXJuIFwibWRjLXRleHQtZmllbGQtb3V0bGluZS1zaGFwZS1yYWRpdXMgb25seSBzdXBwb3J0cyBhIHNpbmdsZSByYWRpdXM7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWF0ZXJpYWwtY29tcG9uZW50cy9tYXRlcmlhbC1jb21wb25lbnRzLXdlYi9pc3N1ZXMvNDE0MFwiO1xuICB9XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICAgIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtc2hhcGUtcmFkaXVzKCRyZXNvbHZlZC1yYWRpdXMsICRydGwtcmVmbGV4aXZlKTtcbiAgfVxuXG4gIEBpZiAoJHJlc29sdmVkLXJhZGl1cyA+ICRtZGMtbm90Y2hlZC1vdXRsaW5lLWxlYWRpbmctd2lkdGgpIHtcbiAgICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsICRyZXNvbHZlZC1yYWRpdXMgKyAkbWRjLW5vdGNoZWQtb3V0bGluZS1wYWRkaW5nLCAwKTtcbiAgICB9XG5cbiAgICArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZSB7XG4gICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eShwYWRkaW5nLCAkcmVzb2x2ZWQtcmFkaXVzICsgJG1kYy1ub3RjaGVkLW91dGxpbmUtcGFkZGluZywgJHJlc29sdmVkLXJhZGl1cyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1mbG9hdGluZy1sYWJlbF8ge1xuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLXRleHQtZmllbGQtbGFiZWwtb2Zmc2V0KTtcblxuICAgIHRvcDogMThweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICYtLXRleHRhcmVhIHtcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRtZGMtbm90Y2hlZC1vdXRsaW5lLXBhZGRpbmcpO1xuICAgIH1cbiAgfVxuXG4gICYtLW91dGxpbmVkIHtcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRtZGMtbm90Y2hlZC1vdXRsaW5lLXBhZGRpbmcpO1xuXG4gICAgICB0b3A6IDE3cHg7XG4gICAgfVxuXG4gICAgJi0td2l0aC1sZWFkaW5nLWljb24ge1xuICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICgkbWRjLXRleHQtZmllbGQtaWNvbi1wYWRkaW5nIC0gJG1kYy1ub3RjaGVkLW91dGxpbmUtbGVhZGluZy13aWR0aCkpO1xuXG4gICAgICAgICYtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihcbiAgICAgICAgICAgIGxlZnQsXG4gICAgICAgICAgICAoJG1kYy10ZXh0LWZpZWxkLWljb24tcGFkZGluZyAtICRtZGMtbm90Y2hlZC1vdXRsaW5lLWxlYWRpbmctd2lkdGgpICsgJG1kYy1ub3RjaGVkLW91dGxpbmUtcGFkZGluZ1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT3V0bGluZWRcblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRpc2FibGVkXyB7XG4gIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRpc2FibGVkLWJvcmRlcik7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWZpbGwtY29sb3JfKHRyYW5zcGFyZW50KTtcblxuICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1pbnZhbGlkXyB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWVycm9yKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaG92ZXItb3V0bGluZS1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1mb2N1c2VkLW91dGxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWVycm9yKTtcbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWZvY3VzZWRfIHtcbiAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1zdHJva2Utd2lkdGgoMnB4KTtcbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRlbnNlXyB7XG4gIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24oXG4gICAgJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWRlbnNlLWxhYmVsLXBvc2l0aW9uLXksXG4gICAgMCUsXG4gICAgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWxhYmVsLXNjYWxlXG4gICk7XG4gIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24odGV4dC1maWVsZC1vdXRsaW5lZC1kZW5zZSk7XG5cbiAgaGVpZ2h0OiA0OHB4O1xuXG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIHBhZGRpbmc6IDEycHggMTJweCA3cHg7XG4gIH1cblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICB0b3A6IDE0cHg7XG4gIH1cblxuICAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAgIHRvcDogMTJweDtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtb3V0bGluZWRfIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtb3V0bGluZS1jb2xvcigkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtaWRsZS1ib3JkZXIpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1ob3Zlci1vdXRsaW5lLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1ob3Zlci1ib3JkZXIpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1mb2N1c2VkLW91dGxpbmUtY29sb3IocHJpbWFyeSk7XG4gIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24odGV4dC1maWVsZC1vdXRsaW5lZCk7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmUtc2hhcGUtcmFkaXVzKHNtYWxsKTtcbiAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbigkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSk7XG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcih0cmFuc3BhcmVudCk7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWZpbGwtY29sb3IodHJhbnNwYXJlbnQpO1xuXG4gIGJvcmRlcjogbm9uZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHggMTRweDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgLy8gRkYgYWRkcyB1bndhbnRlZCBib3JkZXIgaW4gSEMgbW9kZSBvbiB3aW5kb3dzLlxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWhvdmVyLW91dGxpbmUtY29sb3JfKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItY29tYmluYXRvci1zcGFjZS1hZnRlclxuICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfixcbiAgICAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiB7XG4gICAgICAubWRjLW5vdGNoZWQtb3V0bGluZSB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtY29sb3IoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWZvY3VzZWQtb3V0bGluZS1jb2xvcl8oJGNvbG9yKSB7XG4gICYubWRjLXRleHQtZmllbGQtLWZvY3VzZWQge1xuICAgIEBpbmNsdWRlIG1kYy1ub3RjaGVkLW91dGxpbmUtY29sb3IoJGNvbG9yKTtcbiAgfVxufVxuXG4vLyBJY29uc1xuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtd2l0aC1sZWFkaW5nLWljb25fIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaWNvbi1ob3Jpem9udGFsLXBvc2l0aW9uXyhcbiAgICBsZWZ0LFxuICAgICRtZGMtdGV4dC1maWVsZC1pY29uLXBvc2l0aW9uLFxuICAgICRtZGMtdGV4dC1maWVsZC1pY29uLXBhZGRpbmcsXG4gICAgJG1kYy10ZXh0LWZpZWxkLWlucHV0LXBhZGRpbmdcbiAgKTtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLXRleHQtZmllbGQtaWNvbi1wYWRkaW5nKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZGVuc2Utd2l0aC1sZWFkaW5nLWljb25fIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaWNvbi1ob3Jpem9udGFsLXBvc2l0aW9uXyhcbiAgICBsZWZ0LFxuICAgICRtZGMtdGV4dC1maWVsZC1kZW5zZS1pY29uLXBvc2l0aW9uLFxuICAgICRtZGMtdGV4dC1maWVsZC1kZW5zZS1pY29uLXBhZGRpbmcsXG4gICAgJG1kYy10ZXh0LWZpZWxkLWlucHV0LXBhZGRpbmdcbiAgKTtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbWRjLXRleHQtZmllbGQtZGVuc2UtaWNvbi1wYWRkaW5nKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb25fIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaWNvbi1ob3Jpem9udGFsLXBvc2l0aW9uXyhcbiAgICBsZWZ0LFxuICAgICRtZGMtdGV4dC1maWVsZC1pY29uLXBvc2l0aW9uLFxuICAgICRtZGMtdGV4dC1maWVsZC1pY29uLXBhZGRpbmcsXG4gICAgJG1kYy10ZXh0LWZpZWxkLWlucHV0LXBhZGRpbmdcbiAgKTtcbiAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbigkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSwgMzJweCk7XG4gIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24odGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24pO1xuXG4gIEBpbmNsdWRlIG1kYy1ydGwge1xuICAgIEBpbmNsdWRlIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1hbmltYXRpb24odGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24tcnRsKTtcbiAgfVxuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRtZGMtdGV4dC1maWVsZC1pY29uLXBhZGRpbmcgLSAkbWRjLW5vdGNoZWQtb3V0bGluZS1sZWFkaW5nLXdpZHRoKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2Utd2l0aC1sZWFkaW5nLWljb25fIHtcbiAgQGluY2x1ZGUgbWRjLW5vdGNoZWQtb3V0bGluZS1mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbihcbiAgICAkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2UtbGFiZWwtcG9zaXRpb24teSxcbiAgICAkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2Utd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teCxcbiAgICAkbWRjLXRleHQtZmllbGQtZGVuc2UtbGFiZWwtc2NhbGVcbiAgKTtcbiAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWFuaW1hdGlvbih0ZXh0LWZpZWxkLW91dGxpbmVkLWxlYWRpbmctaWNvbi1kZW5zZSk7XG5cbiAgQGluY2x1ZGUgbWRjLXJ0bCB7XG4gICAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWFuaW1hdGlvbih0ZXh0LWZpZWxkLW91dGxpbmVkLWxlYWRpbmctaWNvbi1kZW5zZS1ydGwpO1xuICB9XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWljb24tcGFkZGluZyAtICRtZGMtbm90Y2hlZC1vdXRsaW5lLWxlYWRpbmctd2lkdGgpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC13aXRoLXRyYWlsaW5nLWljb25fIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaWNvbi1ob3Jpem9udGFsLXBvc2l0aW9uXyhcbiAgICByaWdodCxcbiAgICAkbWRjLXRleHQtZmllbGQtdHJhaWxpbmctaWNvbi1wb3NpdGlvbixcbiAgICAkbWRjLXRleHQtZmllbGQtaWNvbi1wYWRkaW5nLFxuICAgICRtZGMtdGV4dC1maWVsZC1pbnB1dC1wYWRkaW5nXG4gICk7XG5cbiAgLy8gT3V0bGluZWQgdXNlcyAxNnB4IGZvciB0ZXh0IGFsaWdubWVudCB3aGVuIHVzaW5nIGEgdHJhaWxpbmcgaWNvbi5cbiAgJi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQge1xuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWljb24taG9yaXpvbnRhbC1wb3NpdGlvbl8oXG4gICAgICByaWdodCxcbiAgICAgICRtZGMtdGV4dC1maWVsZC1pY29uLXBvc2l0aW9uLFxuICAgICAgJG1kYy10ZXh0LWZpZWxkLWljb24tcGFkZGluZyxcbiAgICAgICRtZGMtdGV4dC1maWVsZC1pbnB1dC1wYWRkaW5nXG4gICAgKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZGVuc2Utd2l0aC10cmFpbGluZy1pY29uXyB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWljb24taG9yaXpvbnRhbC1wb3NpdGlvbl8oXG4gICAgcmlnaHQsXG4gICAgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWljb24tcG9zaXRpb24sXG4gICAgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWljb24tcGFkZGluZyxcbiAgICAkbWRjLXRleHQtZmllbGQtaW5wdXQtcGFkZGluZ1xuICApO1xufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtd2l0aC1ib3RoLWljb25zXyB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWljb24taG9yaXpvbnRhbC1wb3NpdGlvbi10d28taWNvbnNfKFxuICAgICRtZGMtdGV4dC1maWVsZC1pY29uLXBvc2l0aW9uLFxuICAgICRtZGMtdGV4dC1maWVsZC1pY29uLXBhZGRpbmcsXG4gICAgJG1kYy10ZXh0LWZpZWxkLXRyYWlsaW5nLWljb24tcG9zaXRpb24sXG4gICAgJG1kYy10ZXh0LWZpZWxkLWljb24tcGFkZGluZ1xuICApO1xufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZGVuc2Utd2l0aC1ib3RoLWljb25zXyB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWljb24taG9yaXpvbnRhbC1wb3NpdGlvbi10d28taWNvbnNfKFxuICAgICRtZGMtdGV4dC1maWVsZC1kZW5zZS1pY29uLXBvc2l0aW9uLFxuICAgICRtZGMtdGV4dC1maWVsZC1kZW5zZS1pY29uLXBhZGRpbmcsXG4gICAgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWljb24tcG9zaXRpb24sXG4gICAgJG1kYy10ZXh0LWZpZWxkLWRlbnNlLWljb24tcGFkZGluZ1xuICApO1xufVxuXG4vLyBGdWxsIFdpZHRoXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZnVsbHdpZHRoXyB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIHtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IodHJhbnNwYXJlbnQpO1xuICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWZpbGwtY29sb3IodHJhbnNwYXJlbnQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZnVsbHdpZHRoLWludmFsaWRfIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZnVsbHdpZHRoLWJvdHRvbS1saW5lLWNvbG9yKCRtZGMtdGV4dC1maWVsZC1lcnJvcik7XG59XG5cbi8vIFRleHRhcmVhXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtdGV4dGFyZWEtZGlzYWJsZWRfIHtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtb3V0bGluZWQtZGlzYWJsZWRfO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhLWZpbGwtY29sb3JfKCRtZGMtdGV4dGFyZWEtZGlzYWJsZWQtYmFja2dyb3VuZCk7XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC10ZXh0YXJlYS1pbnZhbGlkXyB7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWVycm9yKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaG92ZXItb3V0bGluZS1jb2xvcigkbWRjLXRleHQtZmllbGQtZXJyb3IpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1mb2N1c2VkLW91dGxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLWVycm9yKTtcbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLXRleHRhcmVhXyB7XG4gIC8vIE5vdGU6IFRoZSByZWZhY3RvciB0byBhZGQgdGhlIGZpbGxlZCB0ZXh0YXJlYSBzdHlsZSB3aWxsIHJlc3VsdCBpbiBhIGxvdCBvZiB0aGUgc3BlY2lmaWNpdHkgaXNzdWVzIHRoYXQgdGhlXG4gIC8vIHRleHRhcmVhIGhhcyBiZWluZyByZXNvbHZlZCBieSB1c2luZyB0aGUgc2FtZSAtLW91dGxpbmVkIHZhcmlhbnQgY2xhc3MgYXMgdGhlIHRleHQgZmllbGQuXG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLW91dGxpbmUtY29sb3IoJG1kYy10ZXh0LWZpZWxkLW91dGxpbmVkLWlkbGUtYm9yZGVyKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaG92ZXItb3V0bGluZS1jb2xvcigkbWRjLXRleHQtZmllbGQtb3V0bGluZWQtaG92ZXItYm9yZGVyKTtcbiAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZm9jdXNlZC1vdXRsaW5lLWNvbG9yKHByaW1hcnkpO1xuICBAaW5jbHVkZSBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtYW5pbWF0aW9uKHRleHQtZmllbGQtb3V0bGluZWQpO1xuICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1vdXRsaW5lLXNoYXBlLXJhZGl1cyhzbWFsbCk7XG4gIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcih0cmFuc3BhcmVudCk7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWZpbGwtY29sb3IodHJhbnNwYXJlbnQpO1xuICBAaW5jbHVkZSBtZGMtbm90Y2hlZC1vdXRsaW5lLWZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uKCRtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15LCAwJSk7XG4gIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyLXBvc2l0aW9uKDE2cHgsIDEzcHgpO1xuXG4gICRwYWRkaW5nLWluc2V0OiAxNnB4O1xuXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogJHBhZGRpbmctaW5zZXQvMiAxcHggMXB4IDA7XG4gICAgcGFkZGluZzogMCAkcGFkZGluZy1pbnNldCAkcGFkZGluZy1pbnNldDtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cblxuICAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIgKyAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4OyAvLyBMZWF2ZXMgc3BhY2UgZm9yIGNoYXJhY3RlciBjb3VudGVyIGlmIGl0IGV4aXN0cy5cbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIHRvcDogMTdweDtcbiAgICBib3R0b206IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIHtcbiAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1vdXRsaW5lZC1mb2N1c2VkXztcbiAgfVxufVxuXG4vLyBDdXN0b21pemF0aW9uXG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1pbmstY29sb3JfKCRjb2xvcikge1xuICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtZmlsbC1jb2xvcl8oJGNvbG9yKSB7XG4gIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC10ZXh0YXJlYS1zdHJva2UtY29sb3JfKCRjb2xvcikge1xuICBAaW5jbHVkZSBtZGMtbm90Y2hlZC1vdXRsaW5lLWNvbG9yKCRjb2xvcik7XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC10ZXh0YXJlYS1maWxsLWNvbG9yXygkY29sb3IpIHtcbiAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWZ1bGx3aWR0aC1ib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yKSB7XG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChib3JkZXItYm90dG9tLWNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtdGV4dC1maWVsZC1ib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yKSB7XG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIEBpbmNsdWRlIG1kYy10aGVtZS1wcm9wKGJvcmRlci1ib3R0b20tY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWhvdmVyLWJvdHRvbS1saW5lLWNvbG9yXygkY29sb3IpIHtcbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtbGluZS1yaXBwbGUtY29sb3JfKCRjb2xvcikge1xuICAubWRjLWxpbmUtcmlwcGxlIHtcbiAgICBAaW5jbHVkZSBtZGMtbGluZS1yaXBwbGUtY29sb3IoJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtbGFiZWwtaW5rLWNvbG9yXygkY29sb3IpIHtcbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgbWRjLWZsb2F0aW5nLWxhYmVsLWluay1jb2xvcigkY29sb3IpO1xuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTkgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCI7XG5cbi8vIFB1YmxpYyBtaXhpbnNcblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyLWNvbG9yKCRjb2xvcikge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXItY29sb3JfKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyLXBvc2l0aW9uKCR4T2Zmc2V0LCAkeU9mZnNldCkge1xuICAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIge1xuICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLXBvc2l0aW9uKHJpZ2h0LCAkeE9mZnNldCk7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAkeU9mZnNldDtcbiAgfVxufVxuXG4vLyBQcml2YXRlIG1peGluc1xuXG5AbWl4aW4gbWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXItY29sb3JfKCRjb2xvcikge1xuICAvLyBDaGFyYWN0ZXIgY291bnRlciBpcyBwbGFjZWQgaW5zaWRlIG1kYy10ZXh0ZmllbGQgZWxlbWVudCAoZm9yIHRleHRhcmVhIHZhcmlhbnQgKSBvclxuICAvLyBpbnNpZGUgaGVscGVyIGxpbmUgd2hpY2ggaXMgc2libGluZyB0byBtZGMtdGV4dGZpZWxkLlxuICAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIsXG4gICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIC5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlciB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRjb2xvcik7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL3ZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwiQG1hdGVyaWFsL2NoZWNrYm94L21kYy1jaGVja2JveFwiO1xyXG5AaW1wb3J0IFwiQG1hdGVyaWFsL2Zvcm0tZmllbGQvbWRjLWZvcm0tZmllbGRcIjtcclxuQGltcG9ydCBcIkBtYXRlcmlhbC9pY29uLWJ1dHRvbi9tZGMtaWNvbi1idXR0b25cIjtcclxuQGltcG9ydCBcIkBtYXRlcmlhbC9yYWRpby9tZGMtcmFkaW9cIjtcclxuQGltcG9ydCBcIkBtYXRlcmlhbC9zZWxlY3QvbWRjLXNlbGVjdFwiO1xyXG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RleHRmaWVsZC9tZGMtdGV4dC1maWVsZFwiO1xyXG5cclxuXHJcbi8qKlxyXG4gICBTdHlsZSBDb2xvciBGb2N1cyBkZXMgSW5wdXRcclxuICovXHJcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLFxyXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSxcclxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQge1xyXG5cclxuICAgLm1kYy1mbG9hdGluZy1sYWJlbCxcclxuICAgLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlciB7XHJcbiAgICAgIGNvbG9yOiByZ2JhKCRjb2xvcl9zZWNvbmRhaXJlLCAwLjg3KSAhaW1wb3J0YW50O1xyXG4gICB9XHJcblxyXG4gICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcclxuICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxyXG4gICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcl9zZWNvbmRhaXJlO1xyXG4gICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gICBTdHlsZSBUZXh0RmllbGRcclxuICovXHJcbi5tZGMtdGV4dC1maWVsZCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcclxuICAgY2FyZXQtY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XHJcbiAgIHJlc2l6ZTogdmVydGljYWw7XHJcbiAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xyXG4gICBwYWRkaW5nOiAxMHB4IDI1cHggMTZweDtcclxufVxyXG5cclxuLyoqXHJcbiAgIFN0eWxlIFNlbGVjdFxyXG4gKi9cclxuLm1kYy1zZWxlY3Qge1xyXG4gICAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wge1xyXG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICAgfVxyXG4gICBpLm1hdGVyaWFsLWljb25zIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLW91dDtcclxuICAgfVxyXG5cclxuICAgJi5tZGMtc2VsZWN0LS1mb2N1c2VkIHtcclxuXHJcbiAgICAgIGkubWF0ZXJpYWwtaWNvbnMge1xyXG4gICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgY29sb3I6ICRjb2xvcl9zZWNvbmRhaXJlO1xyXG4gICAgICB9XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gICBGb3JtIEdsb2JhbFxyXG4gKi9cclxuLm1kYy10ZXh0LWZpZWxkLFxyXG4ubWRjLXNlbGVjdCB7XHJcbiAgIHdpZHRoOiAxMDAlO1xyXG4gICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4uZm9ybSB7XHJcbiAgIEBleHRlbmQgLmZsZXgtY29sdW1uO1xyXG5cclxuICAgaDMge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICB9XHJcblxyXG4gICAmX2lucHV0LWdyb3VwIHtcclxuICAgICAgQGV4dGVuZCAuZmxleC1yb3c7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYShtb2JpbGVvbmx5KSB7XHJcbiAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYgPiBkaXY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblxyXG4gICAgICAgICBAaW5jbHVkZSBtZWRpYShtb2JpbGVvbmx5KSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYgPiBkaXY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cclxuICAgICAgICAgQGluY2x1ZGUgbWVkaWEobW9iaWxlb25seSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYgPiBkaXY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblxyXG4gICAgICAgICBAaW5jbHVkZSBtZWRpYShtb2JpbGVvbmx5KSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgfVxyXG5cclxuICAgJl9jaGVja2JveC1ncm91cCB7XHJcbiAgICAgIEBleHRlbmQgLm1kYy1mb3JtLWZpZWxkO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgICAgbGFiZWwge1xyXG4gICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgIH1cclxuICAgfVxyXG5cclxuICAgJl9yYWRpby1ncm91cCB7XHJcbiAgICAgIEBleHRlbmQgLmZsZXgtY29sdW1uO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcclxuICAgfVxyXG5cclxuICAgJl9ub3RpZiB7XHJcbiAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgIG1hcmdpbjogMTVweCAwO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgIGJvcmRlcjogc29saWQgMXB4O1xyXG4gICAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcclxuICAgICAgZm9udC1zaXplOiAwLjllbTtcclxuXHJcbiAgICAgICYuZm9ybV9ub3RpZl92YWxpZCB7XHJcbiAgICAgICAgIGNvbG9yOiAjMTU1NzI0O1xyXG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRlZGRhO1xyXG4gICAgICAgICBib3JkZXItY29sb3I6ICNjM2U2Y2I7XHJcbiAgICAgIH1cclxuICAgICAgJi5mb3JtX25vdGlmX2Vycm9yIHtcclxuICAgICAgICAgY29sb3I6ICNhYjJlNDY7XHJcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWRkZGQ7XHJcbiAgICAgICAgIGJvcmRlci1jb2xvcjogI2Y1ZGRkZDtcclxuICAgICAgfVxyXG4gICAgICAmLmZvcm1fbm90aWZfd2FybmluZyB7XHJcbiAgICAgICAgIGNvbG9yOiAjODU2NDA0O1xyXG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2NkO1xyXG4gICAgICAgICBib3JkZXItY29sb3I6ICNmZmVlYmE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHVsIHtcclxuICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICB9XHJcblxyXG4gICAvLyBDaG9peCBzaW1wbGUgY29tbWUgbGEgdGFpbGxlICgxZXIgY2hvaXggZCd1biBwcm9kdWl0IHNpbXBsZSlcclxuICAgLmNob2ljZS1zaW1wbGUge1xyXG4gICAgICBAZXh0ZW5kIC5mbGV4LWNlbnRlci1jZW50ZXI7XHJcbiAgICAgIG1hcmdpbjogMTVweCAwO1xyXG5cclxuICAgICAgaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsYWJlbCB7XHJcbiAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICBwYWRkaW5nOiAxM3B4IDE3cHg7XHJcbiAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9wcmltYWlyZTtcclxuICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgY29sb3I6ICRjb2xvcl9wcmltYWlyZTtcclxuICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yX3NlY29uZGFpcmUsIDAuMSk7XHJcbiAgICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgIGxhYmVsOm50aC1jaGlsZCgyKXtcclxuICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xyXG4gICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxhYmVsOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xyXG4gICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWwge1xyXG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfcHJpbWFpcmU7XHJcbiAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEobW9iaWxlb25seSkge1xyXG5cclxuICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgfVxyXG4gICAgICAgICBcclxuICAgICAgfVxyXG4gICB9XHJcbn1cclxuXHJcbiIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2xnJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9sZy50dGY/MjJ0MTltXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9sZy53b2ZmPzIydDE5bVwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9sZy5zdmc/MjJ0MTltI2xnXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubGctaWNvbiB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnbGcnICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBuZXZlcjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5sZy1hY3Rpb25zIC5sZy1uZXh0LCAubGctYWN0aW9ucyAubGctcHJldiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6ICM5OTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIHBhZGRpbmc6IDhweCAxMHB4IDlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgei1pbmRleDogMTA4MDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmxnLWFjdGlvbnMgLmxnLW5leHQuZGlzYWJsZWQsIC5sZy1hY3Rpb25zIC5sZy1wcmV2LmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLmxnLWFjdGlvbnMgLmxnLW5leHQ6aG92ZXIsIC5sZy1hY3Rpb25zIC5sZy1wcmV2OmhvdmVyIHtcbiAgY29sb3I6ICNGRkY7XG59XG5cbi5sZy1hY3Rpb25zIC5sZy1uZXh0IHtcbiAgcmlnaHQ6IDIwcHg7XG59XG5cbi5sZy1hY3Rpb25zIC5sZy1uZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDk1XCI7XG59XG5cbi5sZy1hY3Rpb25zIC5sZy1wcmV2IHtcbiAgbGVmdDogMjBweDtcbn1cblxuLmxnLWFjdGlvbnMgLmxnLXByZXY6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTA5NFwiO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGctcmlnaHQtZW5kIHtcbiAgMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBsZWZ0OiAtMzBweDtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBsZy1yaWdodC1lbmQge1xuICAwJSB7XG4gICAgbGVmdDogMDtcbiAgfVxuICA1MCUge1xuICAgIGxlZnQ6IC0zMHB4O1xuICB9XG4gIDEwMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuQC1tcy1rZXlmcmFtZXMgbGctcmlnaHQtZW5kIHtcbiAgMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBsZWZ0OiAtMzBweDtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbGctcmlnaHQtZW5kIHtcbiAgMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBsZWZ0OiAtMzBweDtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsZy1sZWZ0LWVuZCB7XG4gIDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgbGVmdDogMzBweDtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBsZy1sZWZ0LWVuZCB7XG4gIDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgbGVmdDogMzBweDtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbkAtbXMta2V5ZnJhbWVzIGxnLWxlZnQtZW5kIHtcbiAgMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBsZWZ0OiAzMHB4O1xuICB9XG4gIDEwMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsZy1sZWZ0LWVuZCB7XG4gIDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgbGVmdDogMzBweDtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbi5sZy1vdXRlci5sZy1yaWdodC1lbmQgLmxnLW9iamVjdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBsZy1yaWdodC1lbmQgMC4zcztcbiAgLW8tYW5pbWF0aW9uOiBsZy1yaWdodC1lbmQgMC4zcztcbiAgYW5pbWF0aW9uOiBsZy1yaWdodC1lbmQgMC4zcztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubGctb3V0ZXIubGctbGVmdC1lbmQgLmxnLW9iamVjdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBsZy1sZWZ0LWVuZCAwLjNzO1xuICAtby1hbmltYXRpb246IGxnLWxlZnQtZW5kIDAuM3M7XG4gIGFuaW1hdGlvbjogbGctbGVmdC1lbmQgMC4zcztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubGctdG9vbGJhciB7XG4gIHotaW5kZXg6IDEwODI7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbn1cblxuLmxnLXRvb2xiYXIgLmxnLWljb24ge1xuICBjb2xvcjogIzk5OTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgaGVpZ2h0OiA0N3B4O1xuICBsaW5lLWhlaWdodDogMjdweDtcbiAgcGFkZGluZzogMTBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA1MHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgb3V0bGluZTogbWVkaXVtIG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjogY29sb3IgMC4ycyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgbGluZWFyO1xufVxuXG4ubGctdG9vbGJhciAubGctaWNvbjpob3ZlciB7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG4ubGctdG9vbGJhciAubGctY2xvc2U6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTA3MFwiO1xufVxuXG4ubGctdG9vbGJhciAubGctZG93bmxvYWQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTBmMlwiO1xufVxuXG4ubGctc3ViLWh0bWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICBib3R0b206IDA7XG4gIGNvbG9yOiAjRUVFO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDEwcHggNDBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAxMDgwO1xufVxuXG4ubGctc3ViLWh0bWwgaDQge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5sZy1zdWItaHRtbCBwIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW46IDVweCAwIDA7XG59XG5cbiNsZy1jb3VudGVyIHtcbiAgY29sb3I6ICM5OTk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAxMnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubGctdG9vbGJhciwgLmxnLXByZXYsIC5sZy1uZXh0IHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjM1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4zNXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBjb2xvciAwLjJzIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjM1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4zNXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBjb2xvciAwLjJzIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjM1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIGNvbG9yIDAuMnMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMzVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgY29sb3IgMC4ycyBsaW5lYXI7XG59XG5cbi5sZy1oaWRlLWl0ZW1zIC5sZy1wcmV2IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG59XG5cbi5sZy1oaWRlLWl0ZW1zIC5sZy1uZXh0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xufVxuXG4ubGctaGlkZS1pdGVtcyAubGctdG9vbGJhciB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xufVxuXG5ib2R5Om5vdCgubGctZnJvbS1oYXNoKSAubGctb3V0ZXIubGctc3RhcnQtem9vbSAubGctb2JqZWN0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC41LCAwLjUsIDAuNSk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLjUsIDAuNSwgMC41KTtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpICFpbXBvcnRhbnQ7XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAhaW1wb3J0YW50O1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAhaW1wb3J0YW50O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG59XG5cbmJvZHk6bm90KC5sZy1mcm9tLWhhc2gpIC5sZy1vdXRlci5sZy1zdGFydC16b29tIC5sZy1pdGVtLmxnLWNvbXBsZXRlIC5sZy1vYmplY3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubGctb3V0ZXIgLmxnLXRodW1iLW91dGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBEMEEwQTtcbiAgYm90dG9tOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDgwO1xuICBtYXgtaGVpZ2h0OiAzNTBweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcztcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHM7XG4gIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHM7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHM7XG59XG5cbi5sZy1vdXRlciAubGctdGh1bWItb3V0ZXIubGctZ3JhYiAubGctdGh1bWItaXRlbSB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IC1tb3otZ3JhYjtcbiAgY3Vyc29yOiAtby1ncmFiO1xuICBjdXJzb3I6IC1tcy1ncmFiO1xuICBjdXJzb3I6IGdyYWI7XG59XG5cbi5sZy1vdXRlciAubGctdGh1bWItb3V0ZXIubGctZ3JhYmJpbmcgLmxnLXRodW1iLWl0ZW0ge1xuICBjdXJzb3I6IG1vdmU7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiAtbW96LWdyYWJiaW5nO1xuICBjdXJzb3I6IC1vLWdyYWJiaW5nO1xuICBjdXJzb3I6IC1tcy1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZztcbn1cblxuLmxnLW91dGVyIC5sZy10aHVtYi1vdXRlci5sZy1kcmFnZ2luZyAubGctdGh1bWIge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7XG59XG5cbi5sZy1vdXRlci5sZy10aHVtYi1vcGVuIC5sZy10aHVtYi1vdXRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCUsIDApO1xufVxuXG4ubGctb3V0ZXIgLmxnLXRodW1iIHtcbiAgcGFkZGluZzogMTBweCAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IC01cHg7XG59XG5cbi5sZy1vdXRlciAubGctdGh1bWItaXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogbGVmdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjRkZGO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAubGctb3V0ZXIgLmxnLXRodW1iLWl0ZW0ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2U7XG4gICAgLW8tdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2U7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2U7XG4gIH1cbn1cblxuLmxnLW91dGVyIC5sZy10aHVtYi1pdGVtLmFjdGl2ZSwgLmxnLW91dGVyIC5sZy10aHVtYi1pdGVtOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTkwNzA3O1xufVxuXG4ubGctb3V0ZXIgLmxnLXRodW1iLWl0ZW0gaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5sZy1vdXRlci5sZy1oYXMtdGh1bWIgLmxnLWl0ZW0ge1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG59XG5cbi5sZy1vdXRlci5sZy1jYW4tdG9nZ2xlIC5sZy1pdGVtIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5sZy1vdXRlci5sZy1wdWxsLWNhcHRpb24tdXAgLmxnLXN1Yi1odG1sIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3R0b20gMC4yNXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYm90dG9tIDAuMjVzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjI1cyBlYXNlO1xufVxuXG4ubGctb3V0ZXIubGctcHVsbC1jYXB0aW9uLXVwLmxnLXRodW1iLW9wZW4gLmxnLXN1Yi1odG1sIHtcbiAgYm90dG9tOiAxMDBweDtcbn1cblxuLmxnLW91dGVyIC5sZy10b2dnbGUtdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEQwQTBBO1xuICBib3JkZXItcmFkaXVzOiAycHggMnB4IDAgMDtcbiAgY29sb3I6ICM5OTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBoZWlnaHQ6IDM5cHg7XG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICBwYWRkaW5nOiA1cHggMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IC0zOXB4O1xuICB3aWR0aDogNTBweDtcbiAgb3V0bGluZTogbWVkaXVtIG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLmxnLW91dGVyIC5sZy10b2dnbGUtdGh1bWI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTFmZlwiO1xufVxuXG4ubGctb3V0ZXIgLmxnLXRvZ2dsZS10aHVtYjpob3ZlciB7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG4ubGctb3V0ZXIgLmxnLXZpZGVvLWNvbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTE0MHB4O1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCA1cHg7XG59XG5cbi5sZy1vdXRlciAubGctdmlkZW8ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sZy1vdXRlciAubGctdmlkZW8gLmxnLW9iamVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4ubGctb3V0ZXIgLmxnLXZpZGVvIC5sZy12aWRlby1wbGF5IHtcbiAgd2lkdGg6IDg0cHg7XG4gIGhlaWdodDogNTlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTQycHg7XG4gIG1hcmdpbi10b3A6IC0zMHB4O1xuICB6LWluZGV4OiAxMDgwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5sZy1vdXRlciAubGctaGFzLXZpbWVvIC5sZy12aWRlby1wbGF5IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3ZpbWVvLXBsYXkucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgMCAwIHRyYW5zcGFyZW50O1xufVxuXG4ubGctb3V0ZXIgLmxnLWhhcy12aW1lbzpob3ZlciAubGctdmlkZW8tcGxheSB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy92aW1lby1wbGF5LnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgLTU4cHggdHJhbnNwYXJlbnQ7XG59XG5cbi5sZy1vdXRlciAubGctaGFzLWh0bWw1IC5sZy12aWRlby1wbGF5IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1nL3ZpZGVvLXBsYXkucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgMCAwO1xuICBoZWlnaHQ6IDY0cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMzJweDtcbiAgbWFyZ2luLXRvcDogLTMycHg7XG4gIHdpZHRoOiA2NHB4O1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbi5sZy1vdXRlciAubGctaGFzLWh0bWw1OmhvdmVyIC5sZy12aWRlby1wbGF5IHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmxnLW91dGVyIC5sZy1oYXMteW91dHViZSAubGctdmlkZW8tcGxheSB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy95b3V0dWJlLXBsYXkucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgMCAwIHRyYW5zcGFyZW50O1xufVxuXG4ubGctb3V0ZXIgLmxnLWhhcy15b3V0dWJlOmhvdmVyIC5sZy12aWRlby1wbGF5IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3lvdXR1YmUtcGxheS5wbmdcIikgbm8tcmVwZWF0IHNjcm9sbCAwIC02MHB4IHRyYW5zcGFyZW50O1xufVxuXG4ubGctb3V0ZXIgLmxnLXZpZGVvLW9iamVjdCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmxnLW91dGVyIC5sZy1oYXMtdmlkZW8gLmxnLXZpZGVvLW9iamVjdCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmxnLW91dGVyIC5sZy1oYXMtdmlkZW8ubGctdmlkZW8tcGxheWluZyAubGctb2JqZWN0LCAubGctb3V0ZXIgLmxnLWhhcy12aWRlby5sZy12aWRlby1wbGF5aW5nIC5sZy12aWRlby1wbGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmxnLW91dGVyIC5sZy1oYXMtdmlkZW8ubGctdmlkZW8tcGxheWluZyAubGctdmlkZW8tb2JqZWN0IHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmxnLXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gIGhlaWdodDogNXB4O1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwODM7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjA4cyBlYXNlIDBzO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4wOHMgZWFzZSAwcztcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjA4cyBlYXNlIDBzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMDhzIGVhc2UgMHM7XG59XG5cbi5sZy1wcm9ncmVzcy1iYXIgLmxnLXByb2dyZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E5MDcwNztcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiAwO1xufVxuXG4ubGctcHJvZ3Jlc3MtYmFyLmxnLXN0YXJ0IC5sZy1wcm9ncmVzcyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubGctc2hvdy1hdXRvcGxheSAubGctcHJvZ3Jlc3MtYmFyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmxnLWF1dG9wbGF5LWJ1dHRvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFkXCI7XG59XG5cbi5sZy1zaG93LWF1dG9wbGF5IC5sZy1hdXRvcGxheS1idXR0b246YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTAxYVwiO1xufVxuXG4ubGctb3V0ZXIubGctY3NzMy5sZy16b29tLWRyYWdnaW5nIC5sZy1pdGVtLmxnLWNvbXBsZXRlLmxnLXpvb21hYmxlIC5sZy1pbWctd3JhcCwgLmxnLW91dGVyLmxnLWNzczMubGctem9vbS1kcmFnZ2luZyAubGctaXRlbS5sZy1jb21wbGV0ZS5sZy16b29tYWJsZSAubGctaW1hZ2Uge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbn1cblxuLmxnLW91dGVyLmxnLXVzZS10cmFuc2l0aW9uLWZvci16b29tIC5sZy1pdGVtLmxnLWNvbXBsZXRlLmxnLXpvb21hYmxlIC5sZy1pbWctd3JhcCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHM7XG4gIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzO1xufVxuXG4ubGctb3V0ZXIubGctdXNlLWxlZnQtZm9yLXpvb20gLmxnLWl0ZW0ubGctY29tcGxldGUubGctem9vbWFibGUgLmxnLWltZy13cmFwIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0IDAuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCB0b3AgMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogbGVmdCAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgdG9wIDAuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzO1xuICAtby10cmFuc2l0aW9uOiBsZWZ0IDAuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCB0b3AgMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHM7XG4gIHRyYW5zaXRpb246IGxlZnQgMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIHRvcCAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcztcbn1cblxuLmxnLW91dGVyIC5sZy1pdGVtLmxnLWNvbXBsZXRlLmxnLXpvb21hYmxlIC5sZy1pbWctd3JhcCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5sZy1vdXRlciAubGctaXRlbS5sZy1jb21wbGV0ZS5sZy16b29tYWJsZSAubGctaW1hZ2Uge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMTVzICFpbXBvcnRhbnQ7XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4xNXMgIWltcG9ydGFudDtcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMTVzICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjE1cyAhaW1wb3J0YW50O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbiNsZy16b29tLWluOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGUzMTFcIjtcbn1cblxuI2xnLWFjdHVhbC1zaXplIHtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4jbGctYWN0dWFsLXNpemU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTAzM1wiO1xufVxuXG4jbGctem9vbS1vdXQge1xuICBvcGFjaXR5OiAwLjU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4jbGctem9vbS1vdXQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTMxMlwiO1xufVxuXG4ubGctem9vbWVkICNsZy16b29tLW91dCB7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ubGctb3V0ZXIgLmxnLXBhZ2VyLW91dGVyIHtcbiAgYm90dG9tOiA2MHB4O1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwODA7XG4gIGhlaWdodDogMTBweDtcbn1cblxuLmxnLW91dGVyIC5sZy1wYWdlci1vdXRlci5sZy1wYWdlci1ob3ZlciAubGctcGFnZXItY29udCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ubGctb3V0ZXIgLmxnLXBhZ2VyLWNvbnQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW46IDAgNXB4O1xufVxuXG4ubGctb3V0ZXIgLmxnLXBhZ2VyLWNvbnQ6aG92ZXIgLmxnLXBhZ2VyLXRodW1iLWNvbnQge1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5sZy1vdXRlciAubGctcGFnZXItY29udC5sZy1wYWdlci1hY3RpdmUgLmxnLXBhZ2VyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHdoaXRlIGluc2V0O1xufVxuXG4ubGctb3V0ZXIgLmxnLXBhZ2VyLXRodW1iLWNvbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogI0ZGRjtcbiAgYm90dG9tOiAxMDAlO1xuICBoZWlnaHQ6IDgzcHg7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtNjBweDtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMjBweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSAwcywgLXdlYmtpdC10cmFuc2Zvcm0gMC4xNXMgZWFzZSAwcztcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UgMHMsIC1tb3otdHJhbnNmb3JtIDAuMTVzIGVhc2UgMHM7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSAwcywgLW8tdHJhbnNmb3JtIDAuMTVzIGVhc2UgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSAwcywgdHJhbnNmb3JtIDAuMTVzIGVhc2UgMHM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG59XG5cbi5sZy1vdXRlciAubGctcGFnZXItdGh1bWItY29udCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubGctb3V0ZXIgLmxnLXBhZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDhweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgaW5zZXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEycHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzIGVhc2UgMHM7XG4gIC1vLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBlYXNlIDBzO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZSAwcztcbiAgd2lkdGg6IDEycHg7XG59XG5cbi5sZy1vdXRlciAubGctcGFnZXI6aG92ZXIsIC5sZy1vdXRlciAubGctcGFnZXI6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCA4cHggd2hpdGUgaW5zZXQ7XG59XG5cbi5sZy1vdXRlciAubGctY2FyZXQge1xuICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAxMHB4IGRhc2hlZDtcbiAgYm90dG9tOiAtMTBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDA7XG59XG5cbi5sZy1mdWxsc2NyZWVuOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGUyMGNcIjtcbn1cblxuLmxnLWZ1bGxzY3JlZW4tb24gLmxnLWZ1bGxzY3JlZW46YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTIwZFwiO1xufVxuXG4ubGctb3V0ZXIgI2xnLWRyb3Bkb3duLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBib3R0b206IDA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDgxO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC4xOHMsIG9wYWNpdHkgMC4xOHMgbGluZWFyIDBzO1xuICAtby10cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjE4cywgb3BhY2l0eSAwLjE4cyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMgbGluZWFyIDAuMThzLCBvcGFjaXR5IDAuMThzIGxpbmVhciAwcztcbn1cblxuLmxnLW91dGVyLmxnLWRyb3Bkb3duLWFjdGl2ZSAubGctZHJvcGRvd24sIC5sZy1vdXRlci5sZy1kcm9wZG93bi1hY3RpdmUgI2xnLWRyb3Bkb3duLW92ZXJsYXkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDBweCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMHB4LCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMHB4LCAwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDBweCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMHB4LCAwKTtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmxnLW91dGVyLmxnLWRyb3Bkb3duLWFjdGl2ZSAjbGctc2hhcmUge1xuICBjb2xvcjogI0ZGRjtcbn1cblxuLmxnLW91dGVyIC5sZy1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0b3A6IDUwcHg7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjE4cyBsaW5lYXIgMHMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDAuNXMsIG9wYWNpdHkgMC4xOHMgbGluZWFyIDBzO1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuMThzIGxpbmVhciAwcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC41cywgb3BhY2l0eSAwLjE4cyBsaW5lYXIgMHM7XG4gIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAwLjE4cyBsaW5lYXIgMHMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDAuNXMsIG9wYWNpdHkgMC4xOHMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xOHMgbGluZWFyIDBzLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjVzLCBvcGFjaXR5IDAuMThzIGxpbmVhciAwcztcbn1cblxuLmxnLW91dGVyIC5sZy1kcm9wZG93bjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjRkZGO1xuICByaWdodDogMTZweDtcbiAgdG9wOiAtMTZweDtcbn1cblxuLmxnLW91dGVyIC5sZy1kcm9wZG93biA+IGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG5cbi5sZy1vdXRlciAubGctZHJvcGRvd24gPiBsaTpob3ZlciBhLCAubGctb3V0ZXIgLmxnLWRyb3Bkb3duID4gbGk6aG92ZXIgLmxnLWljb24ge1xuICBjb2xvcjogIzMzMztcbn1cblxuLmxnLW91dGVyIC5sZy1kcm9wZG93biBhIHtcbiAgY29sb3I6ICMzMzM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBwYWRkaW5nOiA0cHggMTJweDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5sZy1vdXRlciAubGctZHJvcGRvd24gYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG59XG5cbi5sZy1vdXRlciAubGctZHJvcGRvd24gLmxnLWRyb3Bkb3duLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubGctb3V0ZXIgLmxnLWRyb3Bkb3duIC5sZy1pY29uIHtcbiAgY29sb3I6ICMzMzM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4ubGctb3V0ZXIgI2xnLXNoYXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubGctb3V0ZXIgI2xnLXNoYXJlOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU4MGRcIjtcbn1cblxuLmxnLW91dGVyICNsZy1zaGFyZS1mYWNlYm9vayAubGctaWNvbiB7XG4gIGNvbG9yOiAjM2I1OTk4O1xufVxuXG4ubGctb3V0ZXIgI2xnLXNoYXJlLWZhY2Vib29rIC5sZy1pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5MDRcIjtcbn1cblxuLmxnLW91dGVyICNsZy1zaGFyZS10d2l0dGVyIC5sZy1pY29uIHtcbiAgY29sb3I6ICMwMGFjZWQ7XG59XG5cbi5sZy1vdXRlciAjbGctc2hhcmUtdHdpdHRlciAubGctaWNvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG59XG5cbi5sZy1vdXRlciAjbGctc2hhcmUtZ29vZ2xlcGx1cyAubGctaWNvbiB7XG4gIGNvbG9yOiAjZGQ0YjM5O1xufVxuXG4ubGctb3V0ZXIgI2xnLXNoYXJlLWdvb2dsZXBsdXMgLmxnLWljb246YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTkwNVwiO1xufVxuXG4ubGctb3V0ZXIgI2xnLXNoYXJlLXBpbnRlcmVzdCAubGctaWNvbiB7XG4gIGNvbG9yOiAjY2IyMDI3O1xufVxuXG4ubGctb3V0ZXIgI2xnLXNoYXJlLXBpbnRlcmVzdCAubGctaWNvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG59XG5cbi5sZy1vdXRlciAubGctaW1nLXJvdGF0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjMyLCAwLCAwLjY3LCAwKSAwcztcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjMyLCAwLCAwLjY3LCAwKSAwcztcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzIsIDAsIDAuNjcsIDApIDBzO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC4zMiwgMCwgMC42NywgMCkgMHM7XG59XG5cbi5sZy1yb3RhdGUtbGVmdDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG5cbi5sZy1yb3RhdGUtcmlnaHQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTkwMVwiO1xufVxuXG4ubGctaWNvbi5sZy1mbGlwLWhvciwgLmxnLWljb24ubGctZmxpcC12ZXIge1xuICBmb250LXNpemU6IDI2cHg7XG59XG5cbi5sZy1mbGlwLWhvcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG59XG5cbi5sZy1mbGlwLXZlcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG59XG5cbi5sZy1ncm91cCB7XG4gICp6b29tOiAxO1xufVxuXG4ubGctZ3JvdXA6YmVmb3JlLCAubGctZ3JvdXA6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCJcIjtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5sZy1ncm91cDphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ubGctb3V0ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA1MDtcbiAgb3BhY2l0eTogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UgMHM7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSAwcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlIDBzO1xufVxuXG4ubGctb3V0ZXIgKiB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubGctb3V0ZXIubGctdmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5sZy1vdXRlci5sZy1jc3MzIC5sZy1pdGVtLmxnLXByZXYtc2xpZGUsIC5sZy1vdXRlci5sZy1jc3MzIC5sZy1pdGVtLmxnLW5leHQtc2xpZGUsIC5sZy1vdXRlci5sZy1jc3MzIC5sZy1pdGVtLmxnLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IGluaGVyaXQgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5cbi5sZy1vdXRlci5sZy1jc3MzLmxnLWRyYWdnaW5nIC5sZy1pdGVtLmxnLXByZXYtc2xpZGUsIC5sZy1vdXRlci5sZy1jc3MzLmxnLWRyYWdnaW5nIC5sZy1pdGVtLmxnLW5leHQtc2xpZGUsIC5sZy1vdXRlci5sZy1jc3MzLmxnLWRyYWdnaW5nIC5sZy1pdGVtLmxnLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5sZy1vdXRlci5sZy1ncmFiIGltZy5sZy1vYmplY3Qge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiAtbW96LWdyYWI7XG4gIGN1cnNvcjogLW8tZ3JhYjtcbiAgY3Vyc29yOiAtbXMtZ3JhYjtcbiAgY3Vyc29yOiBncmFiO1xufVxuXG4ubGctb3V0ZXIubGctZ3JhYmJpbmcgaW1nLmxnLW9iamVjdCB7XG4gIGN1cnNvcjogbW92ZTtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IC1tb3otZ3JhYmJpbmc7XG4gIGN1cnNvcjogLW8tZ3JhYmJpbmc7XG4gIGN1cnNvcjogLW1zLWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4ubGctb3V0ZXIgLmxnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG5cbi5sZy1vdXRlciAubGctaW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmxnLW91dGVyIC5sZy1pdGVtIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2xvYWRpbmcuZ2lmXCIpIG5vLXJlcGVhdCBzY3JvbGwgY2VudGVyIGNlbnRlciB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubGctb3V0ZXIubGctY3NzMyAubGctcHJldi1zbGlkZSwgLmxnLW91dGVyLmxnLWNzczMgLmxnLWN1cnJlbnQsIC5sZy1vdXRlci5sZy1jc3MzIC5sZy1uZXh0LXNsaWRlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5sZy1vdXRlci5sZy1jc3MgLmxnLWN1cnJlbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmxnLW91dGVyIC5sZy1pdGVtLCAubGctb3V0ZXIgLmxnLWltZy13cmFwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmxnLW91dGVyIC5sZy1pdGVtOmJlZm9yZSwgLmxnLW91dGVyIC5sZy1pbWctd3JhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogNTAlO1xuICB3aWR0aDogMXB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG59XG5cbi5sZy1vdXRlciAubGctaW1nLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG59XG5cbi5sZy1vdXRlciAubGctaXRlbS5sZy1jb21wbGV0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi5sZy1vdXRlciAubGctaXRlbS5sZy1jdXJyZW50IHtcbiAgei1pbmRleDogMTA2MDtcbn1cblxuLmxnLW91dGVyIC5sZy1pbWFnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmxnLW91dGVyLmxnLXNob3ctYWZ0ZXItbG9hZCAubGctaXRlbSAubGctb2JqZWN0LCAubGctb3V0ZXIubGctc2hvdy1hZnRlci1sb2FkIC5sZy1pdGVtIC5sZy12aWRlby1wbGF5IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UgMHM7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSAwcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlIDBzO1xufVxuXG4ubGctb3V0ZXIubGctc2hvdy1hZnRlci1sb2FkIC5sZy1pdGVtLmxnLWNvbXBsZXRlIC5sZy1vYmplY3QsIC5sZy1vdXRlci5sZy1zaG93LWFmdGVyLWxvYWQgLmxnLWl0ZW0ubGctY29tcGxldGUgLmxnLXZpZGVvLXBsYXkge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubGctb3V0ZXIgLmxnLWVtcHR5LWh0bWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubGctb3V0ZXIubGctaGlkZS1kb3dubG9hZCAjbGctZG93bmxvYWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubGctYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTA0MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UgMHM7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSAwcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlIDBzO1xufVxuXG4ubGctYmFja2Ryb3AuaW4ge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubGctY3NzMy5sZy1uby10cmFucyAubGctcHJldi1zbGlkZSwgLmxnLWNzczMubGctbm8tdHJhbnMgLmxnLW5leHQtc2xpZGUsIC5sZy1jc3MzLmxnLW5vLXRyYW5zIC5sZy1jdXJyZW50IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lIDBzIGVhc2UgMHMgIWltcG9ydGFudDtcbiAgLW1vei10cmFuc2l0aW9uOiBub25lIDBzIGVhc2UgMHMgIWltcG9ydGFudDtcbiAgLW8tdHJhbnNpdGlvbjogbm9uZSAwcyBlYXNlIDBzICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IG5vbmUgMHMgZWFzZSAwcyAhaW1wb3J0YW50O1xufVxuXG4ubGctY3NzMy5sZy11c2UtY3NzMyAubGctaXRlbSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ubGctY3NzMy5sZy11c2UtbGVmdCAubGctaXRlbSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ubGctY3NzMy5sZy1mYWRlIC5sZy1pdGVtIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmxnLWNzczMubGctZmFkZSAubGctaXRlbS5sZy1jdXJyZW50IHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmxnLWNzczMubGctZmFkZSAubGctaXRlbS5sZy1wcmV2LXNsaWRlLCAubGctY3NzMy5sZy1mYWRlIC5sZy1pdGVtLmxnLW5leHQtc2xpZGUsIC5sZy1jc3MzLmxnLWZhZGUgLmxnLWl0ZW0ubGctY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2UgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2UgMHM7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlIDBzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZSAwcztcbn1cblxuLmxnLWNzczMubGctc2xpZGUubGctdXNlLWNzczMgLmxnLWl0ZW0ge1xuICBvcGFjaXR5OiAwO1xufVxuXG4ubGctY3NzMy5sZy1zbGlkZS5sZy11c2UtY3NzMyAubGctaXRlbS5sZy1wcmV2LXNsaWRlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG59XG5cbi5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1jc3MzIC5sZy1pdGVtLmxnLW5leHQtc2xpZGUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG59XG5cbi5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1jc3MzIC5sZy1pdGVtLmxnLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1jc3MzIC5sZy1pdGVtLmxnLXByZXYtc2xpZGUsIC5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1jc3MzIC5sZy1pdGVtLmxnLW5leHQtc2xpZGUsIC5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1jc3MzIC5sZy1pdGVtLmxnLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjFzIGVhc2UgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMXMgZWFzZSAwcztcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjFzIGVhc2UgMHM7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4xcyBlYXNlIDBzO1xufVxuXG4ubGctY3NzMy5sZy1zbGlkZS5sZy11c2UtbGVmdCAubGctaXRlbSB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbn1cblxuLmxnLWNzczMubGctc2xpZGUubGctdXNlLWxlZnQgLmxnLWl0ZW0ubGctcHJldi1zbGlkZSB7XG4gIGxlZnQ6IC0xMDAlO1xufVxuXG4ubGctY3NzMy5sZy1zbGlkZS5sZy11c2UtbGVmdCAubGctaXRlbS5sZy1uZXh0LXNsaWRlIHtcbiAgbGVmdDogMTAwJTtcbn1cblxuLmxnLWNzczMubGctc2xpZGUubGctdXNlLWxlZnQgLmxnLWl0ZW0ubGctY3VycmVudCB7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1sZWZ0IC5sZy1pdGVtLmxnLXByZXYtc2xpZGUsIC5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1sZWZ0IC5sZy1pdGVtLmxnLW5leHQtc2xpZGUsIC5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1sZWZ0IC5sZy1pdGVtLmxnLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMXMgZWFzZSAwcztcbiAgLW1vei10cmFuc2l0aW9uOiBsZWZ0IDFzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjFzIGVhc2UgMHM7XG4gIC1vLXRyYW5zaXRpb246IGxlZnQgMXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMXMgZWFzZSAwcztcbiAgdHJhbnNpdGlvbjogbGVmdCAxcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4xcyBlYXNlIDBzO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2ljb24/ZmFtaWx5PU1hdGVyaWFsK0ljb25zfE1hdGVyaWFsK0ljb25zK091dGxpbmVkXCIpO1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250LWZhbWlseS9Nb250c2VycmF0L01vbnRzZXJyYXQtUmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnQtZmFtaWx5L09wZW5fU2Fucy9PcGVuU2Fucy1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiUFQgU2VyaWZcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250LWZhbWlseS9QVF9TZXJpZi9QVFNlcmlmLVJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qKlxyXG4gICBDT1VMRVVSU1xyXG4qL1xuLyoqXHJcbiAgIFJlc3BvbnNpdmVcclxuICovXG4ubWRjLWJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDg5MjllbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAwIDhweCAwIDhweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi13aWR0aDogNjRweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm1kYy1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi5tZGMtYnV0dG9uOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5tZGMtYnV0dG9uOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubWRjLWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM3KTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1idXR0b24ubWRjLWJ1dHRvbi0tZGVuc2Uge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5tZGMtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tZGMtYnV0dG9uIC5tZGMtYnV0dG9uX19pY29uIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1idXR0b24gLm1kYy1idXR0b25fX2ljb24sIC5tZGMtYnV0dG9uIC5tZGMtYnV0dG9uX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tZGMtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY29sb3I6ICM2MjAwZWU7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjNjIwMGVlKTtcbn1cblxuLm1kYy1idXR0b25fX2xhYmVsICsgLm1kYy1idXR0b25fX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtYnV0dG9uX19sYWJlbCArIC5tZGMtYnV0dG9uX19pY29uLCAubWRjLWJ1dHRvbl9fbGFiZWwgKyAubWRjLWJ1dHRvbl9faWNvbltkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG5zdmcubWRjLWJ1dHRvbl9faWNvbiB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLm1kYy1idXR0b24tLXJhaXNlZCAubWRjLWJ1dHRvbl9faWNvbixcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkIC5tZGMtYnV0dG9uX19pY29uLFxuLm1kYy1idXR0b24tLW91dGxpbmVkIC5tZGMtYnV0dG9uX19pY29uIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogLTRweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLWJ1dHRvbi0tcmFpc2VkIC5tZGMtYnV0dG9uX19pY29uLCAubWRjLWJ1dHRvbi0tcmFpc2VkIC5tZGMtYnV0dG9uX19pY29uW2Rpcj1cInJ0bFwiXSwgW2Rpcj1cInJ0bFwiXVxuLm1kYy1idXR0b24tLXVuZWxldmF0ZWQgLm1kYy1idXR0b25fX2ljb24sXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZCAubWRjLWJ1dHRvbl9faWNvbltkaXI9XCJydGxcIl0sIFtkaXI9XCJydGxcIl1cbi5tZGMtYnV0dG9uLS1vdXRsaW5lZCAubWRjLWJ1dHRvbl9faWNvbixcbi5tZGMtYnV0dG9uLS1vdXRsaW5lZCAubWRjLWJ1dHRvbl9faWNvbltkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xufVxuXG4ubWRjLWJ1dHRvbi0tcmFpc2VkIC5tZGMtYnV0dG9uX19sYWJlbCArIC5tZGMtYnV0dG9uX19pY29uLFxuLm1kYy1idXR0b24tLXVuZWxldmF0ZWQgLm1kYy1idXR0b25fX2xhYmVsICsgLm1kYy1idXR0b25fX2ljb24sXG4ubWRjLWJ1dHRvbi0tb3V0bGluZWQgLm1kYy1idXR0b25fX2xhYmVsICsgLm1kYy1idXR0b25fX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtYnV0dG9uLS1yYWlzZWQgLm1kYy1idXR0b25fX2xhYmVsICsgLm1kYy1idXR0b25fX2ljb24sIC5tZGMtYnV0dG9uLS1yYWlzZWQgLm1kYy1idXR0b25fX2xhYmVsICsgLm1kYy1idXR0b25fX2ljb25bZGlyPVwicnRsXCJdLCBbZGlyPVwicnRsXCJdXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZCAubWRjLWJ1dHRvbl9fbGFiZWwgKyAubWRjLWJ1dHRvbl9faWNvbixcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkIC5tZGMtYnV0dG9uX19sYWJlbCArIC5tZGMtYnV0dG9uX19pY29uW2Rpcj1cInJ0bFwiXSwgW2Rpcj1cInJ0bFwiXVxuLm1kYy1idXR0b24tLW91dGxpbmVkIC5tZGMtYnV0dG9uX19sYWJlbCArIC5tZGMtYnV0dG9uX19pY29uLFxuLm1kYy1idXR0b24tLW91dGxpbmVkIC5tZGMtYnV0dG9uX19sYWJlbCArIC5tZGMtYnV0dG9uX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQsXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZCB7XG4gIHBhZGRpbmc6IDAgMTZweCAwIDE2cHg7XG59XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQ6ZGlzYWJsZWQsXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZDpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzcpO1xufVxuXG4ubWRjLWJ1dHRvbi0tcmFpc2VkOm5vdCg6ZGlzYWJsZWQpLFxuLm1kYy1idXR0b24tLXVuZWxldmF0ZWQ6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjIwMGVlO1xufVxuXG5Ac3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gIC5tZGMtYnV0dG9uLS1yYWlzZWQ6bm90KDpkaXNhYmxlZCksXG4gIC5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICM2MjAwZWUpO1xuICB9XG59XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQ6bm90KDpkaXNhYmxlZCksXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZDpub3QoOmRpc2FibGVkKSB7XG4gIGNvbG9yOiAjZmZmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tcHJpbWFyeSwgI2ZmZik7XG59XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQge1xuICBib3gtc2hhZG93OiAwcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQ6aG92ZXIsIC5tZGMtYnV0dG9uLS1yYWlzZWQ6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1idXR0b24tLXJhaXNlZDphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQ6ZGlzYWJsZWQge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtYnV0dG9uLS1vdXRsaW5lZCB7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIHBhZGRpbmc6IDAgMTVweCAwIDE1cHg7XG4gIGJvcmRlci13aWR0aDogMXB4O1xufVxuXG4ubWRjLWJ1dHRvbi0tb3V0bGluZWQ6ZGlzYWJsZWQge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNyk7XG59XG5cbi5tZGMtYnV0dG9uLS1vdXRsaW5lZDpub3QoOmRpc2FibGVkKSB7XG4gIGJvcmRlci1jb2xvcjogIzYyMDBlZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjNjIwMGVlKTtcbn1cblxuLm1kYy1idXR0b24tLWRlbnNlIHtcbiAgaGVpZ2h0OiAzMnB4O1xuICBmb250LXNpemU6IC44MTI1cmVtO1xufVxuXG5Aa2V5ZnJhbWVzIG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydCwgMCkpIHNjYWxlKDEpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ubWRjLXJpcHBsZS1zdXJmYWNlLS10ZXN0LWVkZ2UtdmFyLWJ1ZyB7XG4gIC0tbWRjLXJpcHBsZS1zdXJmYWNlLXRlc3QtZWRnZS12YXI6IDFweCBzb2xpZCAjMDAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5tZGMtcmlwcGxlLXN1cmZhY2UtLXRlc3QtZWRnZS12YXItYnVnOjpiZWZvcmUge1xuICBib3JkZXI6IHZhcigtLW1kYy1yaXBwbGUtc3VyZmFjZS10ZXN0LWVkZ2UtdmFyKTtcbn1cblxuLm1kYy1idXR0b24ge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuLm1kYy1idXR0b246OmJlZm9yZSwgLm1kYy1idXR0b246OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWRjLWJ1dHRvbjo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cblxuLm1kYy1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbi5tZGMtYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG5cbi5tZGMtYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuXG4ubWRjLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiAyMjVtcyBmb3J3YXJkcywgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIDc1bXMgZm9yd2FyZHM7XG59XG5cbi5tZGMtYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLWJ1dHRvbjo6YmVmb3JlLCAubWRjLWJ1dHRvbjo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gMTAwJSk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgd2lkdGg6IDIwMCU7XG4gIGhlaWdodDogMjAwJTtcbn1cblxuLm1kYy1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuXG4ubWRjLWJ1dHRvbjo6YmVmb3JlLCAubWRjLWJ1dHRvbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjIwMGVlO1xufVxuXG5Ac3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gIC5tZGMtYnV0dG9uOjpiZWZvcmUsIC5tZGMtYnV0dG9uOjphZnRlciB7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjNjIwMGVlKTtcbiAgfVxufVxuXG4ubWRjLWJ1dHRvbjpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4wNDtcbn1cblxuLm1kYy1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC5tZGMtYnV0dG9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtYnV0dG9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG5cbi5tZGMtYnV0dG9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1idXR0b24tLXJhaXNlZDo6YmVmb3JlLCAubWRjLWJ1dHRvbi0tcmFpc2VkOjphZnRlcixcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOjpiZWZvcmUsXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5Ac3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gIC5tZGMtYnV0dG9uLS1yYWlzZWQ6OmJlZm9yZSwgLm1kYy1idXR0b24tLXJhaXNlZDo6YWZ0ZXIsXG4gIC5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOjpiZWZvcmUsXG4gIC5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOjphZnRlciB7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1wcmltYXJ5LCAjZmZmKTtcbiAgfVxufVxuXG4ubWRjLWJ1dHRvbi0tcmFpc2VkOmhvdmVyOjpiZWZvcmUsXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZDpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4wODtcbn1cblxuLm1kYy1idXR0b24tLXJhaXNlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSwgLm1kYy1idXR0b24tLXJhaXNlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUsXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSxcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMjQ7XG59XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIsXG4ubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuXG4ubWRjLWJ1dHRvbi0tcmFpc2VkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlcixcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMjQ7XG59XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQubWRjLXJpcHBsZS11cGdyYWRlZCxcbi5tZGMtYnV0dG9uLS11bmVsZXZhdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4yNDtcbn1cblxuaHRtbCxcbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmgxLCBoMiB7XG4gIGZvbnQtZmFtaWx5OiBcIlBUIFNlcmlmXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIGNvbG9yOiAjNTczRDFDO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBjb2xvcjogIzU3M0QxQztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDMge1xuICBmb250LXNpemU6IDEuM2VtO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzY2NjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxucCxcbnVsID4gbGkge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbn1cblxucCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxubWFpbiB7XG4gIG1pbi1oZWlnaHQ6IDYwMHB4O1xufVxuXG4uZmxleC1yb3csIC5oZWFkZXJfbG9nbywgLmhlYWRlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zLCAuaGVhZGVyX2Jhc2tldCAuY291bnQsIC5mb290ZXJfbmF2LWJhciAuZm9vdGVyX2xvZ28sIC5mb290ZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtcywgLmZvb3Rlcl9uYXYtYmFyIC5uYXYtYmFyX3BheW1lbnQtbWV0aG9kcywgLmZvcm1faW5wdXQtZ3JvdXAsIC5zaG9wLCAuZmlsZV9hcmlhbmUsIC5mb2FsdGluZy1iYXNrZXQgLmNvdW50LCAucHJvZHVjdCwgLnByb2R1Y3RfaW1hZ2VzIC5saXN0LXBob3RvLCAucHJvZHVjdC1kZXRhaWxzLnByb2R1Y3QtZGV0YWlsc19fc2ltcGxlLCAucHJvZHVjdC1kZXRhaWxzLnByb2R1Y3QtZGV0YWlsc19fc2ltcGxlIC5wcm9kdWN0LWRldGFpbHNfY2hvaWNlcywgLmRldmlzLXNlbGxlLWZvcm1fcXVlc3Rpb25zLCAuZGV2aXMtc2VsbGUtZm9ybV9xdWVzdGlvbnMgLmFuc3dlcnMsIC5jaG9pY2UtY29sb3IsXG4uY2hvaWNlLWNhcmRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmZsZXgtY29sdW1uLCAuZm9ybSwgLmZvcm1fcmFkaW8tZ3JvdXAsIC5zaG9wX25hdiB1bCwgLnByb2R1Y3RfaW1hZ2VzLCAucHJvZHVjdC1kZXRhaWxzLnByb2R1Y3QtZGV0YWlsc19fc2ltcGxlIC5wcm9kdWN0LWRldGFpbHNfb3B0aW9uLCAuZGV2aXMtc2VsbGUtZm9ybSwgLmRldmlzLXNlbGxlLWZvcm1fcXVlc3Rpb25zIC5xdWVzdGlvbiwgLmRldmlzLXNlbGxlLWZvcm1fcXVlc3Rpb25zIC5jb250YWN0LCAuY2hvaWNlLWNhcmRzX2RldGFpbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZmxleC1jZW50ZXItY2VudGVyLCAuaGVhZGVyX2xvZ28sIC5oZWFkZXJfYmFza2V0IC5jb3VudCwgLmZvb3Rlcl9uYXYtYmFyIC5mb290ZXJfbG9nbywgLmZvb3Rlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zLCAuZm9vdGVyX25hdi1iYXIgLm5hdi1iYXJfcGF5bWVudC1tZXRob2RzLCAuZm9ybSAuY2hvaWNlLXNpbXBsZSwgLmZvYWx0aW5nLWJhc2tldCAuY291bnQsIC5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9ucyAuYW5zd2VycyB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG4udGV4dC1qdXN0aWZ5IGgxLCAudGV4dC1qdXN0aWZ5IGgyLCAudGV4dC1qdXN0aWZ5IGgzIHtcbiAgdGV4dC1hbGlnbjogaW5pdGlhbDtcbn1cblxuLmNvbnRhaW5lcl9jZW50ZXIsIC5maWxlX2FyaWFuZSB7XG4gIHdpZHRoOiA5MCU7XG4gIG1heC13aWR0aDogODUwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDNlbTtcbn1cblxuLnNlcGFyYXRldXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCBsaWdodGdyYXk7XG59XG5cbi5zZXBhcmF0ZXVyLnNlcGFyYXRldXJfX3ZlcnRpY2FsIHtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggbGlnaHRncmF5O1xufVxuXG4ubWFpbl9faGVhZGVyLXBhZGRpbmcge1xuICBwYWRkaW5nLXRvcDogMTIwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubWFpbl9faGVhZGVyLXBhZGRpbmcge1xuICAgIHBhZGRpbmctdG9wOiA3MnB4O1xuICB9XG59XG5cbi8qKlxyXG4gICBCYWNrZ3JvdW5kIGNlbnRlciBjb3ZlclxyXG4gKi9cbi5jb250YWluZXItYmFja2dyb3VuZCwgLmhlYWRlci1iYW5uaWVyZSwgLnByb2R1Y3RfaW1hZ2VzIC5jb3ZlciwgLnByb2R1Y3RfaW1hZ2VzIC5saXN0LXBob3RvIGxpLCAucHJvZHVjdC1kZXRhaWxzIC5jaG9pY2UtYnVja2xlX2ltZywgLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWNvbG9yX2ltZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNvbnRhaW5lci1iYWNrZ3JvdW5kIGltZywgLmhlYWRlci1iYW5uaWVyZSBpbWcsIC5wcm9kdWN0X2ltYWdlcyAuY292ZXIgaW1nLCAucHJvZHVjdF9pbWFnZXMgLmxpc3QtcGhvdG8gbGkgaW1nLCAucHJvZHVjdC1kZXRhaWxzIC5jaG9pY2UtYnVja2xlX2ltZyBpbWcsIC5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1jb2xvcl9pbWcgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4vKipcclxuICAgSGVhZGVyIGF2ZWMgbGUgZm9uZCBldCBsYSBjYXRjaCBwaHJhc2VcclxuICovXG4uaGVhZGVyLWJhbm5pZXJlX2NvbnRlbnQge1xuICBmb250LXNpemU6IDIuNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgcGFkZGluZzogMTAwcHggMDtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLyoqXHJcbiAgIExvYWRlciBTcGlubmVyXHJcbiAqL1xuLnNwaW5uZXItZHVhbC1yaW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNjRweDtcbiAgaGVpZ2h0OiA2NHB4O1xufVxuXG4uc3Bpbm5lci1kdWFsLXJpbmc6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0NnB4O1xuICBoZWlnaHQ6IDQ2cHg7XG4gIG1hcmdpbjogMXB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogNXB4IHNvbGlkICNDQzY2MDA7XG4gIGJvcmRlci1jb2xvcjogI0NDNjYwMCB0cmFuc3BhcmVudCAjQ0M2NjAwIHRyYW5zcGFyZW50O1xuICBhbmltYXRpb246IGxkcy1kdWFsLXJpbmcgMS4ycyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgbGRzLWR1YWwtcmluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbi8qKlxyXG4gICBTdHlsZSBkdSBib3V0b25cclxuICovXG4ubWRjLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gIGNvbG9yOiAjQ0M2NjAwO1xufVxuXG4ubWRjLWJ1dHRvbi0tb3V0bGluZWQ6bm90KDpkaXNhYmxlZCkge1xuICBib3JkZXItY29sb3I6ICNDQzY2MDA7XG59XG5cbi5tZGMtYnV0dG9uOjpiZWZvcmUsIC5tZGMtYnV0dG9uOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQzY2MDA7XG59XG5cbi5tZGMtYnV0dG9uLS1yYWlzZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0M2NjAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKipcclxuICAgQmFuZGVhdSBBbGVydCBDb29raWVzXHJcbiAqL1xuLmFsZXJ0LWNvb2tpZXMge1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICM1NzNEMUM7XG4gIGJvcmRlci10b3A6IHNvbGlkIDJweCAjQ0M2NjAwO1xuICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5hbGVydC1jb29raWVzIHAge1xuICBmbGV4OiA0O1xufVxuXG4uYWxlcnQtY29va2llc19hY3Rpb25zIHtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYWxlcnQtY29va2llcyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4vKipcclxuICAgVG9vbFRpcFxyXG4gKi9cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udG9vbHRpcCAudG9vbHRpcHRleHQge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgd2lkdGg6IDEyMHB4O1xuICBwYWRkaW5nOiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc4OTA5Qztcbn1cblxuLnRvb2x0aXAgLnRvb2x0aXB0ZXh0OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMDAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDVweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNzg5MDlDIHRyYW5zcGFyZW50O1xufVxuXG4udG9vbHRpcDpob3ZlciAudG9vbHRpcHRleHQge1xuICBhbmltYXRpb246IHRvb2x0aXAtYW5pbWF0aW9uIGVhc2UtaW4tb3V0IDAuM3M7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG9wYWNpdHk6IDE7XG59XG5cbkBrZXlmcmFtZXMgdG9vbHRpcC1hbmltYXRpb24ge1xuICBmcm9tIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8qKlxyXG4gICAgSEVBREVSXHJcbiAqL1xuaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi8qKlxyXG4gICBMb2dvIEpvbGxldCBkYW5zIGxlIGhlYWRlclxyXG4qL1xuLmhlYWRlcl9sb2dvIHtcbiAgaGVpZ2h0OiA3MHB4O1xufVxuXG4uaGVhZGVyX2xvZ28gc3ZnIHtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4uaGVhZGVyX2xvZ28gbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMzVweDtcbn1cblxuLmhlYWRlcl9sb2dvIGxhYmVsIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDI1cHg7XG4gIG1hcmdpbjogNXB4IDA7XG59XG5cbi5oZWFkZXJfbG9nbyBsYWJlbCBzcGFuOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NzNEMUM7XG59XG5cbi8qKlxyXG4gICBCdXJnZXIgbWVudSBkdSBtb2RlIHTDqWzDqXBob25lXHJcbiovXG4jaGVhZGVyX3RvZ2dsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNoZWFkZXJfdG9nZ2xlOmNoZWNrZWQgKyAuaGVhZGVyX2xvZ28gbGFiZWwgc3BhbjpudGgtY2hpbGQoMSk6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgdG9wOiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuI2hlYWRlcl90b2dnbGU6Y2hlY2tlZCArIC5oZWFkZXJfbG9nbyBsYWJlbCBzcGFuOm50aC1jaGlsZCgyKTphZnRlciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuI2hlYWRlcl90b2dnbGU6Y2hlY2tlZCArIC5oZWFkZXJfbG9nbyBsYWJlbCBzcGFuOm50aC1jaGlsZCgzKTphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgdG9wOiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLyoqXHJcbiAgIE1lbnUgZGUgbmF2aWdhdGlvblxyXG4qL1xuLmhlYWRlcl9uYXYtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAjNTczRDFDO1xufVxuXG4uaGVhZGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCAyNXB4IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5oZWFkZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtcyBsaSB7XG4gIG1pbi13aWR0aDogMTUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwiUFQgU2VyaWZcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG59XG5cbi5oZWFkZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtcyBsaSBhIHtcbiAgY29sb3I6ICM1NzNEMUM7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICM1NzNEMUMgMCUsICM1NzNEMUMgMnB4LCB0cmFuc3BhcmVudCAycHgpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAwIDEwMCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAwLjNzO1xufVxuXG4uaGVhZGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXMgbGkgYS5hY3RpdmUsIC5oZWFkZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtcyBsaSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi8qKlxyXG4gICBQYW5pZXIgZGUgbGEgYm91dGlxdWUgXHJcbiAgICh2aXNpYmxlIHF1ZSBkYW5zIGxhIGJvdXRpcXVlKVxyXG4qL1xuLmhlYWRlcl9iYXNrZXQge1xuICBtYXJnaW46IDAgMTVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiA1cHg7XG59XG5cbi5oZWFkZXJfYmFza2V0IC5jb3VudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2MzAzMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuXG4uaGVhZGVyX2Jhc2tldF9lbXB0eSAuY291bnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGVhZGVyX2Jhc2tldF91cCAuY291bnQge1xuICBhbmltYXRpb246IGNvdW50LXpvb20gM3MgZm9yd2FyZHMgMTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oZWFkZXJfYmFza2V0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY291bnQtem9vbSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG4vKipcclxuICAgU1BFQ0lBTCBQT1VSIExBIEhPTUUgUEFHRVxyXG4gKi9cbmhlYWRlci5oZWFkZXJfX2hvbWUtcGFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiA2MDBweDtcbiAgcmlnaHQ6IDA7XG59XG5cbmhlYWRlci5oZWFkZXJfX2hvbWUtcGFnZSAuaGVhZGVyX2xvZ28ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5oZWFkZXIuaGVhZGVyX19ob21lLXBhZ2UgLmhlYWRlcl9uYXYtYmFyIHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5oZWFkZXIuaGVhZGVyX19ob21lLXBhZ2UgLmhlYWRlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zIHtcbiAgbWFyZ2luOiAzMHB4IDAgMDtcbn1cblxuaGVhZGVyLmhlYWRlcl9faG9tZS1wYWdlIC5oZWFkZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtcyBhIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZmZmIDAlLCAjZmZmIDJweCwgdHJhbnNwYXJlbnQgMnB4KSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMCAxMDAlO1xufVxuXG5oZWFkZXIuaGVhZGVyX19ob21lLXBhZ2UgLmhlYWRlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIGhlYWRlci5oZWFkZXJfX2hvbWUtcGFnZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbiAgaGVhZGVyLmhlYWRlcl9faG9tZS1wYWdlIC5oZWFkZXJfbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICBoZWFkZXIuaGVhZGVyX19ob21lLXBhZ2UgLmhlYWRlcl9uYXYtYmFyIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbiAgaGVhZGVyLmhlYWRlcl9faG9tZS1wYWdlIC5oZWFkZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtcyB7XG4gICAgbWFyZ2luOiAwIDAgMjVweCAwO1xuICB9XG4gIGhlYWRlci5oZWFkZXJfX2hvbWUtcGFnZSAuaGVhZGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXMgYSB7XG4gICAgY29sb3I6ICM1NzNEMUM7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzU3M0QxQyAwJSwgIzU3M0QxQyAycHgsIHRyYW5zcGFyZW50IDJweCkgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMCAxMDAlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAwLjNzO1xuICB9XG4gIGhlYWRlci5oZWFkZXJfX2hvbWUtcGFnZSAuaGVhZGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXMgYS5hY3RpdmUsIGhlYWRlci5oZWFkZXJfX2hvbWUtcGFnZSAuaGVhZGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXMgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIH1cbn1cblxuLyoqXHJcbiAgIFJFU1BPTlNJVkVcclxuICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhlYWRlcl9sb2dvIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuaGVhZGVyX25hdi1iYXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAwcHg7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZS1vdXQ7XG4gIH1cbiAgLmhlYWRlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC5oZWFkZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtcyBsaSB7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gIH1cbiAgI2hlYWRlcl90b2dnbGU6Y2hlY2tlZCB+IC5oZWFkZXJfbmF2LWJhciB7XG4gICAgaGVpZ2h0OiAyMTVweDtcbiAgfVxufVxuXG5mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTczRDFDO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbmZvb3RlciAudGV4dC1jZW50ZXIge1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiBNb250c2VycmF0LCBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xufVxuXG4uZm9vdGVyX25hdi1iYXIgLmZvb3Rlcl9sb2dvIHN2ZyB7XG4gIGhlaWdodDogNTlweDtcbn1cblxuLmZvb3Rlcl9uYXYtYmFyIC5mb290ZXJfbG9nbyBzdmcgKiB7XG4gIGZpbGw6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5mb290ZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMjVweCAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uZm9vdGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXMgbGkge1xuICBtaW4td2lkdGg6IDE1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBNb250c2VycmF0LCBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xufVxuXG4uZm9vdGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXMgbGkgYSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmZvb3Rlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zIGxpIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmZvb3Rlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zIGxpIHN2ZyB7XG4gIG1heC13aWR0aDogMzBweDtcbn1cblxuLmZvb3Rlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zIGxpOm50aC1jaGlsZCgxKSBhOmhvdmVyICoge1xuICBmaWxsOiBjb3JuZmxvd2VyYmx1ZSAhaW1wb3J0YW50O1xufVxuXG4uZm9vdGVyX25hdi1iYXIgLm5hdi1iYXJfaXRlbXMgbGk6bnRoLWNoaWxkKDIpIGE6aG92ZXIgKiB7XG4gIGZpbGw6IGJlaWdlICFpbXBvcnRhbnQ7XG59XG5cbi5mb290ZXJfbmF2LWJhciAubmF2LWJhcl9wYXltZW50LW1ldGhvZHMge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uZm9vdGVyX25hdi1iYXIgLm5hdi1iYXJfcGF5bWVudC1tZXRob2RzIGltZyB7XG4gIG1heC1oZWlnaHQ6IDUwcHg7XG4gIG1heC13aWR0aDogMTIwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZm9vdGVyX25hdi1iYXIgLm5hdi1iYXJfcGF5bWVudC1tZXRob2RzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5cbi8qKlxyXG4gICBSRVNQT05TSVZFXHJcbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5mb290ZXJfbmF2LWJhciAubmF2LWJhcl9pdGVtczpudGgtY2hpbGQoMikge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLmZvb3Rlcl9uYXYtYmFyIC5uYXYtYmFyX2l0ZW1zOm50aC1jaGlsZCgyKSBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuXG4ubWRjLXRvdWNoLXRhcmdldC13cmFwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC11bmNoZWNrZWQtY2hlY2tlZC1jaGVja21hcmstcGF0aCB7XG4gIDAlLFxuICA1MCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAyOS43ODMzNDtcbiAgfVxuICA1MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICB9XG4gIDEwMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayB7XG4gIDAlLFxuICA2OC4yJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIH1cbiAgNjguMiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLCAxKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLXVuY2hlY2tlZC1jaGVja21hcmstcGF0aCB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0yOS43ODMzNDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtY2hlY2ttYXJrIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWNoZWNrbWFyayB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE0LCAwLCAwLCAxKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmsge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtZGMtYW5pbWF0aW9uLWRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1taXhlZG1hcmsge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNCwgMCwgMCwgMSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzE1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFyayB7XG4gIDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAzMi44JSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ubWRjLWNoZWNrYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDAgMCAxOHB4O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgcGFkZGluZzogMTFweDtcbn1cblxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlLFxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4Njtcbn1cblxuQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUsXG4gIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICB9XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSwgLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xufVxuXG5Ac3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSwgLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbiAgfVxufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6aG92ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA0O1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1cyAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLFxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQubWRjLWNoZWNrYm94LS1zZWxlY3RlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4Njtcbn1cblxuQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLFxuICAubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbiAgfVxufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICB0b3A6IDExcHg7XG4gIGxlZnQ6IDExcHg7XG59XG5cbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgdG9wOiAtMTNweDtcbiAgbGVmdDogLTEzcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2wge1xuICB0b3A6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOm5vdCg6Y2hlY2tlZCk6bm90KDppbmRldGVybWluYXRlKSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogIzAxODc4NjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xufVxuXG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmQtdTllNGJhN2M3IHtcbiAgMCUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICA1MCUge1xuICAgIGJvcmRlci1jb2xvcjogIzAxODc4NjtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLXU5ZTRiYTdjNyB7XG4gIDAlLFxuICA4MCUge1xuICAgIGJvcmRlci1jb2xvcjogIzAxODc4NjtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbiAgfVxuICAxMDAlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtY2hlY2tlZCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBtZGMtY2hlY2tib3gtZmFkZS1pbi1iYWNrZ3JvdW5kLXU5ZTRiYTdjNztcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1jaGVja2VkLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLm1kYy1jaGVja2JveC0tYW5pbS1pbmRldGVybWluYXRlLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBtZGMtY2hlY2tib3gtZmFkZS1vdXQtYmFja2dyb3VuZC11OWU0YmE3Yzc7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2Rpc2FibGVkXTpub3QoOmNoZWNrZWQpOm5vdCg6aW5kZXRlcm1pbmF0ZSkgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGlzYWJsZWRdOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGlzYWJsZWRdOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgIG1hcmdpbjogMCAxcHg7XG4gIH1cbn1cblxuLm1kYy1jaGVja2JveC0tZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdpbGwtY2hhbmdlOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSwgYm9yZGVyLWNvbG9yIDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG59XG5cbi5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbiAgfVxufVxuXG4ubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTgwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG59XG5cbi5tZGMtY2hlY2tib3gtLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgMTgwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG4gIHN0cm9rZTogY3VycmVudENvbG9yO1xuICBzdHJva2Utd2lkdGg6IDMuMTJweDtcbiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDI5Ljc4MzM0O1xuICBzdHJva2UtZGFzaGFycmF5OiAyOS43ODMzNDtcbn1cblxuLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCkgcm90YXRlKDBkZWcpO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCB0cmFuc2Zvcm0gOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cblxuLm1kYy1jaGVja2JveC0tdXBncmFkZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbi5tZGMtY2hlY2tib3gtLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayxcbi5tZGMtY2hlY2tib3gtLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoLFxuLm1kYy1jaGVja2JveC0tdXBncmFkZWQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1jaGVja2VkIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLm1kYy1jaGVja2JveC0tYW5pbS1jaGVja2VkLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAubWRjLWNoZWNrYm94LS1hbmltLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBhbmltYXRpb24tZHVyYXRpb246IDE4MG1zO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC11bmNoZWNrZWQtY2hlY2tlZC1jaGVja21hcmstcGF0aCAxODBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIDkwbXMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWNoZWNrZWQtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtY2hlY2tlZC11bmNoZWNrZWQtY2hlY2ttYXJrLXBhdGggOTBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC1pbmRldGVybWluYXRlIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1jaGVja21hcmsgOTBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC1pbmRldGVybWluYXRlIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmsgOTBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS1jaGVja2VkIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1jaGVja21hcmsgNTAwbXMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWluZGV0ZXJtaW5hdGUtY2hlY2tlZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtbWl4ZWRtYXJrIDUwMG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1pbmRldGVybWluYXRlLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLXVuY2hlY2tlZC1taXhlZG1hcmsgMzAwbXMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDkwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDkwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCxcbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG59XG5cbi5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCB0cmFuc2Zvcm0gOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Zm9jdXMgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAwLjEyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDgwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCB0cmFuc2Zvcm0gODBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogaW5oZXJpdDtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94LS10b3VjaCB7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbn1cblxuLm1kYy1jaGVja2JveC0tdG91Y2ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2wge1xuICB0b3A6IC00cHg7XG4gIHJpZ2h0OiAtNHB4O1xuICBsZWZ0OiAtNHB4O1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE4MG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgdHJhbnNmb3JtIDE4MG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgcm90YXRlKC00NWRlZyk7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCB0cmFuc2Zvcm0gOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWRjLWNoZWNrYm94IHtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICB6LWluZGV4OiAxO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbiAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG5Ac3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsXG4gIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbiAgfVxufVxuXG4ubWRjLWNoZWNrYm94OmhvdmVyIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4wNDtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsIC5tZGMtY2hlY2tib3g6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1cyAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtY2hlY2tib3g6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKSAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG5cbi5tZGMtY2hlY2tib3g6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmUgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLFxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgdG9wOiBjYWxjKDUwJSAtIDUwJSk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogY2FsYyg1MCUgLSA1MCUpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIGNhbGMoNTAlIC0gNTAlKSk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCBjYWxjKDUwJSAtIDUwJSkpO1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG5cbi5tZGMtY2hlY2tib3hfX3JpcHBsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBjb250ZW50OiBub25lO1xufVxuXG4ubWRjLWZvcm0tZmllbGQsIC5mb3JtX2NoZWNrYm94LWdyb3VwIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMTc4NmVtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuODcpKTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5tZGMtZm9ybS1maWVsZCA+IGxhYmVsLCAuZm9ybV9jaGVja2JveC1ncm91cCA+IGxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMDtcbiAgb3JkZXI6IDA7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1mb3JtLWZpZWxkID4gbGFiZWwsIFtkaXI9XCJydGxcIl0gLmZvcm1fY2hlY2tib3gtZ3JvdXAgPiBsYWJlbCwgLm1kYy1mb3JtLWZpZWxkID4gbGFiZWxbZGlyPVwicnRsXCJdLCAuZm9ybV9jaGVja2JveC1ncm91cCA+IGxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtZm9ybS1maWVsZCA+IGxhYmVsLCBbZGlyPVwicnRsXCJdIC5mb3JtX2NoZWNrYm94LWdyb3VwID4gbGFiZWwsIC5tZGMtZm9ybS1maWVsZCA+IGxhYmVsW2Rpcj1cInJ0bFwiXSwgLmZvcm1fY2hlY2tib3gtZ3JvdXAgPiBsYWJlbFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG59XG5cbi5tZGMtZm9ybS1maWVsZC0tYWxpZ24tZW5kID4gbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogNHB4O1xuICBvcmRlcjogLTE7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1mb3JtLWZpZWxkLS1hbGlnbi1lbmQgPiBsYWJlbCwgLm1kYy1mb3JtLWZpZWxkLS1hbGlnbi1lbmQgPiBsYWJlbFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLWZvcm0tZmllbGQtLWFsaWduLWVuZCA+IGxhYmVsLCAubWRjLWZvcm0tZmllbGQtLWFsaWduLWVuZCA+IGxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IDI0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbiAgcGFkZGluZzogMTJweDtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbiBzdmcsXG4ubWRjLWljb24tYnV0dG9uIGltZyB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG5cbi5tZGMtaWNvbi1idXR0b246ZGlzYWJsZWQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtZGlzYWJsZWQtb24tbGlnaHQsIHJnYmEoMCwgMCwgMCwgMC4zOCkpO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLWljb24tYnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubWRjLWljb24tYnV0dG9uX19pY29uLm1kYy1pY29uLWJ1dHRvbl9faWNvbi0tb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWRjLWljb24tYnV0dG9uLS1vbiAubWRjLWljb24tYnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi0tb24gLm1kYy1pY29uLWJ1dHRvbl9faWNvbi5tZGMtaWNvbi1idXR0b25fX2ljb24tLW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubWRjLWljb24tYnV0dG9uIHtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi5tZGMtaWNvbi1idXR0b246OmJlZm9yZSwgLm1kYy1pY29uLWJ1dHRvbjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5tZGMtaWNvbi1idXR0b246OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiAyMjVtcyBmb3J3YXJkcywgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIDc1bXMgZm9yd2FyZHM7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbi5tZGMtaWNvbi1idXR0b246OmJlZm9yZSwgLm1kYy1pY29uLWJ1dHRvbjo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gNTAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDUwJSk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlLCAubWRjLWljb24tYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIGNhbGMoNTAlIC0gNTAlKSk7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuXG4ubWRjLWljb24tYnV0dG9uOjpiZWZvcmUsIC5tZGMtaWNvbi1idXR0b246OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbjpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4wNDtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSwgLm1kYy1pY29uLWJ1dHRvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWljb24tYnV0dG9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG5cbi5tZGMtaWNvbi1idXR0b246bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtcmFkaW8ge1xuICBwYWRkaW5nOiAxMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwIGF1dG87XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybSwgYm9yZGVyLWNvbG9yLCBjb2xvcjtcbn1cblxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDplbmFibGVkOm5vdCg6Y2hlY2tlZCkgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbn1cblxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDplbmFibGVkOmNoZWNrZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogIzAxODc4NjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xufVxuXG4ubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogIzAxODc4NjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xufVxuXG4ubWRjLXJhZGlvIFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpub3QoOmNoZWNrZWQpICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUsXG4ubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkOm5vdCg6Y2hlY2tlZCkgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbn1cblxuLm1kYy1yYWRpbyBbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlLFxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZDpjaGVja2VkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG59XG5cbi5tZGMtcmFkaW8gW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUsXG4ubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG59XG5cbi5tZGMtcmFkaW8gLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4Njtcbn1cblxuQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICB9XG59XG5cbi5tZGMtcmFkaW8gLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgdG9wOiAtMTBweDtcbiAgbGVmdDogLTEwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2wge1xuICB0b3A6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4ubWRjLXJhZGlvX19iYWNrZ3JvdW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG59XG5cbi5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSwgdHJhbnNmb3JtIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xufVxuXG4ubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xufVxuXG4ubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgYm9yZGVyLXdpZHRoOiAxMHB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSwgYm9yZGVyLWNvbG9yIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xufVxuXG4ubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IGluaGVyaXQ7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5tZGMtcmFkaW8tLXRvdWNoIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xuICBtYXJnaW4tbGVmdDogNHB4O1xufVxuXG4ubWRjLXJhZGlvLS10b3VjaCAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbCB7XG4gIHRvcDogLTRweDtcbiAgcmlnaHQ6IC00cHg7XG4gIGxlZnQ6IC00cHg7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG59XG5cbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kLFxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSksIHRyYW5zZm9ybSAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSxcbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTIwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuXG4ubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpjaGVja2VkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUsXG4ubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgYm9yZGVyLWNvbG9yIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn1cblxuLm1kYy1yYWRpby0tZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpjaGVja2VkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSksIGJvcmRlci1jb2xvciAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCxcblthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmZvY3VzICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMC4xMjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSksIHRyYW5zZm9ybSAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtcmFkaW8ge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtcmFkaW8gLm1kYy1yYWRpb19fcmlwcGxlOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLXJhZGlvX19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQgLm1kYy1yYWRpb19fcmlwcGxlOjphZnRlciB7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuXG4ubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZCAubWRjLXJhZGlvX19yaXBwbGU6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTtcbn1cblxuLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb24gLm1kYy1yYWRpb19fcmlwcGxlOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzO1xufVxuXG4ubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uIC5tZGMtcmFkaW9fX3JpcHBsZTo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtcmFkaW8gLm1kYy1yYWRpb19fcmlwcGxlOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSA1MCUpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGNhbGMoNTAlIC0gNTAlKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtcmFkaW9fX3JpcHBsZTo6YmVmb3JlLFxuLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtcmFkaW9fX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCBjYWxjKDUwJSAtIDUwJSkpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cblxuLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtcmFkaW9fX3JpcHBsZTo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuXG4ubWRjLXJhZGlvIC5tZGMtcmFkaW9fX3JpcHBsZTo6YmVmb3JlLFxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19yaXBwbGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4Njtcbn1cblxuQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX3JpcHBsZTo6YmVmb3JlLFxuICAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX3JpcHBsZTo6YWZ0ZXIge1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbiAgfVxufVxuXG4ubWRjLXJhZGlvOmhvdmVyIC5tZGMtcmFkaW9fX3JpcHBsZTo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4wNDtcbn1cblxuLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQgLm1kYy1yYWRpb19fcmlwcGxlOjpiZWZvcmUsIC5tZGMtcmFkaW86bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1cyAubWRjLXJhZGlvX19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtcmFkaW86bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKSAubWRjLXJhZGlvX19yaXBwbGU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG5cbi5tZGMtcmFkaW86bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmUgLm1kYy1yYWRpb19fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBjb250ZW50OiBub25lO1xufVxuXG4ubWRjLXJhZGlvX19yaXBwbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBrZXlmcmFtZXMgbWRjLXNlbGVjdC1mbG9hdC1uYXRpdmUtY29udHJvbCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5tZGMtbGluZS1yaXBwbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG9wYWNpdHkgMTgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogMjtcbn1cblxuLm1kYy1saW5lLXJpcHBsZS0tYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtbGluZS1yaXBwbGUtLWRlYWN0aXZhdGluZyB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKiBAbm9mbGlwICovXG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtbm90Y2hlZC1vdXRsaW5lLCAubWRjLW5vdGNoZWQtb3V0bGluZVtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IGJvcmRlciAxNTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgd2lkdGg6IDEycHg7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZ1tkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4ubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTJweCAqIDIpO1xufVxuXG4ubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTdweDtcbiAgYm90dG9tOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbn1cblxuLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAuNzUpO1xufVxuXG4ubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLCAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2hbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ubWRjLW5vdGNoZWQtb3V0bGluZS0tbm8tbGFiZWwgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDkzN2VtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIGNvbG9yIDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTVyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHRleHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAvKiBAbm9mbGlwICovXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMC43NSk7XG59XG5cbi5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtc3RhbmRhcmQgMjUwbXMgMTtcbn1cblxuQGtleWZyYW1lcyBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtc3RhbmRhcmQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDAlKSkgdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMsIDAuNDk1ODIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gMCUpKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDQsIDAuMzgxMzUsIDAuNTUsIDAuOTU2MzUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIDAlKSkgdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDAuNzUpO1xuICB9XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9faWNvbiB7XG4gIGNvbG9yOiAjMDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc3VyZmFjZSwgIzAwMCk7XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDE2cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgb3BhY2l0eTogMC41NDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubWRjLXNlbGVjdF9faWNvbjpub3QoW3RhYmluZGV4XSksXG4ubWRjLXNlbGVjdF9faWNvblt0YWJpbmRleD1cIi0xXCJdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1zZWxlY3QtaGVscGVyLXRleHQge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDMzMzNlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIG9wYWNpdHk6IDA7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xufVxuXG4ubWRjLXNlbGVjdC1oZWxwZXItdGV4dDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICB2ZXJ0aWNhbC1hbGlnbjogMDtcbn1cblxuLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXBlcnNpc3RlbnQge1xuICB0cmFuc2l0aW9uOiBub25lO1xuICBvcGFjaXR5OiAxO1xuICB3aWxsLWNoYW5nZTogaW5pdGlhbDtcbn1cblxuLm1kYy1zZWxlY3Qge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm0sIGNvbG9yO1xufVxuXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlc21va2U7XG59XG5cbi5tZGMtc2VsZWN0OjpiZWZvcmUsIC5tZGMtc2VsZWN0OjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLm1kYy1zZWxlY3Q6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5tZGMtc2VsZWN0Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLXNlbGVjdC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuXG4ubWRjLXNlbGVjdC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTtcbn1cblxuLm1kYy1zZWxlY3QubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzO1xufVxuXG4ubWRjLXNlbGVjdC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuLm1kYy1zZWxlY3Q6OmJlZm9yZSwgLm1kYy1zZWxlY3Q6OmFmdGVyIHtcbiAgdG9wOiBjYWxjKDUwJSAtIDEwMCUpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGNhbGMoNTAlIC0gMTAwJSk7XG4gIHdpZHRoOiAyMDAlO1xuICBoZWlnaHQ6IDIwMCU7XG59XG5cbi5tZGMtc2VsZWN0Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cblxuLm1kYy1zZWxlY3Q6OmJlZm9yZSwgLm1kYy1zZWxlY3Q6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLm1kYy1zZWxlY3Q6aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG5cbi5tZGMtc2VsZWN0Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAubWRjLXNlbGVjdDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxuLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDIpO1xufVxuXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLm1kYy1zZWxlY3QsIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xufVxuXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbGluZS1yaXBwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjIwMGVlO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjNjIwMGVlKTtcbn1cblxuLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6IHJnYmEoOTgsIDAsIDIzOCwgMC44Nyk7XG59XG5cbi5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDpob3ZlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi5tZGMtc2VsZWN0IC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MCUpIHNjYWxlKDAuNzUpO1xufVxuXG4ubWRjLXNlbGVjdCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xuICB0b3A6IDIxcHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0IC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtc2VsZWN0IC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAxNnB4O1xufVxuXG4ubWRjLXNlbGVjdC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiA0OHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiA0OHB4O1xufVxuXG4ubWRjLXNlbGVjdC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiA0cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG4gIHRvcDogMTdweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLCAubWRjLXNlbGVjdC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogNHB4O1xufVxuXG4ubWRjLXNlbGVjdC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAzNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAzNnB4O1xufVxuXG4ubWRjLXNlbGVjdC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMzZweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSwgLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmVbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAzNnB4O1xufVxuXG4ubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEwcHglMjIlMjBoZWlnaHQlM0QlMjI1cHglMjIlMjB2aWV3Qm94JTNEJTIyNyUyMDEwJTIwMTAlMjA1JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGlkJTNEJTIyU2hhcGUlMjIlMjBzdHJva2UlM0QlMjJub25lJTIyJTIwZmlsbCUzRCUyMiUyMzAwMCUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBvcGFjaXR5JTNEJTIyMC41NCUyMiUyMHBvaW50cyUzRCUyMjclMjAxMCUyMDEyJTIwMTUlMjAxNyUyMDEwJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRVwiKSBuby1yZXBlYXQgY2VudGVyO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDhweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDE2cHg7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiwgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb25bZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiA4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGF1dG87XG59XG5cbi5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtc2VsZWN0X19kcm9wZG93bi1pY29uIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTBweCUyMiUyMGhlaWdodCUzRCUyMjVweCUyMiUyMHZpZXdCb3glM0QlMjI3JTIwMTAlMjAxMCUyMDUlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwaWQlM0QlMjJTaGFwZSUyMiUyMHN0cm9rZSUzRCUyMm5vbmUlMjIlMjBmaWxsJTNEJTIyJTIzNjIwMGVlJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMG9wYWNpdHklM0QlMjIxJTIyJTIwcG9pbnRzJTNEJTIyNyUyMDEwJTIwMTIlMjAxNSUyMDE3JTIwMTAlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTNDJTJGc3ZnJTNFXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG59XG5cbi5tZGMtc2VsZWN0LS1hY3RpdmF0ZWQgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVkoLTVweCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xufVxuXG4ubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWxpbmUtcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMik7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtc2VsZWN0ICsgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQge1xuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG59XG5cbi5tZGMtc2VsZWN0LS1mb2N1c2VkICsgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQ6bm90KC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0LS12YWxpZGF0aW9uLW1zZykge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIHBhZGRpbmctdG9wOiAyMnB4O1xufVxuXG4ubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4ubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDUycHg7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDkzN2VtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1NnB4O1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCwgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sW2Rpcj1cInJ0bFwiXSwgW2Rpcj1cInJ0bFwiXVxuLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQsXG4ubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNTJweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG4ubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6Oi1tcy1leHBhbmQsXG4ubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDo6LW1zLXZhbHVlLFxuLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQ6Oi1tcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeChcIlwiKSB7XG4gIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCxcbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgIHRleHQtaW5kZW50OiAtMnB4O1xuICB9XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2w6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICM2MjAwZWU7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzYyMDBlZSk7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQgMjUwbXMgMTtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZ1tkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLCAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDo6YmVmb3JlLCAubWRjLXNlbGVjdC0tb3V0bGluZWQ6OmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ0JSkgc2NhbGUoMSk7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA1MnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogMTJweDtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDE7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCwgLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbFtkaXI9XCJydGxcIl0sIFtkaXI9XCJydGxcIl1cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNTJweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICBwYWRkaW5nLXRvcDogMTRweDtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgei1pbmRleDogMjtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBsaW5lLWhlaWdodDogMS4xNXJlbTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxuLm1kYy1zZWxlY3QtLWludmFsaWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1saW5lLXJpcHBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICNiMDAwMjA7XG59XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWludmFsaWQgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cge1xuICBjb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sOmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci13aWR0aDogMnB4O1xufVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtc2VsZWN0X19kcm9wZG93bi1pY29uIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTBweCUyMiUyMGhlaWdodCUzRCUyMjVweCUyMiUyMHZpZXdCb3glM0QlMjI3JTIwMTAlMjAxMCUyMDUlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwaWQlM0QlMjJTaGFwZSUyMiUyMHN0cm9rZSUzRCUyMm5vbmUlMjIlMjBmaWxsJTNEJTIyJTIzYjAwMDIwJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMG9wYWNpdHklM0QlMjIxJTIyJTIwcG9pbnRzJTNEJTIyNyUyMDEwJTIwMTIlMjAxNSUyMDE3JTIwMTAlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTNDJTJGc3ZnJTNFXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG59XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkICsgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1kYy1zZWxlY3QtLXJlcXVpcmVkIC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyIHtcbiAgY29udGVudDogXCIqXCI7XG59XG5cbi5tZGMtc2VsZWN0LS1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNyk7XG59XG5cbi5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEwcHglMjIlMjBoZWlnaHQlM0QlMjI1cHglMjIlMjB2aWV3Qm94JTNEJTIyNyUyMDEwJTIwMTAlMjA1JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGlkJTNEJTIyU2hhcGUlMjIlMjBzdHJva2UlM0QlMjJub25lJTIyJTIwZmlsbCUzRCUyMiUyMzAwMCUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBvcGFjaXR5JTNEJTIyMC4zNyUyMiUyMHBvaW50cyUzRCUyMjclMjAxMCUyMDEyJTIwMTUlMjAxNyUyMDEwJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRVwiKSBuby1yZXBlYXQgY2VudGVyO1xufVxuXG4ubWRjLXNlbGVjdC0tZGlzYWJsZWQgLm1kYy1saW5lLXJpcHBsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLXNlbGVjdF9faWNvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzcpO1xufVxuXG4ubWRjLXNlbGVjdC0tZGlzYWJsZWQgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxuLm1kYy1zZWxlY3QtLWRpc2FibGVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNyk7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbn1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZGMtc2VsZWN0LS1kaXNhYmxlZC5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWRjLXNlbGVjdC0tZGlzYWJsZWQubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX25hdGl2ZS1jb250cm9sLFxuLm1kYy1zZWxlY3QtLWRpc2FibGVkLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogbm9uZTtcbn1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy1zZWxlY3QtLWRpc2FibGVkLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1kaXNhYmxlZC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNik7XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX2ljb24sIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9faWNvbltkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDE2cHg7XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2wsIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9fbmF0aXZlLWNvbnRyb2xbZGlyPVwicnRsXCJdLCBbZGlyPVwicnRsXCJdXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQsXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHRbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogNDhweDtcbn1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDQlKSB0cmFuc2xhdGVYKC0zMnB4KSBzY2FsZSgxKTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NCUpIHRyYW5zbGF0ZVgoMzJweCkgc2NhbGUoMSk7XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTMwJSkgdHJhbnNsYXRlWCgtMzJweCkgc2NhbGUoMC43NSk7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLCAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmVbZGlyPVwicnRsXCJdLCBbZGlyPVwicnRsXCJdXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzMCUpIHRyYW5zbGF0ZVgoMzJweCkgc2NhbGUoMC43NSk7XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXNlbGVjdC1vdXRsaW5lZC1sZWFkaW5nLWljb24gMjUwbXMgMTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2UsIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZFtkaXI9XCJydGxcIl0gLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2Uge1xuICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uLXJ0bCAyNTBtcyAxO1xufVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QtaXRlbV9fdGV4dCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDMycHg7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0LWl0ZW1fX3RleHQsIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdC1pdGVtX190ZXh0W2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDMycHg7XG59XG5cbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQge1xuICBjb2xvcjogIzAwMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXN1cmZhY2UsICMwMDApO1xufVxuXG4ubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOjpiZWZvcmUsIC5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOjpiZWZvcmUsIC5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6OmFmdGVyIHtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXN1cmZhY2UsICMwMDApO1xuICB9XG59XG5cbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG5cbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuXG4ubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjEyO1xufVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAzMnB4KSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7XG4gIH1cbiAgMzMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjcwMTczLCAwLjQ5NTgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIDMycHgpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICA2NiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMwMjQ0LCAwLjM4MTM1LCAwLjU1LCAwLjk1NjM1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAzMnB4KSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDMycHgpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uLXJ0bCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gLTMycHgpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMsIDAuNDk1ODIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gLTMycHgpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICA2NiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMwMjQ0LCAwLjM4MTM1LCAwLjU1LCAwLjk1NjM1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAtMzJweCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAtMzJweCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG59XG5cbi5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzMzM2VtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgb3BhY2l0eTogMDtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICB2ZXJ0aWNhbC1hbGlnbjogMDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LS1wZXJzaXN0ZW50IHtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgd2lsbC1jaGFuZ2U6IGluaXRpYWw7XG59XG5cbi5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlciB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzMzM2VtO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDE2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlciwgLm1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlciwgLm1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uLFxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1kYy10ZXh0LWZpZWxkX19pY29uOm5vdChbdGFiaW5kZXhdKSxcbi5tZGMtdGV4dC1maWVsZF9faWNvblt0YWJpbmRleD1cIi0xXCJdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDU2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybSwgY29sb3I7XG59XG5cbi5tZGMtdGV4dC1maWVsZDo6YmVmb3JlLCAubWRjLXRleHQtZmllbGQ6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWRjLXRleHQtZmllbGQ6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5tZGMtdGV4dC1maWVsZC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG5cbi5tZGMtdGV4dC1maWVsZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLXRleHQtZmllbGQ6OmJlZm9yZSwgLm1kYy10ZXh0LWZpZWxkOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi5tZGMtdGV4dC1maWVsZDpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4wNDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy10ZXh0LWZpZWxkOjpiZWZvcmUsIC5tZGMtdGV4dC1maWVsZDo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gMTAwJSk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgd2lkdGg6IDIwMCU7XG4gIGhlaWdodDogMjAwJTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi5tZGMtdGV4dC1maWVsZCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgY2FyZXQtY29sb3I6ICM2MjAwZWU7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY2FyZXQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjNjIwMGVlKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDIpO1xufVxuXG4ubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLW91dGxpbmVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi5tZGMtdGV4dC1maWVsZCAubWRjLWxpbmUtcmlwcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYyMDBlZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzYyMDBlZSk7XG59XG5cbi5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZSAubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuXG4ubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlcixcbi5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUgLm1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlc21va2U7XG59XG5cbi5tZGMtdGV4dC1maWVsZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xuICB0b3A6IDE4cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZCAubWRjLWZsb2F0aW5nLWxhYmVsLCAubWRjLXRleHQtZmllbGQgLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDE2cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogNHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogNHB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDRweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbiAgdG9wOiAxN3B4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogNHB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAzNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAzNnB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogNDBweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSwgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmVbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiA0MHB4O1xufVxuXG4ubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwOTM3ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4IDE2cHggNnB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4ubWRjLXRleHQtZmllbGRfX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNjdtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBvcGFjaXR5OiAwO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkX19pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KSAhaW1wb3J0YW50O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWZ1bGx3aWR0aCAubWRjLXRleHQtZmllbGRfX2lucHV0OjpwbGFjZWhvbGRlcixcbi5tZGMtdGV4dC1maWVsZC0tbm8tbGFiZWwgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDo6cGxhY2Vob2xkZXIsXG4ubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDo6cGxhY2Vob2xkZXIge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA0MG1zO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxMTBtcztcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5tZGMtdGV4dC1maWVsZF9faW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gIHotaW5kZXg6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1uby1sYWJlbDpub3QoLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBwYWRkaW5nLXRvcDogMTZweDtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZF9faW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCArIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMC43NSk7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzYyMDBlZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjNjIwMGVlKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQgMjUwbXMgMTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZ1tkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NCUpIHNjYWxlKDEpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6OmJlZm9yZSwgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDo6YWZ0ZXIge1xuICBjb250ZW50OiBub25lO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxMnB4IDE2cHggMTRweDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB6LWluZGV4OiAxO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDYpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2Uge1xuICBoZWlnaHQ6IDQ4cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMzQlKSBzY2FsZSgxKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBmb250LXNpemU6IDAuOHJlbTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2UgMjUwbXMgMTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIHBhZGRpbmc6IDEycHggMTJweCA3cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICB0b3A6IDE0cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIHRvcDogMTJweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb24sIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogMTZweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faW5wdXQsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pbnB1dFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDQ4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiA0OHB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy10ZXh0LWZpZWxkX19pY29uLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAxNnB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2lucHV0LCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2lucHV0W2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDQlKSB0cmFuc2xhdGVYKC0zMnB4KSBzY2FsZSgxKTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmVbZGlyPVwicnRsXCJdIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDQlKSB0cmFuc2xhdGVYKDMycHgpIHNjYWxlKDEpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzMCUpIHRyYW5zbGF0ZVgoLTMycHgpIHNjYWxlKDAuNzUpO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0sIFtkaXI9XCJydGxcIl1cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzMCUpIHRyYW5zbGF0ZVgoMzJweCkgc2NhbGUoMC43NSk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uIDI1MG1zIDE7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2UsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkW2Rpcj1cInJ0bFwiXSAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLXJ0bCAyNTBtcyAxO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAzNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAzNnB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzNCUpIHRyYW5zbGF0ZVgoLTIxcHgpIHNjYWxlKDEpO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlW2Rpcj1cInJ0bFwiXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTM0JSkgdHJhbnNsYXRlWCgyMXB4KSBzY2FsZSgxKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZS5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMCUpIHRyYW5zbGF0ZVgoLTIxcHgpIHNjYWxlKDAuOCk7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmVbZGlyPVwicnRsXCJdLCBbZGlyPVwicnRsXCJdXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9XCJydGxcIl0ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMCUpIHRyYW5zbGF0ZVgoMjFweCkgc2NhbGUoMC44KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZC1sZWFkaW5nLWljb24tZGVuc2UgMjUwbXMgMTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2UsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZVtkaXI9XCJydGxcIl0gLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2Uge1xuICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0LWZpZWxkLW91dGxpbmVkLWxlYWRpbmctaWNvbi1kZW5zZS1ydGwgMjUwbXMgMTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDMycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLWZsb2F0aW5nLWxhYmVsW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogMzJweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAxMnB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMTJweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pbnB1dCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pbnB1dFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy10ZXh0LWZpZWxkX19pY29uIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAxNnB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2ljb24sIC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQsIC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLXRleHQtZmllbGRfX2lucHV0W2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGF1dG87XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbltkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDE2cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2ljb24gfiAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAxMnB4O1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGF1dG87XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbiB+IC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faWNvbiB+IC5tZGMtdGV4dC1maWVsZF9faWNvbltkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBhdXRvO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDEycHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogNDhweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24gLm1kYy10ZXh0LWZpZWxkX19pbnB1dCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIC5tZGMtdGV4dC1maWVsZF9faW5wdXRbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogNDhweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uLFxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gIGJvdHRvbTogMTZweDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDEycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uLCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb25bZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAxMnB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2lucHV0LCAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2lucHV0W2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDQ0cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDQ0cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDQ0cHg7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDEycHg7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbiwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faWNvbltkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDEycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogNDRweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCwgLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faW5wdXRbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDEycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGF1dG87XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24sIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogYXV0bztcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogMTJweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24gfiAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAxMnB4O1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGF1dG87XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2ljb24gfiAubWRjLXRleHQtZmllbGRfX2ljb24sIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pY29uIH4gLm1kYy10ZXh0LWZpZWxkX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMTJweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS1kZW5zZSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogNDRweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtdGV4dC1maWVsZF9faW5wdXQsIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pbnB1dFtkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNDRweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA0NHB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MCUpIHNjYWxlKDAuOCk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2Uge1xuICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0LWZpZWxkLWRlbnNlIDI1MG1zIDE7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIHBhZGRpbmc6IDEycHggMTJweCAwO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWRlbnNlIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBmb250LXNpemU6IC44MTNyZW07XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZGVuc2UgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBmb250LXNpemU6IC44MTNyZW07XG59XG5cbi5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlcixcbi5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAxcHg7XG4gIGNvbnRlbnQ6IFwiKlwiO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICM2MjAwZWU7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzYyMDBlZSk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2Uge1xuICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0LWZpZWxkLW91dGxpbmVkIDI1MG1zIDE7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmdbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLCAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZ1tkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOjpiZWZvcmUsIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6OmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ0JSkgc2NhbGUoMSk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDE2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxM3B4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyLCAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlcltkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIGFsaWduLXNlbGY6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiA4cHggMXB4IDFweCAwO1xuICBwYWRkaW5nOiAwIDE2cHggMTZweDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlciArIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgdG9wOiAxN3B4O1xuICBib3R0b206IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1mdWxsd2lkdGgge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1mdWxsd2lkdGg6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZnVsbHdpZHRoOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKTo6YmVmb3JlLCAubWRjLXRleHQtZmllbGQtLWZ1bGx3aWR0aDpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSk6OmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1mdWxsd2lkdGg6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWZ1bGx3aWR0aDpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZnVsbHdpZHRoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1mdWxsd2lkdGgubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWRlbnNlICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4ubWRjLXRleHQtZmllbGQgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUge1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG59XG5cbi5tZGMtZm9ybS1maWVsZCA+IC5tZGMtdGV4dC1maWVsZCArIGxhYmVsLCAuZm9ybV9jaGVja2JveC1ncm91cCA+IC5tZGMtdGV4dC1maWVsZCArIGxhYmVsIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6IHJnYmEoOTgsIDAsIDIzOCwgMC44Nyk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1mbG9hdGluZy1sYWJlbDo6YWZ0ZXIsXG4ubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyIHtcbiAgY29sb3I6IHJnYmEoOTgsIDAsIDIzOCwgMC44Nyk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZSAubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQ6bm90KC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cpIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICM2MjAwZWU7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzYyMDBlZSk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLW91dGxpbmVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWxpbmUtcmlwcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZSAubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnIHtcbiAgY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgY2FyZXQtY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY2FyZXQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyLFxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDo6YWZ0ZXIge1xuICBjb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb246bm90KC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24pOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICBjb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2ljb24gfiAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICBjb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pY29uOmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKSAubWRjLXRleHQtZmllbGRfX2ljb246aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpIC5tZGMtdGV4dC1maWVsZF9faWNvbjpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDYpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM3KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNyk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNyk7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy10ZXh0LWZpZWxkLWNoYXJhY3Rlci1jb3VudGVyLFxuLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZSAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM3KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4ubWRjLXRleHQtZmllbGQtLWRpc2FibGVkOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xufVxuXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA2KTtcbn1cblxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtZGVuc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDAlKSkgdHJhbnNsYXRlWSgtNzAlKSBzY2FsZSgwLjgpO1xuICB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MywgMC40OTU4Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTcwJSkgc2NhbGUoMC44KTtcbiAgfVxuICA2NiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMwMjQ0LCAwLjM4MTM1LCAwLjU1LCAwLjk1NjM1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTcwJSkgc2NhbGUoMC44KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC03MCUpIHNjYWxlKDAuOCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dC1maWVsZC1vdXRsaW5lZCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMsIDAuNDk1ODIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gMCUpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICA2NiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMwMjQ0LCAwLjM4MTM1LCAwLjU1LCAwLjk1NjM1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwJSkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtZGVuc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDAlKSkgdHJhbnNsYXRlWSgtMTIwJSkgc2NhbGUoMC44KTtcbiAgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMsIDAuNDk1ODIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gMCUpKSB0cmFuc2xhdGVZKC0xMjAlKSBzY2FsZSgwLjgpO1xuICB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDQsIDAuMzgxMzUsIDAuNTUsIDAuOTU2MzUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIDAlKSkgdHJhbnNsYXRlWSgtMTIwJSkgc2NhbGUoMC44KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC0xMjAlKSBzY2FsZSgwLjgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7XG4gIH1cbiAgMzMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjcwMTczLCAwLjQ5NTgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIDApKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICA2NiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMwMjQ0LCAwLjM4MTM1LCAwLjU1LCAwLjk1NjM1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAwKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDApKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0LWZpZWxkLW91dGxpbmVkLWxlYWRpbmctaWNvbi1kZW5zZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMjFweCkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7XG4gIH1cbiAgMzMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjcwMTczLCAwLjQ5NTgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIDIxcHgpKSB0cmFuc2xhdGVZKC0xMjAlKSBzY2FsZSgwLjgpO1xuICB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDQsIDAuMzgxMzUsIDAuNTUsIDAuOTU2MzUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIDIxcHgpKSB0cmFuc2xhdGVZKC0xMjAlKSBzY2FsZSgwLjgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAyMXB4KSkgdHJhbnNsYXRlWSgtMTIwJSkgc2NhbGUoMC44KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS10ZXh0LWZpZWxkLW91dGxpbmVkLWxlYWRpbmctaWNvbi1ydGwge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDApKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMsIDAuNDk1ODIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gMCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDQsIDAuMzgxMzUsIDAuNTUsIDAuOTU2MzUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIDApKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCkpIHRyYW5zbGF0ZVkoLTEzMCUpIHNjYWxlKDAuNzUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLWRlbnNlLXJ0bCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gLTIxcHgpKSB0cmFuc2xhdGVZKC0xMjAlKSBzY2FsZSgwLjgpO1xuICB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MywgMC40OTU4Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAtMjFweCkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7XG4gIH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0NCwgMC4zODEzNSwgMC41NSwgMC45NTYzNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gLTIxcHgpKSB0cmFuc2xhdGVZKC0xMjAlKSBzY2FsZSgwLjgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAtMjFweCkpIHRyYW5zbGF0ZVkoLTEyMCUpIHNjYWxlKDAuOCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtdGV4dGFyZWEge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDAlKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7XG4gIH1cbiAgMzMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjcwMTczLCAwLjQ5NTgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIDAlKSkgdHJhbnNsYXRlWSgtMTMwJSkgc2NhbGUoMC43NSk7XG4gIH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0NCwgMC4zODEzNSwgMC41NSwgMC45NTYzNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gMCUpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC0xMzAlKSBzY2FsZSgwLjc1KTtcbiAgfVxufVxuXG4vKipcclxuICAgU3R5bGUgQ29sb3IgRm9jdXMgZGVzIElucHV0XHJcbiAqL1xuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlcixcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtZmxvYXRpbmctbGFiZWwsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLWZsb2F0aW5nLWxhYmVsOmFmdGVyIHtcbiAgY29sb3I6IHJnYmEoMjA0LCAxMDIsIDAsIDAuODcpICFpbXBvcnRhbnQ7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLFxuLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsXG4ubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI0NDNjYwMDtcbn1cblxuLyoqXHJcbiAgIFN0eWxlIFRleHRGaWVsZFxyXG4gKi9cbi5tZGMtdGV4dC1maWVsZCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgY2FyZXQtY29sb3I6ICMwMDA7XG59XG5cbi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG4gIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICBwYWRkaW5nOiAxMHB4IDI1cHggMTZweDtcbn1cblxuLyoqXHJcbiAgIFN0eWxlIFNlbGVjdFxyXG4gKi9cbi5tZGMtc2VsZWN0IC5tZGMtc2VsZWN0X19uYXRpdmUtY29udHJvbCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4ubWRjLXNlbGVjdCBpLm1hdGVyaWFsLWljb25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDVweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLW91dDtcbn1cblxuLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tZm9jdXNlZCBpLm1hdGVyaWFsLWljb25zIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDE4MGRlZyk7XG4gIGNvbG9yOiAjQ0M2NjAwO1xufVxuXG4vKipcclxuICAgRm9ybSBHbG9iYWxcclxuICovXG4ubWRjLXRleHQtZmllbGQsXG4ubWRjLXNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uZm9ybSBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZm9ybV9pbnB1dC1ncm91cCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4uZm9ybV9pbnB1dC1ncm91cCA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5mb3JtX2lucHV0LWdyb3VwID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmZvcm1faW5wdXQtZ3JvdXAgPiBkaXY6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmZvcm1faW5wdXQtZ3JvdXAgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmZvcm1faW5wdXQtZ3JvdXAgPiBkaXY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZm9ybV9pbnB1dC1ncm91cCA+IGRpdjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmZvcm1fY2hlY2tib3gtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uZm9ybV9jaGVja2JveC1ncm91cCBsYWJlbCB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmZvcm1fcmFkaW8tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbn1cblxuLmZvcm1fbm90aWYge1xuICBwYWRkaW5nOiAxNXB4O1xuICBtYXJnaW46IDE1cHggMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IHNvbGlkIDFweDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5mb3JtX25vdGlmLmZvcm1fbm90aWZfdmFsaWQge1xuICBjb2xvcjogIzE1NTcyNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZWRkYTtcbiAgYm9yZGVyLWNvbG9yOiAjYzNlNmNiO1xufVxuXG4uZm9ybV9ub3RpZi5mb3JtX25vdGlmX2Vycm9yIHtcbiAgY29sb3I6ICNhYjJlNDY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWRkZGQ7XG4gIGJvcmRlci1jb2xvcjogI2Y1ZGRkZDtcbn1cblxuLmZvcm1fbm90aWYuZm9ybV9ub3RpZl93YXJuaW5nIHtcbiAgY29sb3I6ICM4NTY0MDQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYzY2Q7XG4gIGJvcmRlci1jb2xvcjogI2ZmZWViYTtcbn1cblxuLmZvcm1fbm90aWYgdWwge1xuICBtYXJnaW46IDVweCAwO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG59XG5cbi5mb3JtIC5jaG9pY2Utc2ltcGxlIHtcbiAgbWFyZ2luOiAxNXB4IDA7XG59XG5cbi5mb3JtIC5jaG9pY2Utc2ltcGxlIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZvcm0gLmNob2ljZS1zaW1wbGUgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcGFkZGluZzogMTNweCAxN3B4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTczRDFDO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzU3M0QxQztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZm9ybSAuY2hvaWNlLXNpbXBsZSBsYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAxMDIsIDAsIDAuMSk7XG59XG5cbi5mb3JtIC5jaG9pY2Utc2ltcGxlIGxhYmVsOm50aC1jaGlsZCgyKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xufVxuXG4uZm9ybSAuY2hvaWNlLXNpbXBsZSBsYWJlbDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbn1cblxuLmZvcm0gLmNob2ljZS1zaW1wbGUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU3M0QxQztcbiAgY29sb3I6IHdoaXRlO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmZvcm0gLmNob2ljZS1zaW1wbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5mb3JtIC5jaG9pY2Utc2ltcGxlIGxhYmVsIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB9XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2xnJztcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbGlnaHRnYWxsZXJ5LmpzL2Rpc3QvZm9udHMvbGcudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbGlnaHRnYWxsZXJ5LmpzL2Rpc3QvZm9udHMvbGcud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbGlnaHRnYWxsZXJ5LmpzL2Rpc3QvZm9udHMvbGcuc3ZnXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubGctaWNvbiB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnbGcnICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBuZXZlcjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5sZy1hY3Rpb25zIC5sZy1uZXh0LCAubGctYWN0aW9ucyAubGctcHJldiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6ICM5OTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIHBhZGRpbmc6IDhweCAxMHB4IDlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgei1pbmRleDogMTA4MDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmxnLWFjdGlvbnMgLmxnLW5leHQuZGlzYWJsZWQsIC5sZy1hY3Rpb25zIC5sZy1wcmV2LmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLmxnLWFjdGlvbnMgLmxnLW5leHQ6aG92ZXIsIC5sZy1hY3Rpb25zIC5sZy1wcmV2OmhvdmVyIHtcbiAgY29sb3I6ICNGRkY7XG59XG5cbi5sZy1hY3Rpb25zIC5sZy1uZXh0IHtcbiAgcmlnaHQ6IDIwcHg7XG59XG5cbi5sZy1hY3Rpb25zIC5sZy1uZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDk1XCI7XG59XG5cbi5sZy1hY3Rpb25zIC5sZy1wcmV2IHtcbiAgbGVmdDogMjBweDtcbn1cblxuLmxnLWFjdGlvbnMgLmxnLXByZXY6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTA5NFwiO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGctcmlnaHQtZW5kIHtcbiAgMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBsZWZ0OiAtMzBweDtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBsZy1yaWdodC1lbmQge1xuICAwJSB7XG4gICAgbGVmdDogMDtcbiAgfVxuICA1MCUge1xuICAgIGxlZnQ6IC0zMHB4O1xuICB9XG4gIDEwMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuQC1tcy1rZXlmcmFtZXMgbGctcmlnaHQtZW5kIHtcbiAgMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBsZWZ0OiAtMzBweDtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbGctcmlnaHQtZW5kIHtcbiAgMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBsZWZ0OiAtMzBweDtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsZy1sZWZ0LWVuZCB7XG4gIDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgbGVmdDogMzBweDtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBsZy1sZWZ0LWVuZCB7XG4gIDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgbGVmdDogMzBweDtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbkAtbXMta2V5ZnJhbWVzIGxnLWxlZnQtZW5kIHtcbiAgMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBsZWZ0OiAzMHB4O1xuICB9XG4gIDEwMCUge1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsZy1sZWZ0LWVuZCB7XG4gIDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgbGVmdDogMzBweDtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbi5sZy1vdXRlci5sZy1yaWdodC1lbmQgLmxnLW9iamVjdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBsZy1yaWdodC1lbmQgMC4zcztcbiAgLW8tYW5pbWF0aW9uOiBsZy1yaWdodC1lbmQgMC4zcztcbiAgYW5pbWF0aW9uOiBsZy1yaWdodC1lbmQgMC4zcztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubGctb3V0ZXIubGctbGVmdC1lbmQgLmxnLW9iamVjdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBsZy1sZWZ0LWVuZCAwLjNzO1xuICAtby1hbmltYXRpb246IGxnLWxlZnQtZW5kIDAuM3M7XG4gIGFuaW1hdGlvbjogbGctbGVmdC1lbmQgMC4zcztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubGctdG9vbGJhciB7XG4gIHotaW5kZXg6IDEwODI7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbn1cblxuLmxnLXRvb2xiYXIgLmxnLWljb24ge1xuICBjb2xvcjogIzk5OTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgaGVpZ2h0OiA0N3B4O1xuICBsaW5lLWhlaWdodDogMjdweDtcbiAgcGFkZGluZzogMTBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA1MHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgb3V0bGluZTogbWVkaXVtIG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjogY29sb3IgMC4ycyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgbGluZWFyO1xufVxuXG4ubGctdG9vbGJhciAubGctaWNvbjpob3ZlciB7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG4ubGctdG9vbGJhciAubGctY2xvc2U6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTA3MFwiO1xufVxuXG4ubGctdG9vbGJhciAubGctZG93bmxvYWQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTBmMlwiO1xufVxuXG4ubGctc3ViLWh0bWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICBib3R0b206IDA7XG4gIGNvbG9yOiAjRUVFO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDEwcHggNDBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAxMDgwO1xufVxuXG4ubGctc3ViLWh0bWwgaDQge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5sZy1zdWItaHRtbCBwIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW46IDVweCAwIDA7XG59XG5cbiNsZy1jb3VudGVyIHtcbiAgY29sb3I6ICM5OTk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAxMnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubGctdG9vbGJhciwgLmxnLXByZXYsIC5sZy1uZXh0IHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjM1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4zNXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBjb2xvciAwLjJzIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjM1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4zNXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBjb2xvciAwLjJzIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjM1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIGNvbG9yIDAuMnMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMzVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgY29sb3IgMC4ycyBsaW5lYXI7XG59XG5cbi5sZy1oaWRlLWl0ZW1zIC5sZy1wcmV2IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG59XG5cbi5sZy1oaWRlLWl0ZW1zIC5sZy1uZXh0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xufVxuXG4ubGctaGlkZS1pdGVtcyAubGctdG9vbGJhciB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xufVxuXG5ib2R5Om5vdCgubGctZnJvbS1oYXNoKSAubGctb3V0ZXIubGctc3RhcnQtem9vbSAubGctb2JqZWN0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC41LCAwLjUsIDAuNSk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLjUsIDAuNSwgMC41KTtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpICFpbXBvcnRhbnQ7XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAhaW1wb3J0YW50O1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAhaW1wb3J0YW50O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG59XG5cbmJvZHk6bm90KC5sZy1mcm9tLWhhc2gpIC5sZy1vdXRlci5sZy1zdGFydC16b29tIC5sZy1pdGVtLmxnLWNvbXBsZXRlIC5sZy1vYmplY3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubGctb3V0ZXIgLmxnLXRodW1iLW91dGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBEMEEwQTtcbiAgYm90dG9tOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDgwO1xuICBtYXgtaGVpZ2h0OiAzNTBweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcztcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHM7XG4gIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHM7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHM7XG59XG5cbi5sZy1vdXRlciAubGctdGh1bWItb3V0ZXIubGctZ3JhYiAubGctdGh1bWItaXRlbSB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IC1tb3otZ3JhYjtcbiAgY3Vyc29yOiAtby1ncmFiO1xuICBjdXJzb3I6IC1tcy1ncmFiO1xuICBjdXJzb3I6IGdyYWI7XG59XG5cbi5sZy1vdXRlciAubGctdGh1bWItb3V0ZXIubGctZ3JhYmJpbmcgLmxnLXRodW1iLWl0ZW0ge1xuICBjdXJzb3I6IG1vdmU7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiAtbW96LWdyYWJiaW5nO1xuICBjdXJzb3I6IC1vLWdyYWJiaW5nO1xuICBjdXJzb3I6IC1tcy1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZztcbn1cblxuLmxnLW91dGVyIC5sZy10aHVtYi1vdXRlci5sZy1kcmFnZ2luZyAubGctdGh1bWIge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7XG59XG5cbi5sZy1vdXRlci5sZy10aHVtYi1vcGVuIC5sZy10aHVtYi1vdXRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCUsIDApO1xufVxuXG4ubGctb3V0ZXIgLmxnLXRodW1iIHtcbiAgcGFkZGluZzogMTBweCAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IC01cHg7XG59XG5cbi5sZy1vdXRlciAubGctdGh1bWItaXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogbGVmdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjRkZGO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAubGctb3V0ZXIgLmxnLXRodW1iLWl0ZW0ge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2U7XG4gICAgLW8tdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2U7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2U7XG4gIH1cbn1cblxuLmxnLW91dGVyIC5sZy10aHVtYi1pdGVtLmFjdGl2ZSwgLmxnLW91dGVyIC5sZy10aHVtYi1pdGVtOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTkwNzA3O1xufVxuXG4ubGctb3V0ZXIgLmxnLXRodW1iLWl0ZW0gaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5sZy1vdXRlci5sZy1oYXMtdGh1bWIgLmxnLWl0ZW0ge1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG59XG5cbi5sZy1vdXRlci5sZy1jYW4tdG9nZ2xlIC5sZy1pdGVtIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5sZy1vdXRlci5sZy1wdWxsLWNhcHRpb24tdXAgLmxnLXN1Yi1odG1sIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3R0b20gMC4yNXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYm90dG9tIDAuMjVzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjI1cyBlYXNlO1xufVxuXG4ubGctb3V0ZXIubGctcHVsbC1jYXB0aW9uLXVwLmxnLXRodW1iLW9wZW4gLmxnLXN1Yi1odG1sIHtcbiAgYm90dG9tOiAxMDBweDtcbn1cblxuLmxnLW91dGVyIC5sZy10b2dnbGUtdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEQwQTBBO1xuICBib3JkZXItcmFkaXVzOiAycHggMnB4IDAgMDtcbiAgY29sb3I6ICM5OTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBoZWlnaHQ6IDM5cHg7XG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICBwYWRkaW5nOiA1cHggMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IC0zOXB4O1xuICB3aWR0aDogNTBweDtcbiAgb3V0bGluZTogbWVkaXVtIG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLmxnLW91dGVyIC5sZy10b2dnbGUtdGh1bWI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTFmZlwiO1xufVxuXG4ubGctb3V0ZXIgLmxnLXRvZ2dsZS10aHVtYjpob3ZlciB7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG4ubGctb3V0ZXIgLmxnLXZpZGVvLWNvbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTE0MHB4O1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCA1cHg7XG59XG5cbi5sZy1vdXRlciAubGctdmlkZW8ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sZy1vdXRlciAubGctdmlkZW8gLmxnLW9iamVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4ubGctb3V0ZXIgLmxnLXZpZGVvIC5sZy12aWRlby1wbGF5IHtcbiAgd2lkdGg6IDg0cHg7XG4gIGhlaWdodDogNTlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTQycHg7XG4gIG1hcmdpbi10b3A6IC0zMHB4O1xuICB6LWluZGV4OiAxMDgwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5sZy1vdXRlciAubGctaGFzLXZpbWVvIC5sZy12aWRlby1wbGF5IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2xpZ2h0Z2FsbGVyeS5qcy9kaXN0L2ltZy92aW1lby1wbGF5LnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgMCB0cmFuc3BhcmVudDtcbn1cblxuLmxnLW91dGVyIC5sZy1oYXMtdmltZW86aG92ZXIgLmxnLXZpZGVvLXBsYXkge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbGlnaHRnYWxsZXJ5LmpzL2Rpc3QvaW1nL3ZpbWVvLXBsYXkucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgMCAtNThweCB0cmFuc3BhcmVudDtcbn1cblxuLmxnLW91dGVyIC5sZy1oYXMtaHRtbDUgLmxnLXZpZGVvLXBsYXkge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbGlnaHRnYWxsZXJ5LmpzL2Rpc3QvaW1nL3ZpZGVvLXBsYXkucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgMCAwO1xuICBoZWlnaHQ6IDY0cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMzJweDtcbiAgbWFyZ2luLXRvcDogLTMycHg7XG4gIHdpZHRoOiA2NHB4O1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbi5sZy1vdXRlciAubGctaGFzLWh0bWw1OmhvdmVyIC5sZy12aWRlby1wbGF5IHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmxnLW91dGVyIC5sZy1oYXMteW91dHViZSAubGctdmlkZW8tcGxheSB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9saWdodGdhbGxlcnkuanMvZGlzdC9pbWcveW91dHViZS1wbGF5LnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgMCB0cmFuc3BhcmVudDtcbn1cblxuLmxnLW91dGVyIC5sZy1oYXMteW91dHViZTpob3ZlciAubGctdmlkZW8tcGxheSB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9saWdodGdhbGxlcnkuanMvZGlzdC9pbWcveW91dHViZS1wbGF5LnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIDAgLTYwcHggdHJhbnNwYXJlbnQ7XG59XG5cbi5sZy1vdXRlciAubGctdmlkZW8tb2JqZWN0IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4ubGctb3V0ZXIgLmxnLWhhcy12aWRlbyAubGctdmlkZW8tb2JqZWN0IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ubGctb3V0ZXIgLmxnLWhhcy12aWRlby5sZy12aWRlby1wbGF5aW5nIC5sZy1vYmplY3QsIC5sZy1vdXRlciAubGctaGFzLXZpZGVvLmxnLXZpZGVvLXBsYXlpbmcgLmxnLXZpZGVvLXBsYXkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubGctb3V0ZXIgLmxnLWhhcy12aWRlby5sZy12aWRlby1wbGF5aW5nIC5sZy12aWRlby1vYmplY3Qge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4ubGctcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgaGVpZ2h0OiA1cHg7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTA4MztcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMDhzIGVhc2UgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjA4cyBlYXNlIDBzO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMDhzIGVhc2UgMHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4wOHMgZWFzZSAwcztcbn1cblxuLmxnLXByb2dyZXNzLWJhciAubGctcHJvZ3Jlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTkwNzA3O1xuICBoZWlnaHQ6IDVweDtcbiAgd2lkdGg6IDA7XG59XG5cbi5sZy1wcm9ncmVzcy1iYXIubGctc3RhcnQgLmxnLXByb2dyZXNzIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5sZy1zaG93LWF1dG9wbGF5IC5sZy1wcm9ncmVzcy1iYXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubGctYXV0b3BsYXktYnV0dG9uOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGUwMWRcIjtcbn1cblxuLmxnLXNob3ctYXV0b3BsYXkgLmxnLWF1dG9wbGF5LWJ1dHRvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFhXCI7XG59XG5cbi5sZy1vdXRlci5sZy1jc3MzLmxnLXpvb20tZHJhZ2dpbmcgLmxnLWl0ZW0ubGctY29tcGxldGUubGctem9vbWFibGUgLmxnLWltZy13cmFwLCAubGctb3V0ZXIubGctY3NzMy5sZy16b29tLWRyYWdnaW5nIC5sZy1pdGVtLmxnLWNvbXBsZXRlLmxnLXpvb21hYmxlIC5sZy1pbWFnZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xufVxuXG4ubGctb3V0ZXIubGctdXNlLXRyYW5zaXRpb24tZm9yLXpvb20gLmxnLWl0ZW0ubGctY29tcGxldGUubGctem9vbWFibGUgLmxnLWltZy13cmFwIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcztcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcztcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHM7XG59XG5cbi5sZy1vdXRlci5sZy11c2UtbGVmdC1mb3Item9vbSAubGctaXRlbS5sZy1jb21wbGV0ZS5sZy16b29tYWJsZSAubGctaW1nLXdyYXAge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIHRvcCAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcztcbiAgLW1vei10cmFuc2l0aW9uOiBsZWZ0IDAuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCB0b3AgMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHM7XG4gIC1vLXRyYW5zaXRpb246IGxlZnQgMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIHRvcCAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcztcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgdG9wIDAuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzO1xufVxuXG4ubGctb3V0ZXIgLmxnLWl0ZW0ubGctY29tcGxldGUubGctem9vbWFibGUgLmxnLWltZy13cmFwIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmxnLW91dGVyIC5sZy1pdGVtLmxnLWNvbXBsZXRlLmxnLXpvb21hYmxlIC5sZy1pbWFnZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4xNXMgIWltcG9ydGFudDtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjE1cyAhaW1wb3J0YW50O1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4xNXMgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMTVzICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuI2xnLXpvb20taW46YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTMxMVwiO1xufVxuXG4jbGctYWN0dWFsLXNpemUge1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbiNsZy1hY3R1YWwtc2l6ZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlMDMzXCI7XG59XG5cbiNsZy16b29tLW91dCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbiNsZy16b29tLW91dDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlMzEyXCI7XG59XG5cbi5sZy16b29tZWQgI2xnLXpvb20tb3V0IHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi5sZy1vdXRlciAubGctcGFnZXItb3V0ZXIge1xuICBib3R0b206IDYwcHg7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMTA4MDtcbiAgaGVpZ2h0OiAxMHB4O1xufVxuXG4ubGctb3V0ZXIgLmxnLXBhZ2VyLW91dGVyLmxnLXBhZ2VyLWhvdmVyIC5sZy1wYWdlci1jb250IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5sZy1vdXRlciAubGctcGFnZXItY29udCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIG1hcmdpbjogMCA1cHg7XG59XG5cbi5sZy1vdXRlciAubGctcGFnZXItY29udDpob3ZlciAubGctcGFnZXItdGh1bWItY29udCB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLmxnLW91dGVyIC5sZy1wYWdlci1jb250LmxnLXBhZ2VyLWFjdGl2ZSAubGctcGFnZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggd2hpdGUgaW5zZXQ7XG59XG5cbi5sZy1vdXRlciAubGctcGFnZXItdGh1bWItY29udCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjRkZGO1xuICBib3R0b206IDEwMCU7XG4gIGhlaWdodDogODNweDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLWxlZnQ6IC02MHB4O1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiA1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEyMHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlIDBzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjE1cyBlYXNlIDBzO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSAwcywgLW1vei10cmFuc2Zvcm0gMC4xNXMgZWFzZSAwcztcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlIDBzLCAtby10cmFuc2Zvcm0gMC4xNXMgZWFzZSAwcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlIDBzLCB0cmFuc2Zvcm0gMC4xNXMgZWFzZSAwcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbn1cblxuLmxnLW91dGVyIC5sZy1wYWdlci10aHVtYi1jb250IGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5sZy1vdXRlciAubGctcGFnZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogMCAwIDAgOHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSBpbnNldDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTJweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZSAwcztcbiAgLW8tdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzIGVhc2UgMHM7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBlYXNlIDBzO1xuICB3aWR0aDogMTJweDtcbn1cblxuLmxnLW91dGVyIC5sZy1wYWdlcjpob3ZlciwgLmxnLW91dGVyIC5sZy1wYWdlcjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDhweCB3aGl0ZSBpbnNldDtcbn1cblxuLmxnLW91dGVyIC5sZy1jYXJldCB7XG4gIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDEwcHggZGFzaGVkO1xuICBib3R0b206IC0xMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMDtcbn1cblxuLmxnLWZ1bGxzY3JlZW46YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTIwY1wiO1xufVxuXG4ubGctZnVsbHNjcmVlbi1vbiAubGctZnVsbHNjcmVlbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlMjBkXCI7XG59XG5cbi5sZy1vdXRlciAjbGctZHJvcGRvd24tb3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIGJvdHRvbTogMDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwODE7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjE4cywgb3BhY2l0eSAwLjE4cyBsaW5lYXIgMHM7XG4gIC1vLXRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMgbGluZWFyIDAuMThzLCBvcGFjaXR5IDAuMThzIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC4xOHMsIG9wYWNpdHkgMC4xOHMgbGluZWFyIDBzO1xufVxuXG4ubGctb3V0ZXIubGctZHJvcGRvd24tYWN0aXZlIC5sZy1kcm9wZG93biwgLmxnLW91dGVyLmxnLWRyb3Bkb3duLWFjdGl2ZSAjbGctZHJvcGRvd24tb3ZlcmxheSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMHB4LCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwcHgsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwcHgsIDApO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMHB4LCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwcHgsIDApO1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4ubGctb3V0ZXIubGctZHJvcGRvd24tYWN0aXZlICNsZy1zaGFyZSB7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG4ubGctb3V0ZXIgLmxnLWRyb3Bkb3duIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRvcDogNTBweDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMThzIGxpbmVhciAwcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC41cywgb3BhY2l0eSAwLjE4cyBsaW5lYXIgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC4xOHMgbGluZWFyIDBzLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjVzLCBvcGFjaXR5IDAuMThzIGxpbmVhciAwcztcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuMThzIGxpbmVhciAwcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC41cywgb3BhY2l0eSAwLjE4cyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE4cyBsaW5lYXIgMHMsIHZpc2liaWxpdHkgMHMgbGluZWFyIDAuNXMsIG9wYWNpdHkgMC4xOHMgbGluZWFyIDBzO1xufVxuXG4ubGctb3V0ZXIgLmxnLWRyb3Bkb3duOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNGRkY7XG4gIHJpZ2h0OiAxNnB4O1xuICB0b3A6IC0xNnB4O1xufVxuXG4ubGctb3V0ZXIgLmxnLWRyb3Bkb3duID4gbGk6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbn1cblxuLmxnLW91dGVyIC5sZy1kcm9wZG93biA+IGxpOmhvdmVyIGEsIC5sZy1vdXRlciAubGctZHJvcGRvd24gPiBsaTpob3ZlciAubGctaWNvbiB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4ubGctb3V0ZXIgLmxnLWRyb3Bkb3duIGEge1xuICBjb2xvcjogIzMzMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHBhZGRpbmc6IDRweCAxMnB4O1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIixcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmxnLW91dGVyIC5sZy1kcm9wZG93biBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3KTtcbn1cblxuLmxnLW91dGVyIC5sZy1kcm9wZG93biAubGctZHJvcGRvd24tdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5sZy1vdXRlciAubGctZHJvcGRvd24gLmxnLWljb24ge1xuICBjb2xvcjogIzMzMztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgcGFkZGluZzogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5sZy1vdXRlciAjbGctc2hhcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sZy1vdXRlciAjbGctc2hhcmU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTgwZFwiO1xufVxuXG4ubGctb3V0ZXIgI2xnLXNoYXJlLWZhY2Vib29rIC5sZy1pY29uIHtcbiAgY29sb3I6ICMzYjU5OTg7XG59XG5cbi5sZy1vdXRlciAjbGctc2hhcmUtZmFjZWJvb2sgLmxnLWljb246YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuXG4ubGctb3V0ZXIgI2xnLXNoYXJlLXR3aXR0ZXIgLmxnLWljb24ge1xuICBjb2xvcjogIzAwYWNlZDtcbn1cblxuLmxnLW91dGVyICNsZy1zaGFyZS10d2l0dGVyIC5sZy1pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cblxuLmxnLW91dGVyICNsZy1zaGFyZS1nb29nbGVwbHVzIC5sZy1pY29uIHtcbiAgY29sb3I6ICNkZDRiMzk7XG59XG5cbi5sZy1vdXRlciAjbGctc2hhcmUtZ29vZ2xlcGx1cyAubGctaWNvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG59XG5cbi5sZy1vdXRlciAjbGctc2hhcmUtcGludGVyZXN0IC5sZy1pY29uIHtcbiAgY29sb3I6ICNjYjIwMjc7XG59XG5cbi5sZy1vdXRlciAjbGctc2hhcmUtcGludGVyZXN0IC5sZy1pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5MDZcIjtcbn1cblxuLmxnLW91dGVyIC5sZy1pbWctcm90YXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiAwIDVweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzIsIDAsIDAuNjcsIDApIDBzO1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzIsIDAsIDAuNjcsIDApIDBzO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC4zMiwgMCwgMC42NywgMCkgMHM7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjMyLCAwLCAwLjY3LCAwKSAwcztcbn1cblxuLmxnLXJvdGF0ZS1sZWZ0OmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cblxuLmxnLXJvdGF0ZS1yaWdodDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG59XG5cbi5sZy1pY29uLmxnLWZsaXAtaG9yLCAubGctaWNvbi5sZy1mbGlwLXZlciB7XG4gIGZvbnQtc2l6ZTogMjZweDtcbn1cblxuLmxnLWZsaXAtaG9yOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cblxuLmxnLWZsaXAtdmVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5MDNcIjtcbn1cblxuLmxnLWdyb3VwIHtcbiAgKnpvb206IDE7XG59XG5cbi5sZy1ncm91cDpiZWZvcmUsIC5sZy1ncm91cDphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIlwiO1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuLmxnLWdyb3VwOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5sZy1vdXRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDUwO1xuICBvcGFjaXR5OiAwO1xuICBvdXRsaW5lOiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSAwcztcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlIDBzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UgMHM7XG59XG5cbi5sZy1vdXRlciAqIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5sZy1vdXRlci5sZy12aXNpYmxlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmxnLW91dGVyLmxnLWNzczMgLmxnLWl0ZW0ubGctcHJldi1zbGlkZSwgLmxnLW91dGVyLmxnLWNzczMgLmxnLWl0ZW0ubGctbmV4dC1zbGlkZSwgLmxnLW91dGVyLmxnLWNzczMgLmxnLWl0ZW0ubGctY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGluaGVyaXQgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLmxnLW91dGVyLmxnLWNzczMubGctZHJhZ2dpbmcgLmxnLWl0ZW0ubGctcHJldi1zbGlkZSwgLmxnLW91dGVyLmxnLWNzczMubGctZHJhZ2dpbmcgLmxnLWl0ZW0ubGctbmV4dC1zbGlkZSwgLmxnLW91dGVyLmxnLWNzczMubGctZHJhZ2dpbmcgLmxnLWl0ZW0ubGctY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmxnLW91dGVyLmxnLWdyYWIgaW1nLmxnLW9iamVjdCB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IC1tb3otZ3JhYjtcbiAgY3Vyc29yOiAtby1ncmFiO1xuICBjdXJzb3I6IC1tcy1ncmFiO1xuICBjdXJzb3I6IGdyYWI7XG59XG5cbi5sZy1vdXRlci5sZy1ncmFiYmluZyBpbWcubGctb2JqZWN0IHtcbiAgY3Vyc29yOiBtb3ZlO1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogLW1vei1ncmFiYmluZztcbiAgY3Vyc29yOiAtby1ncmFiYmluZztcbiAgY3Vyc29yOiAtbXMtZ3JhYmJpbmc7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi5sZy1vdXRlciAubGcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuLmxnLW91dGVyIC5sZy1pbm5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubGctb3V0ZXIgLmxnLWl0ZW0ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbGlnaHRnYWxsZXJ5LmpzL2Rpc3QvaW1nL2xvYWRpbmcuZ2lmXCIpIG5vLXJlcGVhdCBzY3JvbGwgY2VudGVyIGNlbnRlciB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubGctb3V0ZXIubGctY3NzMyAubGctcHJldi1zbGlkZSwgLmxnLW91dGVyLmxnLWNzczMgLmxnLWN1cnJlbnQsIC5sZy1vdXRlci5sZy1jc3MzIC5sZy1uZXh0LXNsaWRlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5sZy1vdXRlci5sZy1jc3MgLmxnLWN1cnJlbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmxnLW91dGVyIC5sZy1pdGVtLCAubGctb3V0ZXIgLmxnLWltZy13cmFwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmxnLW91dGVyIC5sZy1pdGVtOmJlZm9yZSwgLmxnLW91dGVyIC5sZy1pbWctd3JhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogNTAlO1xuICB3aWR0aDogMXB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG59XG5cbi5sZy1vdXRlciAubGctaW1nLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG59XG5cbi5sZy1vdXRlciAubGctaXRlbS5sZy1jb21wbGV0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi5sZy1vdXRlciAubGctaXRlbS5sZy1jdXJyZW50IHtcbiAgei1pbmRleDogMTA2MDtcbn1cblxuLmxnLW91dGVyIC5sZy1pbWFnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmxnLW91dGVyLmxnLXNob3ctYWZ0ZXItbG9hZCAubGctaXRlbSAubGctb2JqZWN0LCAubGctb3V0ZXIubGctc2hvdy1hZnRlci1sb2FkIC5sZy1pdGVtIC5sZy12aWRlby1wbGF5IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UgMHM7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSAwcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlIDBzO1xufVxuXG4ubGctb3V0ZXIubGctc2hvdy1hZnRlci1sb2FkIC5sZy1pdGVtLmxnLWNvbXBsZXRlIC5sZy1vYmplY3QsIC5sZy1vdXRlci5sZy1zaG93LWFmdGVyLWxvYWQgLmxnLWl0ZW0ubGctY29tcGxldGUgLmxnLXZpZGVvLXBsYXkge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubGctb3V0ZXIgLmxnLWVtcHR5LWh0bWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubGctb3V0ZXIubGctaGlkZS1kb3dubG9hZCAjbGctZG93bmxvYWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubGctYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTA0MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UgMHM7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZSAwcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlIDBzO1xufVxuXG4ubGctYmFja2Ryb3AuaW4ge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubGctY3NzMy5sZy1uby10cmFucyAubGctcHJldi1zbGlkZSwgLmxnLWNzczMubGctbm8tdHJhbnMgLmxnLW5leHQtc2xpZGUsIC5sZy1jc3MzLmxnLW5vLXRyYW5zIC5sZy1jdXJyZW50IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lIDBzIGVhc2UgMHMgIWltcG9ydGFudDtcbiAgLW1vei10cmFuc2l0aW9uOiBub25lIDBzIGVhc2UgMHMgIWltcG9ydGFudDtcbiAgLW8tdHJhbnNpdGlvbjogbm9uZSAwcyBlYXNlIDBzICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IG5vbmUgMHMgZWFzZSAwcyAhaW1wb3J0YW50O1xufVxuXG4ubGctY3NzMy5sZy11c2UtY3NzMyAubGctaXRlbSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ubGctY3NzMy5sZy11c2UtbGVmdCAubGctaXRlbSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ubGctY3NzMy5sZy1mYWRlIC5sZy1pdGVtIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmxnLWNzczMubGctZmFkZSAubGctaXRlbS5sZy1jdXJyZW50IHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmxnLWNzczMubGctZmFkZSAubGctaXRlbS5sZy1wcmV2LXNsaWRlLCAubGctY3NzMy5sZy1mYWRlIC5sZy1pdGVtLmxnLW5leHQtc2xpZGUsIC5sZy1jc3MzLmxnLWZhZGUgLmxnLWl0ZW0ubGctY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2UgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2UgMHM7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlIDBzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZSAwcztcbn1cblxuLmxnLWNzczMubGctc2xpZGUubGctdXNlLWNzczMgLmxnLWl0ZW0ge1xuICBvcGFjaXR5OiAwO1xufVxuXG4ubGctY3NzMy5sZy1zbGlkZS5sZy11c2UtY3NzMyAubGctaXRlbS5sZy1wcmV2LXNsaWRlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG59XG5cbi5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1jc3MzIC5sZy1pdGVtLmxnLW5leHQtc2xpZGUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG59XG5cbi5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1jc3MzIC5sZy1pdGVtLmxnLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1jc3MzIC5sZy1pdGVtLmxnLXByZXYtc2xpZGUsIC5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1jc3MzIC5sZy1pdGVtLmxnLW5leHQtc2xpZGUsIC5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1jc3MzIC5sZy1pdGVtLmxnLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjFzIGVhc2UgMHM7XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMXMgZWFzZSAwcztcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjFzIGVhc2UgMHM7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4xcyBlYXNlIDBzO1xufVxuXG4ubGctY3NzMy5sZy1zbGlkZS5sZy11c2UtbGVmdCAubGctaXRlbSB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbn1cblxuLmxnLWNzczMubGctc2xpZGUubGctdXNlLWxlZnQgLmxnLWl0ZW0ubGctcHJldi1zbGlkZSB7XG4gIGxlZnQ6IC0xMDAlO1xufVxuXG4ubGctY3NzMy5sZy1zbGlkZS5sZy11c2UtbGVmdCAubGctaXRlbS5sZy1uZXh0LXNsaWRlIHtcbiAgbGVmdDogMTAwJTtcbn1cblxuLmxnLWNzczMubGctc2xpZGUubGctdXNlLWxlZnQgLmxnLWl0ZW0ubGctY3VycmVudCB7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1sZWZ0IC5sZy1pdGVtLmxnLXByZXYtc2xpZGUsIC5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1sZWZ0IC5sZy1pdGVtLmxnLW5leHQtc2xpZGUsIC5sZy1jc3MzLmxnLXNsaWRlLmxnLXVzZS1sZWZ0IC5sZy1pdGVtLmxnLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGxlZnQgMXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMXMgZWFzZSAwcztcbiAgLW1vei10cmFuc2l0aW9uOiBsZWZ0IDFzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKSAwcywgb3BhY2l0eSAwLjFzIGVhc2UgMHM7XG4gIC1vLXRyYW5zaXRpb246IGxlZnQgMXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpIDBzLCBvcGFjaXR5IDAuMXMgZWFzZSAwcztcbiAgdHJhbnNpdGlvbjogbGVmdCAxcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSkgMHMsIG9wYWNpdHkgMC4xcyBlYXNlIDBzO1xufVxuXG4ubWRjLWNhcmQge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXN1cmZhY2UsICNmZmYpO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDFweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubWRjLWNhcmQtLW91dGxpbmVkIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjZTBlMGUwO1xufVxuXG4ubWRjLWNhcmRfX21lZGlhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5tZGMtY2FyZF9fbWVkaWE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWRjLWNhcmRfX21lZGlhOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG59XG5cbi5tZGMtY2FyZF9fbWVkaWE6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xufVxuXG4ubWRjLWNhcmRfX21lZGlhLS1zcXVhcmU6OmJlZm9yZSB7XG4gIG1hcmdpbi10b3A6IDEwMCU7XG59XG5cbi5tZGMtY2FyZF9fbWVkaWEtLTE2LTk6OmJlZm9yZSB7XG4gIG1hcmdpbi10b3A6IDU2LjI1JTtcbn1cblxuLm1kYy1jYXJkX19tZWRpYS1jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xufVxuXG4ubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbn1cblxuLm1kYy1jYXJkX19hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLWhlaWdodDogNTJweDtcbiAgcGFkZGluZzogOHB4O1xufVxuXG4ubWRjLWNhcmRfX2FjdGlvbnMtLWZ1bGwtYmxlZWQge1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubWRjLWNhcmRfX2FjdGlvbi1idXR0b25zLFxuLm1kYy1jYXJkX19hY3Rpb24taWNvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubWRjLWNhcmRfX2FjdGlvbi1pY29ucyB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGZsZXgtZ3JvdzogMTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLm1kYy1jYXJkX19hY3Rpb24tYnV0dG9ucyArIC5tZGMtY2FyZF9fYWN0aW9uLWljb25zIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbltkaXI9XCJydGxcIl0gLm1kYy1jYXJkX19hY3Rpb24tYnV0dG9ucyArIC5tZGMtY2FyZF9fYWN0aW9uLWljb25zLCAubWRjLWNhcmRfX2FjdGlvbi1idXR0b25zICsgLm1kYy1jYXJkX19hY3Rpb24taWNvbnNbZGlyPVwicnRsXCJdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG59XG5cbi5tZGMtY2FyZF9fYWN0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubWRjLWNhcmRfX2FjdGlvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5tZGMtY2FyZF9fYWN0aW9uLS1idXR0b24ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBwYWRkaW5nOiAwIDhweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLWNhcmRfX2FjdGlvbi0tYnV0dG9uLCAubWRjLWNhcmRfX2FjdGlvbi0tYnV0dG9uW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tZGMtY2FyZF9fYWN0aW9uLS1idXR0b246bGFzdC1jaGlsZCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtY2FyZF9fYWN0aW9uLS1idXR0b246bGFzdC1jaGlsZCwgLm1kYy1jYXJkX19hY3Rpb24tLWJ1dHRvbjpsYXN0LWNoaWxkW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubWRjLWNhcmRfX2FjdGlvbnMtLWZ1bGwtYmxlZWQgLm1kYy1jYXJkX19hY3Rpb24tLWJ1dHRvbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtY2FyZF9fYWN0aW9ucy0tZnVsbC1ibGVlZCAubWRjLWNhcmRfX2FjdGlvbi0tYnV0dG9uLCAubWRjLWNhcmRfX2FjdGlvbnMtLWZ1bGwtYmxlZWQgLm1kYy1jYXJkX19hY3Rpb24tLWJ1dHRvbltkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWRjLWNhcmRfX2FjdGlvbi0taWNvbiB7XG4gIG1hcmdpbjogLTZweCAwO1xuICBwYWRkaW5nOiAxMnB4O1xufVxuXG4ubWRjLWNhcmRfX2FjdGlvbi0taWNvbjpub3QoOmRpc2FibGVkKSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb24ge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjo6YmVmb3JlLCAubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cblxuLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuXG4ubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuXG4ubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cblxuLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjo6YmVmb3JlLCAubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuXG4ubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cblxuLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjo6YmVmb3JlLCAubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbi5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb246aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG5cbi5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb24ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb246bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuXG4ubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtY2FyZF9fcHJpbWFyeS1hY3Rpb24ubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWVsZXZhdGlvbi0tejAge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZWxldmF0aW9uLS16MSB7XG4gIGJveC1zaGFkb3c6IDBweCAycHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMXB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZWxldmF0aW9uLS16MiB7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZWxldmF0aW9uLS16MyB7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggM3B4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggM3B4IDRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZWxldmF0aW9uLS16NCwgLnByb2R1Y3RfaW1hZ2VzIC5saXN0LXBob3RvIGxpOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA0cHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZWxldmF0aW9uLS16NSB7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggNXB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCAxNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWVsZXZhdGlvbi0tejYge1xuICBib3gtc2hhZG93OiAwcHggM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDZweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZWxldmF0aW9uLS16NyB7XG4gIGJveC1zaGFkb3c6IDBweCA0cHggNXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggN3B4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAycHggMTZweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXo4IHtcbiAgYm94LXNoYWRvdzogMHB4IDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWVsZXZhdGlvbi0tejkge1xuICBib3gtc2hhZG93OiAwcHggNXB4IDZweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDlweCAxMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDE2cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZWxldmF0aW9uLS16MTAge1xuICBib3gtc2hhZG93OiAwcHggNnB4IDZweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDEwcHggMTRweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDRweCAxOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWVsZXZhdGlvbi0tejExIHtcbiAgYm94LXNoYWRvdzogMHB4IDZweCA3cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxMXB4IDE1cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA0cHggMjBweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXoxMiB7XG4gIGJveC1zaGFkb3c6IDBweCA3cHggOHB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTJweCAxN3B4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNXB4IDIycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZWxldmF0aW9uLS16MTMge1xuICBib3gtc2hhZG93OiAwcHggN3B4IDhweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDEzcHggMTlweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDVweCAyNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWVsZXZhdGlvbi0tejE0IHtcbiAgYm94LXNoYWRvdzogMHB4IDdweCA5cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxNHB4IDIxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA1cHggMjZweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXoxNSB7XG4gIGJveC1zaGFkb3c6IDBweCA4cHggOXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTVweCAyMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNnB4IDI4cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZWxldmF0aW9uLS16MTYge1xuICBib3gtc2hhZG93OiAwcHggOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXoxNyB7XG4gIGJveC1zaGFkb3c6IDBweCA4cHggMTFweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDE3cHggMjZweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDZweCAzMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWVsZXZhdGlvbi0tejE4IHtcbiAgYm94LXNoYWRvdzogMHB4IDlweCAxMXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMThweCAyOHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggN3B4IDM0cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZWxldmF0aW9uLS16MTkge1xuICBib3gtc2hhZG93OiAwcHggOXB4IDEycHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxOXB4IDI5cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA3cHggMzZweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXoyMCB7XG4gIGJveC1zaGFkb3c6IDBweCAxMHB4IDEzcHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAyMHB4IDMxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA4cHggMzhweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXoyMSB7XG4gIGJveC1zaGFkb3c6IDBweCAxMHB4IDEzcHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAyMXB4IDMzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA4cHggNDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXoyMiB7XG4gIGJveC1zaGFkb3c6IDBweCAxMHB4IDE0cHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAyMnB4IDM1cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA4cHggNDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXoyMyB7XG4gIGJveC1zaGFkb3c6IDBweCAxMXB4IDE0cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAyM3B4IDM2cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA5cHggNDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tLXoyNCB7XG4gIGJveC1zaGFkb3c6IDBweCAxMXB4IDE1cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAyNHB4IDM4cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA5cHggNDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1lbGV2YXRpb24tdHJhbnNpdGlvbiB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgd2lsbC1jaGFuZ2U6IGJveC1zaGFkb3c7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHBhZGRpbmc6IDEycHg7XG59XG5cbi5tZGMtaWNvbi1idXR0b24gc3ZnLFxuLm1kYy1pY29uLWJ1dHRvbiBpbWcge1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuXG4ubWRjLWljb24tYnV0dG9uOmRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LWRpc2FibGVkLW9uLWxpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMzgpKTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1kYy1pY29uLWJ1dHRvbl9faWNvbi5tZGMtaWNvbi1idXR0b25fX2ljb24tLW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi0tb24gLm1kYy1pY29uLWJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZGMtaWNvbi1idXR0b24tLW9uIC5tZGMtaWNvbi1idXR0b25fX2ljb24ubWRjLWljb24tYnV0dG9uX19pY29uLS1vbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1kYy1pY29uLWJ1dHRvbiB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4ubWRjLWljb24tYnV0dG9uOjpiZWZvcmUsIC5tZGMtaWNvbi1idXR0b246OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWRjLWljb24tYnV0dG9uOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICB6LWluZGV4OiAxO1xufVxuXG4ubWRjLWljb24tYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLWljb24tYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzO1xufVxuXG4ubWRjLWljb24tYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLWljb24tYnV0dG9uOjpiZWZvcmUsIC5tZGMtaWNvbi1idXR0b246OmFmdGVyIHtcbiAgdG9wOiBjYWxjKDUwJSAtIDUwJSk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogY2FsYyg1MCUgLSA1MCUpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubWRjLWljb24tYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSwgLm1kYy1pY29uLWJ1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIGNhbGMoNTAlIC0gNTAlKSk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCBjYWxjKDUwJSAtIDUwJSkpO1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuXG4ubWRjLWljb24tYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbjo6YmVmb3JlLCAubWRjLWljb24tYnV0dG9uOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbi5tZGMtaWNvbi1idXR0b246aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC5tZGMtaWNvbi1idXR0b246bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1pY29uLWJ1dHRvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuXG4ubWRjLWljb24tYnV0dG9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWZhYiB7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggNnB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggMThweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiA1NnB4O1xuICBoZWlnaHQ6IDU2cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG9wYWNpdHkgMTVtcyBsaW5lYXIgMzBtcywgdHJhbnNmb3JtIDI3MG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4NjtcbiAgY29sb3I6ICNmZmY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zZWNvbmRhcnksICNmZmYpO1xufVxuXG4ubWRjLWZhYjpub3QoLm1kYy1mYWItLWV4dGVuZGVkKSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLm1kYy1mYWI6bm90KC5tZGMtZmFiLS1leHRlbmRlZCkgLm1kYy1mYWJfX3JpcHBsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLm1kYy1mYWI6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi5tZGMtZmFiOmhvdmVyLCAubWRjLWZhYjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDBweCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1mYWI6YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDdweCA4cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxMnB4IDE3cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA1cHggMjJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1mYWI6YWN0aXZlLCAubWRjLWZhYjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5tZGMtZmFiOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubWRjLWZhYiA+IHN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5Ac3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gIC5tZGMtZmFiIHtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG4gIH1cbn1cblxuLm1kYy1mYWIgLm1kYy1mYWJfX2ljb24ge1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBmb250LXNpemU6IDI0cHg7XG59XG5cbi5tZGMtZmFiLS1taW5pIHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbn1cblxuLm1kYy1mYWItLWV4dGVuZGVkIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wODkyOWVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0OHB4O1xufVxuXG4ubWRjLWZhYi0tZXh0ZW5kZWQgLm1kYy1mYWJfX3JpcHBsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG59XG5cbi5tZGMtZmFiLS1leHRlbmRlZCAubWRjLWZhYl9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5tZGMtZmFiLS1leHRlbmRlZCAubWRjLWZhYl9faWNvbiwgLm1kYy1mYWItLWV4dGVuZGVkIC5tZGMtZmFiX19pY29uW2Rpcj1cInJ0bFwiXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAtOHB4O1xufVxuXG4ubWRjLWZhYi0tZXh0ZW5kZWQgLm1kYy1mYWJfX2xhYmVsICsgLm1kYy1mYWJfX2ljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogLThweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAubWRjLWZhYi0tZXh0ZW5kZWQgLm1kYy1mYWJfX2xhYmVsICsgLm1kYy1mYWJfX2ljb24sIC5tZGMtZmFiLS1leHRlbmRlZCAubWRjLWZhYl9fbGFiZWwgKyAubWRjLWZhYl9faWNvbltkaXI9XCJydGxcIl0ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMTJweDtcbn1cblxuLm1kYy1mYWJfX2xhYmVsIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1kYy1mYWJfX2ljb24ge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTgwbXMgOTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuXG4ubWRjLWZhYiAubWRjLWZhYl9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm1kYy1mYWItLWV4aXRlZCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIgMTUwbXMsIHRyYW5zZm9ybSAxODBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSk7XG59XG5cbi5tZGMtZmFiLS1leGl0ZWQgLm1kYy1mYWJfX2ljb24ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTM1bXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpO1xufVxuXG4ubWRjLWZhYiB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4ubWRjLWZhYiAubWRjLWZhYl9fcmlwcGxlOjpiZWZvcmUsXG4ubWRjLWZhYiAubWRjLWZhYl9fcmlwcGxlOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLm1kYy1mYWIgLm1kYy1mYWJfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cblxuLm1kYy1mYWIubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWZhYl9fcmlwcGxlOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuLm1kYy1mYWIubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWZhYl9fcmlwcGxlOjphZnRlciB7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuXG4ubWRjLWZhYi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQgLm1kYy1mYWJfX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuXG4ubWRjLWZhYi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb24gLm1kYy1mYWJfX3JpcHBsZTo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cblxuLm1kYy1mYWIubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb24gLm1kYy1mYWJfX3JpcHBsZTo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuLm1kYy1mYWIgLm1kYy1mYWJfX3JpcHBsZTo6YmVmb3JlLFxuLm1kYy1mYWIgLm1kYy1mYWJfX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gMTAwJSk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgd2lkdGg6IDIwMCU7XG4gIGhlaWdodDogMjAwJTtcbn1cblxuLm1kYy1mYWIubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWZhYl9fcmlwcGxlOjphZnRlciB7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG5cbi5tZGMtZmFiIC5tZGMtZmFiX19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtZmFiIC5tZGMtZmFiX19yaXBwbGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAubWRjLWZhYiAubWRjLWZhYl9fcmlwcGxlOjpiZWZvcmUsXG4gIC5tZGMtZmFiIC5tZGMtZmFiX19yaXBwbGU6OmFmdGVyIHtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXNlY29uZGFyeSwgI2ZmZik7XG4gIH1cbn1cblxuLm1kYy1mYWI6aG92ZXIgLm1kYy1mYWJfX3JpcHBsZTo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4wODtcbn1cblxuLm1kYy1mYWIubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtZmFiX19yaXBwbGU6OmJlZm9yZSwgLm1kYy1mYWI6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1cyAubWRjLWZhYl9fcmlwcGxlOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjI0O1xufVxuXG4ubWRjLWZhYjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpIC5tZGMtZmFiX19yaXBwbGU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG5cbi5tZGMtZmFiOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlIC5tZGMtZmFiX19yaXBwbGU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yNDtcbn1cblxuLm1kYy1mYWIubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjI0O1xufVxuXG4ubWRjLWZhYiAubWRjLWZhYl9fcmlwcGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKipcbiAgIEJvdXRpcXVlXG4gKi9cbi5jb250YWluZXJfY2VudGVyLCAuZmlsZV9hcmlhbmUge1xuICBtYXgtd2lkdGg6IDk1MHB4O1xufVxuXG4vKipcbiAgIFLDqXBhcnRpdGlvbiBkZSBsYSBib3V0aXF1ZVxuKi9cbi5zaG9wX25hdiB7XG4gIGZsZXg6IDI7XG59XG5cbi5zaG9wX2NvbnRlbnQge1xuICBmbGV4OiA3O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnNob3Age1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnNob3BfbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qKlxuICAgQXNpZGUgZGUgbGEgYm91dGlxdWVcbiovXG4uc2hvcF9uYXYgaDIge1xuICBwYWRkaW5nOiA1cHggMHB4IDVweCAwO1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICBmb250LXNpemU6IDEuNGVtO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbn1cblxuLnNob3BfbmF2IHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAuc2hvcF9uYXYgdWwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIH1cbn1cblxuLnNob3BfbmF2IC5jYXRlZ29yeSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBkaXNwbGF5OiBjb250ZW50cztcbiAgZm9udC1zaXplOiAwLjllbTtcbn1cblxuLnNob3BfbmF2IC5jYXRlZ29yeSBhIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMCA1MHB4IDUwcHggMDtcbn1cblxuLnNob3BfbmF2IC5jYXRlZ29yeS5hY3RpdmUgYSB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NDNjYwMDtcbn1cblxuLnNob3BfbmF2IC5jYXRlZ29yeTpob3Zlcjpub3QoLmFjdGl2ZSkgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAxMDIsIDAsIDAuMTUpO1xufVxuXG4vKiBcbiAgIEZpbGUgZCdhcmluZVxuICAgcHLDqXNlbnQgc3VyIGxlcyBwYWdlcyAve2NhdGVnb3JpZX0gZXQgL3tjYXRlZ29yaWV9L3twcm9kdWN0fSBcbiovXG4uZmlsZV9hcmlhbmUge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBtYXJnaW46IDE1cHggYXV0bztcbiAgcGFkZGluZzogNXB4IDA7XG4gIGNvbG9yOiAjNTczRDFDO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xufVxuXG4uZmlsZV9hcmlhbmUgYSxcbi5maWxlX2FyaWFuZSBzcGFuIHtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBtYXJnaW46IDVweCAwO1xuICBmb250LXNpemU6IDAuOWVtO1xufVxuXG4uZmlsZV9hcmlhbmUgYSB7XG4gIGNvbG9yOiBncmF5O1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCBncmF5O1xufVxuXG4uZmlsZV9hcmlhbmUgc3BhbiB7XG4gIGNvbG9yOiAjQ0M2NjAwO1xufVxuXG4vKipcbiAgIENvbnRlbnUgZGUgbGEgcGFnZVxuICAgKMOgIGNvdMOpIGRlIGwnYXNpZGUpXG4qL1xuLnNob3BfY29udGVudCB7XG4gIG1hcmdpbjogMCAxMHB4IDEwcHggMjBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zaG9wX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgfVxufVxuXG4vKipcbiAgIEZBQiBQYW5pZXJcbiAgICh2aXNpYmxlIHF1J2VuIG1vZGUgbW9iaWxlKVxuKi9cbi5mb2FsdGluZy1iYXNrZXQge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMzVweDtcbiAgcmlnaHQ6IDM1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQzY2MDA7XG4gIHotaW5kZXg6IDEwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmZvYWx0aW5nLWJhc2tldCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cbn1cblxuLmZvYWx0aW5nLWJhc2tldCAuY291bnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNjMwMzA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAwLjhlbTtcbn1cblxuLmZvYWx0aW5nLWJhc2tldF9fZW1wdHkgLmNvdW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZvYWx0aW5nLWJhc2tldF9fdXAgLmNvdW50IHtcbiAgYW5pbWF0aW9uOiBjb3VudC16b29tIDNzIGZvcndhcmRzIDE7XG59XG5cbi8qIFBhZ2UgZCd1biBwcmR1aXQgKi9cbi5wcm9kdWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDM4MHB4O1xufVxuXG4ucHJvZHVjdF9pbWFnZXMsIC5wcm9kdWN0X2RldGFpbHMge1xuICBmbGV4OiAxO1xuICBwYWRkaW5nOiAwIDE1cHg7XG59XG5cbi5wcm9kdWN0X2ltYWdlcyAuY292ZXIge1xuICBoZWlnaHQ6IDM1MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5wcm9kdWN0X2ltYWdlcyAuY292ZXIgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZHVjdF9pbWFnZXMgLmxpc3QtcGhvdG8ge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMTBweCAwIDAgMDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5wcm9kdWN0X2ltYWdlcyAubGlzdC1waG90byBsaSB7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIG1hcmdpbjogNXB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogZWFzZS1pbi1vdXQgYm94LXNoYWRvdyAwLjNzO1xufVxuXG4ucHJvZHVjdF9kZXRhaWxzIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLnByb2R1Y3RfZGV0YWlscyBoMSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAyLjJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5wcm9kdWN0X2RldGFpbHMgLnByaWNlX3N0YXJ0LFxuLnByb2R1Y3RfZGV0YWlscyBoMyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogTW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi5wcm9kdWN0X2RldGFpbHMgLnByaWNlX3N0YXJ0IHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4ucHJvZHVjdF9kZXRhaWxzIC5wcmljZV9zdGFydCArIGgzIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnByb2R1Y3RfZGV0YWlscyBoMyB7XG4gIGZvbnQtc2l6ZTogMS42ZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5wcm9kdWN0X2RldGFpbHMgLnByb2R1Y3Rfc3RhdHVzIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNHB4IDdweDtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4ucHJvZHVjdF9kZXRhaWxzIC5wcm9kdWN0X3N0YXR1c18wIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XG59XG5cbi5wcm9kdWN0X2RldGFpbHMgLnByb2R1Y3Rfc3RhdHVzXzEsIC5wcm9kdWN0X2RldGFpbHMgLnByb2R1Y3Rfc3RhdHVzXzIsIC5wcm9kdWN0X2RldGFpbHMgLnByb2R1Y3Rfc3RhdHVzXzMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNztcbn1cblxuLnByb2R1Y3RfZGV0YWlscyAucHJvZHVjdF9zdGF0dXNfNCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1O1xufVxuXG4ucHJvZHVjdF9kZXRhaWxzIHAge1xuICBmb250LXNpemU6IDAuOWVtO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnByb2R1Y3Qge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnByb2R1Y3RfaW1hZ2VzIHtcbiAgICBtYXgtaGVpZ2h0OiBpbml0aWFsO1xuICB9XG4gIC5wcm9kdWN0X2ltYWdlcyBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAucHJvZHVjdF9kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8qIETDqXRhaWxzIGR1IHByb2R1aXQgLSBPcHRpb25zICovXG4ucHJvZHVjdC1kZXRhaWxzLnByb2R1Y3QtZGV0YWlsc19fc2ltcGxlIC5wcm9kdWN0LWRldGFpbHNfb3B0aW9uIHtcbiAgZmxleDogMTtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG5cbi5wcm9kdWN0LWRldGFpbHMucHJvZHVjdC1kZXRhaWxzX19zaW1wbGUgLnByb2R1Y3QtZGV0YWlsc190aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICM3Nzc7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xufVxuXG4ucHJvZHVjdC1kZXRhaWxzLnByb2R1Y3QtZGV0YWlsc19fc2ltcGxlIC5wcm9kdWN0LWRldGFpbHNfY2hvaWNlcyB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAucHJvZHVjdC1kZXRhaWxzLnByb2R1Y3QtZGV0YWlsc19fc2ltcGxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5wcm9kdWN0LWRldGFpbHMucHJvZHVjdC1kZXRhaWxzX19zaW1wbGUgLnByb2R1Y3QtZGV0YWlsc19vcHRpb24ge1xuICAgIG1hcmdpbjogMTVweCAwO1xuICB9XG59XG5cbi5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1idWNrbGVfYnVja2xlIHtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbiAgbWFyZ2luOiAxMHB4IDVweCAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1idWNrbGVfaW1nIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggbGlnaHRncmF5O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucHJvZHVjdC1kZXRhaWxzIC5jaG9pY2UtYnVja2xlX2ltZyBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4ucHJvZHVjdC1kZXRhaWxzIC5jaG9pY2UtY29sb3Ige1xuICAvKiBzdXJjaGFyZ2UgZGVzIHRvb2x0aXBzICovXG59XG5cbi5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1jb2xvcl9jb2xvciB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG1hcmdpbjogMTBweCA1cHggMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucHJvZHVjdC1kZXRhaWxzIC5jaG9pY2UtY29sb3JfaW1nIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggbGlnaHRncmF5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1jb2xvcl9pbWc6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNDQzY2MDA7XG59XG5cbi5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1jb2xvcl9pbWcgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWNvbG9yX2ltZy5ub2lyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWNvbG9yX2ltZy5ibGFuYyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1jb2xvcl9pbWcubWFycm9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNkMTkwMTtcbn1cblxuLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWNvbG9yX2ltZy5oYXZhbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk1MzIwO1xufVxuXG4ucHJvZHVjdC1kZXRhaWxzIC5jaG9pY2UtY29sb3JfaW1nLnJvdWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NkMDMwMztcbn1cblxuLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWNvbG9yX2ltZy5qYXVuZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmM3MDA7XG59XG5cbi5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1jb2xvcl9pbWcuYmxldS10dXJxdW9pc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMGY4O1xufVxuXG4ucHJvZHVjdC1kZXRhaWxzIC5jaG9pY2UtY29sb3JfaW1nLm51bGwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1jb2xvcl9pbWcubnVsbDpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICB3aWR0aDogMTI0cHg7XG4gIGhlaWdodDogMnB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGVaKC0zMWRlZyk7XG59XG5cbi5wcm9kdWN0LWRldGFpbHMgLmNob2ljZS1jb2xvcl9jb2xvciBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWNvbG9yX2ltZyB7XG4gIGJvcmRlci1jb2xvcjogIzU3M0QxQztcbn1cblxuLnByb2R1Y3QtZGV0YWlscyAuY2hvaWNlLWNvbG9yX2NvbG9yIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyAuY2hvaWNlLWNvbG9yX2ltZzphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXDI3MTQnO1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtc2hhZG93OiAtMXB4IDAgYmxhY2ssIDAgMXB4IGJsYWNrLCAxcHggMCBibGFjaywgMCAtMXB4IGJsYWNrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4uZGV2aXMtc2VsbGUtZm9ybSB7XG4gIG1heC13aWR0aDogMTAwMHB4O1xuICAvKiBRdWVzdGlvbiArIFLDqXBvbnNlcyBkdSBmb3JtdWxhaXJlICovXG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZGV2aXMtc2VsbGUtZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9ucyB7XG4gIG1pbi1oZWlnaHQ6IDE3NXB4O1xuICBwYWRkaW5nOiAxNXB4IDEwcHg7XG59XG5cbi5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9ucyAucXVlc3Rpb24sXG4uZGV2aXMtc2VsbGUtZm9ybV9xdWVzdGlvbnMgLmFuc3dlcnMsXG4uZGV2aXMtc2VsbGUtZm9ybV9xdWVzdGlvbnMgLmNvbnRhY3Qge1xuICBmbGV4OiAxO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9ucyAucXVlc3Rpb24ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjNlbTtcbn1cblxuLmRldmlzLXNlbGxlLWZvcm1fcXVlc3Rpb25zIC5xdWVzdGlvbl9udW1iZXIge1xuICBmb250LXNpemU6IDE3cHg7XG4gIGNvbG9yOiAjYWFhO1xufVxuXG4uZGV2aXMtc2VsbGUtZm9ybV9xdWVzdGlvbnMgLmFuc3dlcnNfX3RleHQge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZGV2aXMtc2VsbGUtZm9ybV9xdWVzdGlvbnMgLmFuc3dlcnNfX3RleHQgLm1kYy10ZXh0LWZpZWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmRldmlzLXNlbGxlLWZvcm1fcXVlc3Rpb25zIC5jb250YWN0IC5tZGMtdGV4dC1maWVsZDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9ucyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuZGV2aXMtc2VsbGUtZm9ybV9xdWVzdGlvbnMgLnF1ZXN0aW9uIHtcbiAgICBmb250LXNpemU6IDEuNmVtO1xuICB9XG59XG5cbi5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9uczpudGgtY2hpbGQoMikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxMSwgMjExLCAyMTEsIDAuMik7XG59XG5cbi5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9uczpudGgtY2hpbGQoNCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxMSwgMjExLCAyMTEsIDAuMik7XG59XG5cbi5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9uczpudGgtY2hpbGQoNikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxMSwgMjExLCAyMTEsIDAuMik7XG59XG5cbi5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9uczpudGgtY2hpbGQoOCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxMSwgMjExLCAyMTEsIDAuMik7XG59XG5cbi5kZXZpcy1zZWxsZS1mb3JtX3F1ZXN0aW9uczpudGgtY2hpbGQoMTApIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTEsIDIxMSwgMjExLCAwLjIpO1xufVxuXG4uZGV2aXMtc2VsbGUtZm9ybV9xdWVzdGlvbnM6bnRoLWNoaWxkKDEyKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjExLCAyMTEsIDIxMSwgMC4yKTtcbn1cblxuLmRldmlzLXNlbGxlLWZvcm1fcXVlc3Rpb25zOm50aC1jaGlsZCgxNCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxMSwgMjExLCAyMTEsIDAuMik7XG59XG5cbi5jaG9pY2UtY29sb3IsXG4uY2hvaWNlLWNhcmRzIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uY2hvaWNlLWNvbG9yIGlucHV0W3R5cGU9J3JhZGlvJ10sXG4uY2hvaWNlLWNhcmRzIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcclxuICAgRm9ybSBDaG9peCBkJ3VuZSBjb3VsZXVyXHJcbiAgIDxsYWJlbD5cclxuICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIC8+XHJcbiAgICAgIDxkaXY+IDwvZGl2PlxyXG4gICA8L2xhYmVsPlxyXG4gKi9cbi5jaG9pY2UtY29sb3Ige1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLyogc3VyY2hhcmdlIGRlcyB0b29sdGlwcyAqL1xufVxuXG4uY2hvaWNlLWNvbG9yX2NvbG9yIHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgbWFyZ2luOiAxMHB4IDVweCAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jaG9pY2UtY29sb3JfaW1nIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggbGlnaHRncmF5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jaG9pY2UtY29sb3JfaW1nOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjQ0M2NjAwO1xufVxuXG4uY2hvaWNlLWNvbG9yX2ltZyBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4uY2hvaWNlLWNvbG9yX2ltZy5ub2lyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLmNob2ljZS1jb2xvcl9pbWcuYmxhbmMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4uY2hvaWNlLWNvbG9yX2ltZy5tYXJyb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2QxOTAxO1xufVxuXG4uY2hvaWNlLWNvbG9yX2ltZy5oYXZhbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk1MzIwO1xufVxuXG4uY2hvaWNlLWNvbG9yX2ltZy5yb3VnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZDAzMDM7XG59XG5cbi5jaG9pY2UtY29sb3JfaW1nLmphdW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzcwMDtcbn1cblxuLmNob2ljZS1jb2xvcl9pbWcuYmxldS10dXJxdW9pc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMGY4O1xufVxuXG4uY2hvaWNlLWNvbG9yX2ltZy5udWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2hvaWNlLWNvbG9yX2ltZy5udWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gIHdpZHRoOiAxMjRweDtcbiAgaGVpZ2h0OiAycHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZVooLTMxZGVnKTtcbn1cblxuLmNob2ljZS1jb2xvcl9jb2xvciBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgLmNob2ljZS1jb2xvcl9pbWcge1xuICBib3JkZXItY29sb3I6ICM1NzNEMUM7XG59XG5cbi5jaG9pY2UtY29sb3JfY29sb3IgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIC5jaG9pY2UtY29sb3JfaW1nOmFmdGVyIHtcbiAgY29udGVudDogJ1xcMjcxNCc7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1zaGFkb3c6IC0xcHggMCBibGFjaywgMCAxcHggYmxhY2ssIDFweCAwIGJsYWNrLCAwIC0xcHggYmxhY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8qKlxyXG4gICBGb3JtIENob2l4IGQndW5lIGNvdWxldXJcclxuICAgPGxhYmVsPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgLz5cclxuICAgICAgPGRpdj4gPC9kaXY+XHJcbiAgIDwvbGFiZWw+XHJcbiAqL1xuLmNob2ljZS1jYXJkcyB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4uY2hvaWNlLWNhcmRzX2NhcmQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IGNhbGMoMzAlIC0gMjBweCk7XG59XG5cbi5jaG9pY2UtY2FyZHNfZGV0YWlscyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE1MHB4O1xuICBib3JkZXI6IHNvbGlkIDFweCBsaWdodGdyYXk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi5jaG9pY2UtY2FyZHNfZGV0YWlsczpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI0NDNjYwMDtcbn1cblxuLmNob2ljZS1jYXJkc19kZXRhaWxzIHNwYW4ge1xuICBtYXJnaW46IDI1cHggMCAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jaG9pY2UtY2FyZHNfZGV0YWlscyBzdmcge1xuICBtYXgtd2lkdGg6IDc1cHg7XG4gIGhlaWdodDogNDBweDtcbn1cblxuLmNob2ljZS1jYXJkc19jYXJkIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyAuY2hvaWNlLWNhcmRzX2RldGFpbHMge1xuICBib3JkZXItY29sb3I6ICM1NzNEMUM7XG59XG5cbiNkZXZpcy1mb3JtX2J1dHRvbiB7XG4gIG1hcmdpbjogNDBweCAwIDE1cHg7XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQGltcG9ydCBcIkBtYXRlcmlhbC9lbGV2YXRpb24vbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcmlwcGxlL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3NoYXBlL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vL1xuLy8gUHVibGljXG4vL1xuXG5AbWl4aW4gbWRjLWNhcmQtY29yZS1zdHlsZXMoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICBAaW5jbHVkZSBtZGMtY2FyZC13aXRob3V0LXJpcHBsZSgkcXVlcnkpO1xuICBAaW5jbHVkZSBtZGMtY2FyZC1yaXBwbGUoJHF1ZXJ5KTtcbn1cblxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlcyBmcm9tIHRoZSBvdGhlclxuLy8gY2FyZCBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1jYXJkLWNvcmUtc3R5bGVzYCBpbnN0ZWFkLlxuQG1peGluIG1kYy1jYXJkLXdpdGhvdXQtcmlwcGxlKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgY2FyZFxuXG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtY2FyZCB7XG4gICAgQGluY2x1ZGUgbWRjLWNhcmQtc2hhcGUtcmFkaXVzKG1lZGl1bSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1jYXJkLWZpbGwtY29sb3Ioc3VyZmFjZSwgJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtZWxldmF0aW9uKDEsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtY2FyZC1jb250YWluZXItbGF5b3V0XztcbiAgICB9XG4gIH1cblxuICAubWRjLWNhcmQtLW91dGxpbmVkIHtcbiAgICBAaW5jbHVkZSBtZGMtZWxldmF0aW9uKDAsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtY2FyZC1vdXRsaW5lKCRtZGMtY2FyZC1vdXRsaW5lLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAvL1xuICAvLyBNZWRpYVxuICAvL1xuXG4gIC5tZGMtY2FyZF9fbWVkaWEge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIENoaWxkIGVsZW1lbnQgYF9fbWVkaWEtY29udGVudGAgaGFzIGBwb3NpdGlvbjogYWJzb2x1dGVgXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2FyZF9fbWVkaWE6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jYXJkX19tZWRpYTpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2FyZF9fbWVkaWEtLXNxdWFyZSB7XG4gICAgQGluY2x1ZGUgbWRjLWNhcmQtbWVkaWEtYXNwZWN0LXJhdGlvKDEsIDEsICRxdWVyeSk7XG4gIH1cblxuICAubWRjLWNhcmRfX21lZGlhLS0xNi05IHtcbiAgICBAaW5jbHVkZSBtZGMtY2FyZC1tZWRpYS1hc3BlY3QtcmF0aW8oMTYsIDksICRxdWVyeSk7XG4gIH1cblxuICAubWRjLWNhcmRfX21lZGlhLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgfVxuXG4gIC8vXG4gIC8vIFByaW1hcnkgYWN0aW9uXG4gIC8vXG5cbiAgLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1jYXJkLWNvbnRhaW5lci1sYXlvdXRfO1xuXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIE5lZWRlZCB0byBwcmV2ZW50IHRoZSByaXBwbGUgd2FzaCBmcm9tIG92ZXJmbG93aW5nIHRoZSBjb250YWluZXIgaW4gSUUgYW5kIEVkZ2VcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAubWRjLWNhcmRfX3ByaW1hcnktYWN0aW9uOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgLy9cbiAgLy8gQWN0aW9uIHJvd1xuICAvL1xuXG4gIC5tZGMtY2FyZF9fYWN0aW9ucyB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1jYXJkLWFjdGlvbnMtbGF5b3V0XztcblxuICAgICAgbWluLWhlaWdodDogNTJweDtcbiAgICAgIHBhZGRpbmc6IDhweDtcbiAgICB9XG4gIH1cblxuICAubWRjLWNhcmRfX2FjdGlvbnMtLWZ1bGwtYmxlZWQge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2FyZF9fYWN0aW9uLWJ1dHRvbnMsXG4gIC5tZGMtY2FyZF9fYWN0aW9uLWljb25zIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbWRjLWNhcmQtYWN0aW9ucy1sYXlvdXRfO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2FyZF9fYWN0aW9uLWljb25zIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJG1kYy1jYXJkLWFjdGlvbi1pY29uLWNvbG9yKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG4gIH1cblxuICAubWRjLWNhcmRfX2FjdGlvbi1idXR0b25zICsgLm1kYy1jYXJkX19hY3Rpb24taWNvbnMge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBtZGMtcnRsLXJlZmxleGl2ZS1ib3gobWFyZ2luLCBsZWZ0LCAxNnB4KTtcbiAgICB9XG4gIH1cblxuICAvL1xuICAvLyBBY3Rpb24gaXRlbXNcbiAgLy9cblxuICAubWRjLWNhcmRfX2FjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1jYXJkLWFjdGlvbnMtbGF5b3V0XyhpbmxpbmUtZmxleCk7XG5cbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vXG4gIC8vIEFjdGlvbiBidXR0b25zXG4gIC8vXG5cbiAgLm1kYy1jYXJkX19hY3Rpb24tLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIG1kYy1ydGwtcmVmbGV4aXZlLWJveChtYXJnaW4sIHJpZ2h0LCA4cHgpO1xuXG4gICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtYm94KG1hcmdpbiwgcmlnaHQsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2FyZF9fYWN0aW9ucy0tZnVsbC1ibGVlZCAubWRjLWNhcmRfX2FjdGlvbi0tYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1kYy1ydGwge1xuICAgICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvL1xuICAvLyBBY3Rpb24gaWNvbnNcbiAgLy9cblxuICAubWRjLWNhcmRfX2FjdGlvbi0taWNvbiB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIEljb24gYnV0dG9ucyBhcmUgdGFsbGVyIHRoYW4gYnV0dG9ucywgc28gd2UgbmVlZCB0byBhZGp1c3QgdGhlaXIgbWFyZ2lucyB0byBwcmV2ZW50IHRoZSBhY3Rpb24gcm93IGZyb21cbiAgICAgIC8vIGV4cGFuZGluZy5cbiAgICAgIG1hcmdpbjogLTZweCAwO1xuXG4gICAgICAvLyBTYW1lIHBhZGRpbmcgYXMgbWRjLWljb24tYnV0dG9uLlxuICAgICAgcGFkZGluZzogMTJweDtcbiAgICB9XG4gIH1cblxuICAubWRjLWNhcmRfX2FjdGlvbi0taWNvbjpub3QoOmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoY29sb3IsICRtZGMtY2FyZC1hY3Rpb24taWNvbi1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbn1cblxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlcyBmcm9tIHRoZSBvdGhlclxuLy8gY2FyZCBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1jYXJkLWNvcmUtc3R5bGVzYCBpbnN0ZWFkLlxuQG1peGluIG1kYy1jYXJkLXJpcHBsZSgkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy1yaXBwbGUtY29tbW9uKCRxdWVyeSk7XG5cbiAgLm1kYy1jYXJkX19wcmltYXJ5LWFjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1zdXJmYWNlKCRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1yYWRpdXMtYm91bmRlZCgkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1jYXJkLWZpbGwtY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtY2FyZC1vdXRsaW5lKCRjb2xvciwgJHRoaWNrbmVzczogJG1kYy1jYXJkLW91dGxpbmUtd2lkdGgsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBib3JkZXItd2lkdGg6ICR0aGlja25lc3M7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICBib3JkZXItY29sb3I6IG1kYy10aGVtZS1wcm9wLXZhbHVlKCRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIG1kYy1jYXJkLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgQGluY2x1ZGUgbWRjLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZSwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG5AbWl4aW4gbWRjLWNhcmQtbWVkaWEtYXNwZWN0LXJhdGlvKCR4LCAkeSwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIFRoaXMgY2xldmVyIHRyaWNrIGJyb3VnaHQgdG8geW91IGJ5OiBodHRwOi8vd3d3Lm1hZGVteWRheS5kZS9jc3MtaGVpZ2h0LWVxdWFscy13aWR0aC13aXRoLXB1cmUtY3NzLmh0bWxcbiAgICAgIG1hcmdpbi10b3A6IHBlcmNlbnRhZ2UoJHkgLyAkeCk7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBQcml2YXRlXG4vL1xuXG5AbWl4aW4gbWRjLWNhcmQtY29udGFpbmVyLWxheW91dF8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5AbWl4aW4gbWRjLWNhcmQtYWN0aW9ucy1sYXlvdXRfKCRkaXNwbGF5OiBmbGV4KSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RoZW1lL3ZhcmlhYmxlc1wiO1xuXG4kbWRjLWNhcmQtYWN0aW9uLWljb24tY29sb3I6IHJnYmEobWRjLXRoZW1lLXByb3AtdmFsdWUob24tc3VyZmFjZSksIG1kYy10aGVtZS10ZXh0LWVtcGhhc2lzKG1lZGl1bSkpICFkZWZhdWx0O1xuJG1kYy1jYXJkLW91dGxpbmUtY29sb3I6IG1peChtZGMtdGhlbWUtcHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgbWRjLXRoZW1lLXByb3AtdmFsdWUoc3VyZmFjZSksIDEyJSkgIWRlZmF1bHQ7XG4kbWRjLWNhcmQtb3V0bGluZS13aWR0aDogMXB4ICFkZWZhdWx0O1xuIiwiLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL2FuaW1hdGlvbi9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZWxldmF0aW9uL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9lbGV2YXRpb24vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcmlwcGxlL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9yaXBwbGUvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3RoZW1lL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvc2hhcGUvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3NoYXBlL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcblxuJG1kYy1mYWItcmlwcGxlLXRhcmdldDogXCIubWRjLWZhYl9fcmlwcGxlXCI7XG5cbkBtaXhpbiBtZGMtZmFiLWNvcmUtc3R5bGVzKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgQGluY2x1ZGUgbWRjLWZhYi13aXRob3V0LXJpcHBsZSgkcXVlcnkpO1xuICBAaW5jbHVkZSBtZGMtZmFiLXJpcHBsZSgkcXVlcnkpO1xufVxuXG5AbWl4aW4gbWRjLWZhYi13aXRob3V0LXJpcHBsZSgkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIGZhYlxuXG4gIC5tZGMtZmFiIHtcbiAgICBAaW5jbHVkZSBtZGMtZmFiLWJhc2VfKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtZmFiLWNvbnRhaW5lci1jb2xvcihzZWNvbmRhcnksICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtZmFiLWljb24tc2l6ZSgyNHB4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWRjLWZhYi1pbmstY29sb3Iob24tc2Vjb25kYXJ5LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLWZhYi0tbWluaSB7XG4gICAgQGluY2x1ZGUgbWRjLWZhYi0tbWluaV8oJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1mYWItLWV4dGVuZGVkIHtcbiAgICBAaW5jbHVkZSBtZGMtZmFiLS1leHRlbmRlZF8oJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1mYWJfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSBtZGMtZmFiLS1sYWJlbF8oJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1mYWJfX2ljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1mYWJfX2ljb25fKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC8vIEluY3JlYXNlIHNwZWNpZmljaXR5IGZvciBGQUIgaWNvbiBzdHlsZXMgdGhhdCBuZWVkIHRvIG92ZXJyaWRlIHN0eWxlcyBkZWZpbmVkIGZvciAubWF0ZXJpYWwtaWNvbnNcbiAgLy8gKHdoaWNoIGlzIGxvYWRlZCBzZXBhcmF0ZWx5IHNvIHRoZSBvcmRlciBvZiBDU1MgZGVmaW5pdGlvbnMgaXMgbm90IGd1YXJhbnRlZWQpXG4gIC5tZGMtZmFiIC5tZGMtZmFiX19pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtZmFiX19pY29uLW92ZXJyaWRlc18oJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1mYWItLWV4aXRlZCB7XG4gICAgQGluY2x1ZGUgbWRjLWZhYi0tZXhpdGVkXygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxufVxuXG5AbWl4aW4gbWRjLWZhYi1yaXBwbGUoJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1yaXBwbGUtY29tbW9uKCRxdWVyeSk7XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgZmFiXG5cbiAgLm1kYy1mYWIge1xuICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZShcbiAgICAgICRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogJG1kYy1mYWItcmlwcGxlLXRhcmdldCk7XG4gICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1yYWRpdXMtYm91bmRlZChcbiAgICAgICRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogJG1kYy1mYWItcmlwcGxlLXRhcmdldCk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcyhcbiAgICAgIG9uLXNlY29uZGFyeSwgJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiAkbWRjLWZhYi1yaXBwbGUtdGFyZ2V0KTtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgICAjeyRtZGMtZmFiLXJpcHBsZS10YXJnZXR9IHtcbiAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtdGFyZ2V0LWNvbW1vbigkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbn1cblxuQG1peGluIG1kYy1mYWItYWNjZXNzaWJsZSgkY29udGFpbmVyLWNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy1mYWItY29udGFpbmVyLWNvbG9yKCRjb250YWluZXItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAkZmlsbC10b25lOiBtZGMtdGhlbWUtdG9uZSgkY29udGFpbmVyLWNvbG9yKTtcblxuICBAaWYgKCRmaWxsLXRvbmUgPT0gXCJkYXJrXCIpIHtcbiAgICBAaW5jbHVkZSBtZGMtZmFiLWluay1jb2xvcih0ZXh0LXByaW1hcnktb24tZGFyaywgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMoXG4gICAgICB0ZXh0LXByaW1hcnktb24tZGFyayxcbiAgICAgICRxdWVyeTogJHF1ZXJ5LFxuICAgICAgJHJpcHBsZS10YXJnZXQ6ICRtZGMtZmFiLXJpcHBsZS10YXJnZXQpO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBtZGMtZmFiLWluay1jb2xvcih0ZXh0LXByaW1hcnktb24tbGlnaHQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzKFxuICAgICAgdGV4dC1wcmltYXJ5LW9uLWxpZ2h0LFxuICAgICAgJHF1ZXJ5OiAkcXVlcnksXG4gICAgICAkcmlwcGxlLXRhcmdldDogJG1kYy1mYWItcmlwcGxlLXRhcmdldCk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1mYWItY29udGFpbmVyLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgbWRjLXRoZW1lLXByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yLCAkZWRnZU9wdE91dDogdHJ1ZSk7XG4gIH1cbn1cblxuQG1peGluIG1kYy1mYWItaWNvbi1zaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1mYWJfX2ljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgZm9udC1zaXplOiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLWZhYi1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICBAaW5jbHVkZSBtZGMtdGhlbWUtcHJvcChjb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWZhYi1leHRlbmRlZC1mbHVpZCgkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWZhYi1leHRlbmRlZC1wYWRkaW5nKCRpY29uLXBhZGRpbmcsICRsYWJlbC1wYWRkaW5nLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZhYi1leHRlbmRlZC1sYWJlbC1wYWRkaW5nKCRsYWJlbC1wYWRkaW5nLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgLy8gT2Zmc2V0cyB0aGUgb3V0ZXIgbGFiZWwgcGFkZGluZyBieSBkZWR1Y3RpbmcgaXQgZnJvbSBpY29uIHBhZGRpbmcuXG4gIC5tZGMtZmFiX19pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCAkaWNvbi1wYWRkaW5nIC0gJGxhYmVsLXBhZGRpbmcsICRpY29uLXBhZGRpbmcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvciBFeHRlbmRlZCBGQUIgd2l0aCB0ZXh0IGxhYmVsIGZvbGxvd2VkIGJ5IGljb24uXG4gIC5tZGMtZmFiX19sYWJlbCArIC5tZGMtZmFiX19pY29uIHtcbiAgICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbWRjLXJ0bC1yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCAkaWNvbi1wYWRkaW5nLCAkaWNvbi1wYWRkaW5nIC0gJGxhYmVsLXBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWRjLWZhYi1leHRlbmRlZC1sYWJlbC1wYWRkaW5nKCRsYWJlbC1wYWRkaW5nLCAkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBwYWRkaW5nOiAwICRsYWJlbC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtZmFiLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1mYWItLWV4dGVuZGVkKSB7XG4gICAgQGluY2x1ZGUgbWRjLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgI3skbWRjLWZhYi1yaXBwbGUtdGFyZ2V0fSB7XG4gICAgICBAaW5jbHVkZSBtZGMtc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZGMtZmFiLWV4dGVuZGVkLXNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UsICRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgQGluY2x1ZGUgbWRjLXNoYXBlLXJhZGl1cyhcbiAgICBtZGMtc2hhcGUtcmVzb2x2ZS1wZXJjZW50YWdlLXJhZGl1cygkbWRjLWZhYi1leHRlbmRlZC1oZWlnaHQsICRyYWRpdXMpLFxuICAgICRydGwtcmVmbGV4aXZlLFxuICAgICRxdWVyeTogJHF1ZXJ5XG4gICk7XG5cbiAgI3skbWRjLWZhYi1yaXBwbGUtdGFyZ2V0fSB7XG4gICAgQGluY2x1ZGUgbWRjLXNoYXBlLXJhZGl1cyhcbiAgICAgIG1kYy1zaGFwZS1yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKCRtZGMtZmFiLWV4dGVuZGVkLWhlaWdodCwgJHJhZGl1cyksXG4gICAgICAkcnRsLXJlZmxleGl2ZSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgfVxufVxuXG4kbWRjLWZhYi1pY29uLWVudGVyLWRlbGF5XzogOTBtcztcbiRtZGMtZmFiLWljb24tZW50ZXItZHVyYXRpb25fOiAxODBtcztcblxuQG1peGluIG1kYy1mYWItYmFzZV8oJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICBAaW5jbHVkZSBtZGMtZWxldmF0aW9uKDYsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgbWRjLWZhYi1zaGFwZS1yYWRpdXMoNTAlLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgJGZlYXQtYW5pbWF0aW9uOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRtZGMtZmFiLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRtZGMtZmFiLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgYm94LXNoYWRvdyAkbWRjLWVsZXZhdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uICRtZGMtZWxldmF0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLFxuICAgICAgb3BhY2l0eSAxNW1zIGxpbmVhciAzMG1zLFxuICAgICAgbWRjLWFuaW1hdGlvbi1lbnRlcih0cmFuc2Zvcm0sICRtZGMtZmFiLWljb24tZW50ZXItZHVyYXRpb25fICsgJG1kYy1mYWItaWNvbi1lbnRlci1kZWxheV8pO1xuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgbWRjLWVsZXZhdGlvbig4LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgbWRjLWVsZXZhdGlvbigxMiwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIC8vIFRPRE8oYWNkdm9yYWspOiBTaG91bGQgdGhpcyBiZSBwYWlyZWQgd2l0aCBzdGF0ZXMgYW5kL29yIHJpcHBsZT8gV2UgZG9uJ3Qgd2FudCB0byBkaXNhYmxlIG91dGxpbmVcbiAgICAvLyAoYW4gYWNjZXNzaWJpbGl0eS91c2FiaWxpdHkgZmVhdHVyZSkgdW5sZXNzIHdlJ3JlIGNvbmZpZGVudCB0aGF0IHRoZXJlIGlzIGFsc28gYSB2aXN1YWwgaW5kaWNhdGlvbiB0aGF0IHRoZVxuICAgIC8vIGVsZW1lbnQgaGFzIGZvY3VzLiBJZiB0aGUgY2xpZW50IGhhcyBjdXN0b21pemVkIHRoZSBET00gaW4gc29tZSB1bmV4cGVjdGVkIHdheSwgYW5kIGlzIGNlcnRhaW4gdGhhdCBhbm90aGVyXG4gICAgLy8gZWxlbWVudCB3aWxsIHJlY2VpdmUgZm9jdXMgaW5zdGVhZCwgdGhleSBjYW4gYWx3YXlzIG92ZXJyaWRlIHRoaXMgcHJvcGVydHkgbWFudWFsbHkgaW4gdGhlaXIgQ1NTLlxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyBhbGxvd3MgZm9yIHVzaW5nIFNWR3Mgd2l0aGluIHRoZW0gdG8gYWxpZ24gcHJvcGVybHkgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyBDYW4gcmVtb3ZlIG9uY2U6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTQ1MTUgaXMgcmVzb2x2ZWQuXG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LXR5cGVcbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBpZ25vcmVcbiAgPiBzdmcge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxufVxuXG5AbWl4aW4gbWRjLWZhYi0tbWluaV8oJHF1ZXJ5OiBtZGMtZmVhdHVyZS1hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IG1kYy1mZWF0dXJlLWNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgd2lkdGg6ICRtZGMtZmFiLW1pbmktaGVpZ2h0O1xuICAgIGhlaWdodDogJG1kYy1mYWItbWluaS1oZWlnaHQ7XG4gIH1cbn1cblxuQG1peGluIG1kYy1mYWItLWV4dGVuZGVkXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gIEBpbmNsdWRlIG1kYy10eXBvZ3JhcGh5KGJ1dHRvbiwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBtZGMtZmFiLWV4dGVuZGVkLXNoYXBlLXJhZGl1cyg1MCUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgbWRjLWZhYi1leHRlbmRlZC1wYWRkaW5nKCRtZGMtZmFiLWV4dGVuZGVkLWljb24tcGFkZGluZywgJG1kYy1mYWItZXh0ZW5kZWQtbGFiZWwtcGFkZGluZywgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkbWRjLWZhYi1leHRlbmRlZC1oZWlnaHQ7XG4gIH1cbn1cblxuQG1peGluIG1kYy1mYWJfX2ljb25fKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246IG1kYy1hbmltYXRpb24tZW50ZXIodHJhbnNmb3JtLCAkbWRjLWZhYi1pY29uLWVudGVyLWR1cmF0aW9uXywgJG1kYy1mYWItaWNvbi1lbnRlci1kZWxheV8pO1xuICB9XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgfVxufVxuXG5AbWl4aW4gbWRjLWZhYl9fbGFiZWxfKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuQG1peGluIG1kYy1mYWJfX2ljb24tb3ZlcnJpZGVzXygkcXVlcnk6IG1kYy1mZWF0dXJlLWFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogbWRjLWZlYXR1cmUtY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbWRjLWZlYXR1cmUtdGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5cbkBtaXhpbiBtZGMtZmFiLS1leGl0ZWRfKCRxdWVyeTogbWRjLWZlYXR1cmUtYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBtZGMtZmVhdHVyZS1jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBtZGMtZmVhdHVyZS10YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG9wYWNpdHkgMTVtcyBsaW5lYXIgMTUwbXMsXG4gICAgICBtZGMtYW5pbWF0aW9uLWV4aXQtcGVybWFuZW50KHRyYW5zZm9ybSwgMTgwbXMpO1xuICB9XG5cbiAgLm1kYy1mYWJfX2ljb24ge1xuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1kYy1mZWF0dXJlLXRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiBtZGMtYW5pbWF0aW9uLWV4aXQtcGVybWFuZW50KHRyYW5zZm9ybSwgMTM1bXMpO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbiRtZGMtZmFiLWV4dGVuZGVkLWljb24tcGFkZGluZzogMTJweCAhZGVmYXVsdDtcbiRtZGMtZmFiLWV4dGVuZGVkLWxhYmVsLXBhZGRpbmc6IDIwcHggIWRlZmF1bHQ7XG4kbWRjLWZhYi1oZWlnaHQ6IDU2cHggIWRlZmF1bHQ7XG4kbWRjLWZhYi1taW5pLWhlaWdodDogNDBweCAhZGVmYXVsdDtcbiRtZGMtZmFiLWV4dGVuZGVkLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCIuLi9hcHBcIjtcbkBpbXBvcnQgXCIuLi9mb3JtXCI7XG5AaW1wb3J0IFwibGlnaHRnYWxsZXJ5LmpzXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL2NhcmQvbWRjLWNhcmRcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvZWxldmF0aW9uL21kYy1lbGV2YXRpb25cIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvaWNvbi1idXR0b24vbWRjLWljb24tYnV0dG9uXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL2ZhYi9tZGMtZmFiXCI7XG5cbiRzb21tYWlyZV9pdGVtX2hlaWdodDogMTAwcHg7XG5cbi8qKlxuICAgQm91dGlxdWVcbiAqL1xuLmNvbnRhaW5lcl9jZW50ZXIge1xuICAgbWF4LXdpZHRoOiAkd2lkdGhfbWF4X2NvbnRlbnRfc2hvcDtcbn1cblxuLyoqXG4gICBSw6lwYXJ0aXRpb24gZGUgbGEgYm91dGlxdWVcbiovXG4uc2hvcCB7XG4gICBAZXh0ZW5kIC5mbGV4LXJvdztcbiAgIFxuICAgLy8gYXNpZGVcbiAgICZfbmF2IHtcbiAgICAgIGZsZXg6IDI7XG4gICB9XG4gICBcbiAgIC8vIGJvZHkgZGUgbGEgYm91dGlxdWVcbiAgICZfY29udGVudCB7XG4gICAgICBmbGV4OiA3O1xuICAgfVxuIFxuICAgQGluY2x1ZGUgbWVkaWEobGFwdG9wKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAmX25hdiB7XG4gICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgfVxuIFxufVxuIFxuLyoqXG4gICBBc2lkZSBkZSBsYSBib3V0aXF1ZVxuKi9cbi5zaG9wX25hdiB7XG5cbiAgIGgyIHtcbiAgICAgIHBhZGRpbmc6IDVweCAwcHggNXB4IDA7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgfVxuXG4gICB1bCB7XG4gICAgICBAZXh0ZW5kIC5mbGV4LWNvbHVtbjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICBcbiAgICAgIEBpbmNsdWRlIG1lZGlhKGxhcHRvcCkge1xuICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICAgIH1cbiBcbiAgIH1cbiBcbiAgIC5jYXRlZ29yeSB7XG4gICAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgZm9udC1zaXplOiAwLjllbTtcblxuICAgICAgYSB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgY29sb3I6ICRjb2xvcl9ub2lyO1xuICAgICAgICAgYm9yZGVyLXJhZGl1czogMCA1MHB4IDUwcHggMDtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgYSB7ICAgXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc2Vjb25kYWlyZTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIFxuICAgICAgJjpob3Zlcjpub3QoLmFjdGl2ZSkge1xuICAgICAgICAgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcl9zZWNvbmRhaXJlLCAwLjE1KTtcbiAgICAgICAgIH1cblxuICAgICAgfVxuIFxuICAgfVxufVxuXG4vKiBcbiAgIEZpbGUgZCdhcmluZVxuICAgcHLDqXNlbnQgc3VyIGxlcyBwYWdlcyAve2NhdGVnb3JpZX0gZXQgL3tjYXRlZ29yaWV9L3twcm9kdWN0fSBcbiovICBcbi5maWxlX2FyaWFuZSB7XG4gICBAZXh0ZW5kIC5jb250YWluZXJfY2VudGVyO1xuICAgQGV4dGVuZCAuZmxleC1yb3c7XG4gICBmbGV4LXdyYXA6IHdyYXA7XG4gICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgIG1hcmdpbjogMTVweCBhdXRvO1xuICAgcGFkZGluZzogNXB4IDA7XG4gICBjb2xvcjogJGNvbG9yX3ByaW1haXJlO1xuICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcblxuICAgYSxcbiAgIHNwYW4ge1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgbWFyZ2luOiA1cHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICB9XG4gICBhIHtcbiAgICAgIGNvbG9yOiBncmF5O1xuICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggZ3JheTtcbiAgIH1cbiAgIHNwYW4ge1xuICAgICAgY29sb3I6ICRjb2xvcl9zZWNvbmRhaXJlXG4gICB9XG59XG5cbi8qKlxuICAgQ29udGVudSBkZSBsYSBwYWdlXG4gICAow6AgY290w6kgZGUgbCdhc2lkZSlcbiovXG4uc2hvcF9jb250ZW50IHtcbiAgIG1hcmdpbjogMCAxMHB4IDEwcHggMjBweDtcblxuICAgQGluY2x1ZGUgbWVkaWEobW9iaWxlb25seSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICB9XG59XG5cbiBcbi8qKlxuICAgRkFCIFBhbmllclxuICAgKHZpc2libGUgcXUnZW4gbW9kZSBtb2JpbGUpXG4qL1xuLmZvYWx0aW5nLWJhc2tldCB7XG4gICBkaXNwbGF5OiBub25lO1xuICAgcG9zaXRpb246IGZpeGVkO1xuICAgYm90dG9tOiAzNXB4O1xuICAgcmlnaHQ6IDM1cHg7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYWlyZTtcbiAgIHotaW5kZXg6IDEwO1xuXG4gICBAaW5jbHVkZSBtZWRpYShtb2JpbGVvbmx5KSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgIH1cblxuICAgLmNvdW50IHtcbiAgICAgIEBleHRlbmQgLmZsZXgtcm93O1xuICAgICAgQGV4dGVuZCAuZmxleC1jZW50ZXItY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNjMwMzA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICB9XG5cbiAgICZfX2VtcHR5IC5jb3VudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgfVxuXG4gICAmX191cCAuY291bnQge1xuICAgICAgLy8gYW5pbWF0aW9uIGRhbnMgX2hlYWRlci5zY3NzXG4gICAgICBhbmltYXRpb246IGNvdW50LXpvb20gM3MgZm9yd2FyZHMgMTtcbiAgIH1cbn1cbiIsIkBpbXBvcnQgXCJfYmFzZVwiO1xyXG5cclxuXHJcbi8qIFBhZ2UgZCd1biBwcmR1aXQgKi9cclxuLnByb2R1Y3Qge1xyXG4gIEBleHRlbmQgLmZsZXgtcm93O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1pbi1oZWlnaHQ6IDM4MHB4O1xyXG5cclxuICAmX2ltYWdlcyxcclxuICAmX2RldGFpbHMge1xyXG4gICAgZmxleDogMTtcclxuICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICB9XHJcblxyXG4gICZfaW1hZ2VzIHtcclxuICAgIEBleHRlbmQgLmZsZXgtY29sdW1uO1xyXG5cclxuICAgIC5jb3ZlciB7XHJcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1iYWNrZ3JvdW5kO1xyXG4gICAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5saXN0LXBob3RvIHtcclxuICAgICAgQGV4dGVuZCAuZmxleC1yb3c7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBAZXh0ZW5kIC5jb250YWluZXItYmFja2dyb3VuZDtcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgbWFyZ2luOiA1cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBlYXNlLWluLW91dCBib3gtc2hhZG93IDAuM3M7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgQGV4dGVuZCAubWRjLWVsZXZhdGlvbi0tejQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX2RldGFpbHMge1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuXHJcbiAgICBoMSB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgZm9udC1zaXplOiAyLjJlbTtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnByaWNlX3N0YXJ0LFxyXG4gICAgaDMge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgIGNvbG9yOiAjNjY2O1xyXG4gICAgfVxyXG5cclxuICAgIC5wcmljZV9zdGFydCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuXHJcbiAgICAgICYgKyBoMyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGgzIHtcclxuICAgICAgZm9udC1zaXplOiAxLjZlbTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIH1cclxuXHJcbiAgICAucHJvZHVjdF9zdGF0dXMge1xyXG4gICAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiA0cHggN3B4O1xyXG4gICAgICBmb250LXNpemU6IDgwJTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcblxyXG4gICAgICAmXzAge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZfMSxcclxuICAgICAgJl8yLFxyXG4gICAgICAmXzMge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmMxMDc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZfNCB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEobW9iaWxlb25seSkge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAmX2ltYWdlcyB7XHJcbiAgICAgIG1heC1oZWlnaHQ6IGluaXRpYWw7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfZGV0YWlscyB7XHJcbiAgICAgIHBhZGRpbmc6IDBcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4vKiBEw6l0YWlscyBkdSBwcm9kdWl0IC0gT3B0aW9ucyAqL1xyXG5cclxuLnByb2R1Y3QtZGV0YWlscyB7XHJcblxyXG4gIC8vIHBvdXIgbGVzIHByb2R1aXQgc2ltcGxlXHJcbiAgJi5wcm9kdWN0LWRldGFpbHNfX3NpbXBsZSB7XHJcbiAgICBAZXh0ZW5kIC5mbGV4LXJvdztcclxuXHJcbiAgICAvLyBsJ29wdGlvbiBkw6l0YWlsbMOpXHJcbiAgICAucHJvZHVjdC1kZXRhaWxzX29wdGlvbiB7XHJcbiAgICAgIEBleHRlbmQgLmZsZXgtY29sdW1uO1xyXG4gICAgICBmbGV4OiAxO1xyXG4gICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBsZSB0aXRyZSBkZXMgb3B0aW9uc1xyXG4gICAgLnByb2R1Y3QtZGV0YWlsc190aXRsZSB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgY29sb3I6ICM3Nzc7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGxlcyBvcHRpb25zXHJcbiAgICAucHJvZHVjdC1kZXRhaWxzX2Nob2ljZXMge1xyXG4gICAgICBAZXh0ZW5kIC5mbGV4LXJvdztcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEobW9iaWxlb25seSkge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgLnByb2R1Y3QtZGV0YWlsc19vcHRpb24ge1xyXG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gQ2hvaXggZGVzIGJvdWNsZXNcclxuICAuY2hvaWNlLWJ1Y2tsZSB7XHJcblxyXG4gICAgJl9idWNrbGUge1xyXG4gICAgICB3aWR0aDogODBweDtcclxuICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICBtYXJnaW46IDEwcHggNXB4IDA7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAmX2ltZyB7XHJcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1iYWNrZ3JvdW5kO1xyXG4gICAgICBib3JkZXI6IHNvbGlkIDFweCBsaWdodGdyYXk7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLy8gY2hvaXggZGVzIGNvdWxldXJzXHJcbiAgLmNob2ljZS1jb2xvciB7XHJcblxyXG4gICAgJl9jb2xvciB7XHJcbiAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgIG1hcmdpbjogMTBweCA1cHggMDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgICZfaW1nIHtcclxuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWJhY2tncm91bmQ7XHJcbiAgICAgIGJvcmRlcjogc29saWQgMXB4IGxpZ2h0Z3JheTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3Jfc2Vjb25kYWlyZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLm5vaXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfbm9pcjsgfVxyXG4gICAgICAmLmJsYW5jIHsgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JsYW5jOyB9XHJcbiAgICAgICYubWFycm9uIHsgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX21hcnJvbjsgfVxyXG4gICAgICAmLmhhdmFuZSB7IGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9oYXZhbmU7IH1cclxuICAgICAgJi5yb3VnZSB7IGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9yb3VnZTsgfVxyXG4gICAgICAmLmphdW5lIHsgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2phdW5lOyB9XHJcbiAgICAgICYuYmxldS10dXJxdW9pc2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmxldS10dXJxdW9pc2U7IH1cclxuICAgICAgJi5udWxsIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuICAgICAgICAgIHdpZHRoOiAxMjRweDtcclxuICAgICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlWigtMzFkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfY29sb3IgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArICZfaW1nIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfcHJpbWFpcmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyogc3VyY2hhcmdlIGRlcyB0b29sdGlwcyAqL1xyXG4gICAgJl9jb2xvciBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgLmNob2ljZS1jb2xvcl9pbWc6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnXFwyNzE0JztcclxuICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICB0ZXh0LXNoYWRvdzogLTFweCAwIGJsYWNrLCAwIDFweCBibGFjaywgMXB4IDAgYmxhY2ssIDAgLTFweCBibGFjaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==*/