/* The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255. */
/* Customize the light and dark text colors for use in our YIQ color contrast function. */
.site {
  font-size: var(--site-text-font-size);
  line-height: var(--site-text-line-height);
  font-weight: var(--site-text-font-weight);
  overflow: hidden;
  /*
*******************************************
Site Section - General
*******************************************
*/
  /*
*******************************************
Site Section - Title
*******************************************
*/
  /*
*******************************************
Site Section - Actions
*******************************************
*/
  /*
*******************************************
Site Section - Desc
*******************************************
*/
  /*
*******************************************
Site Section - Graphic
*******************************************
*/
  /*
*******************************************
Site Section - Content
*******************************************
*/
  /*
*******************************************
Site Section - Sides
*******************************************
*/
  /*
*******************************************
Site Section - Styles
*******************************************
*/
  /* CodeGuard Slider Box */
  /* CodeGuard Slider */
  /* main-subnav */
  /* tabs-filters */
  /* nav-tab */
  /*
*******************************************
Site News Box
*******************************************
*/ }
  .site p,
  .site ul,
  .site ol {
    margin-bottom: var(--ui-block-spacing-sm); }
  .site .d-flex-align {
    display: flex;
    align-items: center; }
  .site b,
  .site strong {
    color: var(--text-heading-color); }
  .site .has-shadow {
    box-shadow: var(--ui-block-shadow-lg); }
  .site .m-safari {
    margin: 0px -.3px; }
  @media (min-width: 768px) {
    .site .row.f-flow {
      flex-flow: row; } }
  @media (min-width: 575px) {
    .site .homepage-tiles {
      flex-flow: row; } }
  @supports (-webkit-hyphens: none) {
    .site .homepage-tiles.row:before {
      display: table-cell; } }
  .site .text-start {
    text-align: start !important; }
  .site .site-section {
    position: relative;
    z-index: 2;
    margin: 0;
    padding: var(--site-section-padding-v) 0;
    background: var(--site-section-bg); }
    .site .site-section + .site-section:not(.section-secondary):not(.section-primary) {
      border-top: var(--site-section-border); }
    .site .site-section.section-slider-btn + .site-section, .site .site-section.section-steps + .site-section {
      border: 0px; }
    .site .site-section > .container > .section-content + .section-content,
    .site .site-section > .container > .section-content + .section-sides,
    .site .site-section > .container > .section-sides + .section-sides,
    .site .site-section > .container > .section-sides + .section-content {
      margin-top: var(--site-section-padding-v); }
    .site .site-section > .container > .section-graphic + .section-content,
    .site .site-section > .container > .section-content + .section-actions {
      margin-top: var(--site-section-spacing); }
    .site .site-section .show-all-btn {
      text-align: center; }
  .site .site-section .section-heading {
    color: var(--text-primary-color);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium); }
  .site .site-section .section-title {
    max-width: var(--site-section-title-max-width);
    margin: 0 auto var(--site-section-title-margin-bottom) auto;
    color: var(--site-section-title-color);
    font-size: var(--site-section-title-font-size);
    font-weight: var(--site-section-title-font-weight);
    line-height: var(--site-section-title-line-height);
    text-transform: capitalize;
    text-align: center; }
    .site .site-section .section-title-sm {
      font-size: var(--site-section-title-sm-font-size);
      font-weight: var(--site-section-title-sm-font-weight);
      line-height: var(--site-section-title-sm-line-height);
      margin-bottom: var(--site-section-title-sm-margin-bottom); }
    .site .site-section .section-title b,
    .site .site-section .section-title strong {
      color: var(--site-section-title-color); }
    .site .site-section .section-title + .section-subtitle {
      margin-top: calc(-1 * (var(--site-section-title-margin-bottom) - var(--site-section-title-subtitle-spacing))); }
  .site .site-section .section-subtitle {
    max-width: var(--site-section-title-max-width);
    margin: 0 auto var(--site-section-title-margin-bottom) auto;
    color: var(--site-section-subtitle-color);
    font-size: var(--site-section-subtitle-font-size);
    font-weight: var(--site-section-subtitle-font-weight);
    line-height: var(--site-section-subtitle-line-height);
    text-align: center; }
    .site .site-section .section-subtitle-bottom {
      margin: var(--site-section-title-margin-bottom) auto 0 auto; }
  .site .site-section .section-sides .section-title,
  .site .site-section .section-sides .section-subtitle {
    text-align: left;
    max-width: none; }
  .site .site-section .section-sides .section-title {
    margin-bottom: var(--site-section-title-sm-margin-bottom); }
  .site .site-section .section-sides-nordvpn .section-title {
    margin-bottom: var(--spacing-4x); }
  .site .site-section .section-sides-nordvpn .section-subtitle {
    font-weight: var(--font-weight-medium);
    color: var(--text-heading-color); }
  .site .site-section .section-sides-nordvpn .section-desc p {
    margin-bottom: var(--spacing-4x); }
  .site .site-section .section-sides-nordvpn .section-graphic img {
    width: 100%; }
  .site .site-section .section-actions {
    margin-top: var(--site-section-spacing);
    text-align: center; }
    .site .site-section .section-actions .btn + .btn {
      margin-left: var(--ui-block-spacing-sm); }
  .site .site-section .section-sides .section-actions {
    text-align: left; }
  .site .site-section .section-desc {
    text-align: center; }
    .site .site-section .section-desc ul {
      padding-left: 18px;
      padding-left: 0; }
    .site .site-section .section-desc .check-list {
      list-style: none;
      padding: 0px; }
      .site .site-section .section-desc .check-list li {
        position: relative;
        padding-left: 40px;
        margin-bottom: var(--ui-block-spacing-xs); }
        .site .site-section .section-desc .check-list li .lm-check {
          position: absolute;
          top: 5px;
          left: 0;
          color: var(--text-primary-color); }
    .site .site-section .section-desc > h3,
    .site .site-section .section-desc > .h3 {
      margin-top: var(--article-h3-margin-top);
      margin-bottom: var(--article-h3-margin-bottom); }
    .site .site-section .section-desc > h4,
    .site .site-section .section-desc > .h4 {
      margin-top: var(--article-h4-margin-top);
      margin-bottom: var(--article-h4-margin-bottom); }
    .site .site-section .section-desc > h5,
    .site .site-section .section-desc > .h5 {
      margin-top: var(--article-h5-margin-top);
      margin-bottom: var(--article-h5-margin-bottom); }
    .site .site-section .section-desc > *:last-child {
      margin-bottom: 0; }
  .site .site-section .section-sides .section-desc {
    text-align: left; }
    .site .site-section .section-sides .section-desc .text-default {
      color: var(--text-body-color); }
  .site .site-section .section-graphic {
    display: flex;
    justify-content: center; }
    .site .site-section .section-graphic .graphic > img {
      max-width: 100%; }
    .site .site-section .section-graphic-illustration {
      height: var(--site-section-illustration-height);
      position: relative;
      z-index: -1; }
      @media (max-width: 991.98px) {
        .site .site-section .section-graphic-illustration {
          height: var(--site-section-illustration-height-sm);
          width: var(--site-section-illustration-width-sm);
          margin-left: auto;
          margin-right: auto; }
          .site .site-section .section-graphic-illustration svg {
            height: 100%;
            width: 100%; } }
      .site .site-section .section-graphic-illustration .promo-slider-icon {
        position: absolute;
        top: 0;
        right: 0;
        opacity: 0;
        bottom: unset;
        height: auto;
        width: var(--site-section-illustration-width); }
        @media (max-width: 991.98px) {
          .site .site-section .section-graphic-illustration .promo-slider-icon {
            width: var(--site-section-illustration-width-sm); } }
        .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo {
          visibility: visible;
          animation-name: showSliderIcons;
          animation-duration: 0.32s;
          animation-timing-function: cubic-bezier(0, 0, 0, 1);
          animation-fill-mode: forwards;
          margin: 0; }
          .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo.promo-slider-icon-reverse {
            animation-name: showSliderIconsReverse; }
            .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo.promo-slider-icon-reverse:nth-child(3) {
              animation-delay: 0.72s; }
            .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo.promo-slider-icon-reverse:nth-child(2) {
              animation-delay: 0.64s; }
            .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo.promo-slider-icon-reverse:nth-child(1) {
              animation-delay: 0.56s; }
          .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo:nth-child(1) {
            animation-delay: 0.72s; }
          .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo:nth-child(2) {
            animation-delay: 0.64s; }
          .site .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo:nth-child(3) {
            animation-delay: 0.56s; }
    .site .site-section .section-graphic-custom .svg-graphic-stroke-p {
      display: none; }
  .site .site-section .tab-content-cpanelseo {
    margin-top: var(--spacing-8x); }
  .site .site-section .section-sides .section-graphic {
    justify-content: flex-start; }
    @media (min-width: 992px) {
      .site .site-section .section-sides .section-graphic {
        min-width: calc(50% - var(--site-section-sides-spacing) / 2); } }
    .site .site-section .section-sides .section-graphic.order-last {
      justify-content: flex-end; }
  @media (max-width: 991.98px) {
    .site .site-section .tab-content-cpanelseo {
      margin-top: var(--spacing-4x); }
    .site .site-section .tab-pane-cpanelseo .section-sides {
      display: flex;
      flex-direction: column; }
      .site .site-section .tab-pane-cpanelseo .section-sides .section-content {
        order: 2; }
      .site .site-section .tab-pane-cpanelseo .section-sides .section-graphic {
        margin-top: 0 !important; }
    .site .site-section .section-sides .section-graphic {
      justify-content: center !important; }
    .site .site-section .section-sides .section-graphic + .section-content {
      margin-top: var(--site-section-sides-spacing); }
    .site .site-section .section-sides .section-content + .section-graphic {
      margin-top: var(--site-section-sides-spacing); } }
  .site .lagom-default .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo .svg-browser-body,
  .site .lagom-default .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo .svg-graphs-bg,
  .site .lagom-default .site-section .section-graphic-illustration .promo-slider-icon.svg-marketgoo .svg-phone-bg {
    fill: var(--gray-faded); }
  @media (min-width: 992px) {
    .site .site-section .section-sides > .section-content {
      flex: 1; } }
  @media (max-width: 991.98px) {
    .site .site-section .section-sides .section-content + .section-content {
      margin-top: var(--site-section-sides-spacing); } }
  @media (min-width: 992px) {
    .site .site-section .section-sides {
      display: flex;
      align-items: center; }
      .site .site-section .section-sides > * + * {
        margin-right: var(--site-section-sides-spacing); }
      .site .site-section .section-sides .section-content.order-last + .order-first,
      .site .site-section .section-sides .section-graphic.order-last + .order-first {
        margin-right: 0;
        margin-left: var(--site-section-sides-spacing); } }
  .site .site-section.section-secondary .svg-icon .outline,
  .site .site-section.section-primary .svg-icon .outline {
    stroke: var(--svg-icon-on-dark-color-secondary); }
  .site .site-section.section-secondary .package .svg-icon .outline,
  .site .site-section.section-primary .package .svg-icon .outline {
    stroke: var(--gray-darker); }
  .site .site-section.section-secondary .browser-notice p,
  .site .site-section.section-primary .browser-notice p {
    color: var(--text-lighter-color); }
  .site .site-section.section-secondary {
    background: var(--secondary-block-bg-h); }
    .site .site-section.section-secondary .section-title,
    .site .site-section.section-secondary .section-title strong,
    .site .site-section.section-secondary .section-title b {
      color: var(--secondary-block-title-color); }
    .site .site-section.section-secondary .section-subtitle {
      color: var(--secondary-block-subtitle-color); }
    .site .site-section.section-secondary .section-desc {
      color: var(--secondary-block-text-color); }
    .site .site-section.section-secondary .feature-content .feature-title {
      color: var(--secondary-block-title-color); }
    .site .site-section.section-secondary .feature-content .feature-desc {
      color: var(--secondary-block-text-color); }
  .site .site-section.section-primary {
    background: var(--primary-block-bg-h); }
    .site .site-section.section-primary .section-title,
    .site .site-section.section-primary .section-title strong,
    .site .site-section.section-primary .section-title b {
      color: var(--primary-block-title-color); }
    .site .site-section.section-primary .section-subtitle {
      color: var(--primary-block-subtitle-color); }
    .site .site-section.section-primary .section-desc {
      color: var(--primary-block-text-color); }
    .site .site-section.section-primary .feature-content .feature-title {
      color: var(--primary-block-title-color); }
    .site .site-section.section-primary .feature-content .feature-desc {
      color: var(--primary-block-text-color); }
  @media (max-width: 767.98px) {
    .site .site-section .section-graphic {
      margin-top: var(--site-section-title-margin-bottom);
      order: 1;
      display: block; }
      .site .site-section .section-graphic .browser,
      .site .site-section .section-graphic .graphic {
        margin: 0 auto; } }
  .site.site-xovinow .section-sides {
    max-height: 366px; }
  .site .panel-faq {
    box-shadow: none;
    background: transparent;
    border: none; }
    .site .panel-faq .panel {
      border-left: 0;
      border-right: 0;
      border-radius: 0;
      background: transparent; }
      .site .panel-faq .panel-title {
        flex-direction: row-reverse; }
      .site .panel-faq .panel-body, .site .panel-faq .panel-heading {
        padding-left: 0;
        padding-right: 0;
        padding-top: var(--ui-block-padding-base);
        padding-bottom: var(--ui-block-padding-base);
        background: transparent; }
      .site .panel-faq .panel-body {
        padding-top: 0;
        font-size: var(--site-text-font-size);
        line-height: var(--site-text-line-height); }
      .site .panel-faq .panel-heading .panel-title {
        font-size: var(--font-size-h5);
        font-weight: var(--font-weight-h5);
        line-height: var(--line-height-h5); }
      .site .panel-faq .panel:first-child {
        border-top: 0; }
      .site .panel-faq .panel:last-child {
        border-bottom: 0; }
      .site .panel-faq .panel:hover, .site .panel-faq .panel.is-open {
        border-color: var(--panel-border-divider-color) !important; }
      .site .panel-faq .panel-accordion img {
        max-width: 100%;
        margin-bottom: var(--spacing-2x); }
  .site .package-slider {
    width: 100%;
    max-width: 832px;
    margin: 0 auto;
    box-shadow: var(--ui-block-shadow);
    border-radius: var(--ui-block-border-radius);
    background: var(--ui-block-bg); }
    .site .package-slider-body {
      padding: 48px 56px; }
    .site .package-slider-bottom {
      display: flex;
      justify-content: space-between;
      padding-top: 54px; }
    .site .package-slider-summary {
      display: flex; }
      .site .package-slider-summary-item {
        display: flex;
        flex-direction: column;
        min-width: 120px;
        position: relative;
        margin-right: 24px; }
        .site .package-slider-summary-item:not(:last-of-type):after {
          content: '';
          position: absolute;
          right: 0;
          width: 1px;
          background: var(--ui-block-border-color);
          top: 0;
          bottom: 0; }
      .site .package-slider-summary-label {
        color: var(--price-font-size-color);
        font-size: var(--site-text-xs-font-size);
        line-height: var(--site-text-xs-line-height);
        margin-bottom: 5px; }
      .site .package-slider-summary-value {
        display: flex;
        font-size: var(--price-font-size);
        line-height: var(--price-line-height);
        font-weight: var(--price-font-weight);
        color: var(--price-color); }
      .site .package-slider-summary .price-cycle {
        font-size: 24px;
        line-height: 30px;
        align-self: flex-end;
        display: inline-block; }
    .site .package-slider-actions {
      align-self: flex-end;
      display: flex; }
      .site .package-slider-actions form + form {
        margin-left: var(--ui-block-padding-base); }
  .site .slider .irs-single {
    display: none !important; }
  .site .slider-actions {
    padding-top: 16px; }
    .site .slider-actions-list {
      display: flex;
      justify-content: space-between;
      flex-direction: row-reverse; }
    .site .slider-actions-btn {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      min-width: 68px;
      height: var(--range-slider-actions-height);
      border: 1px solid var(--range-slider-actions-border-color);
      border-radius: var(--range-slider-actions-border-radius);
      font-size: var(--site-text-sm-font-size);
      line-height: var(--site-text-sm-line-height);
      font-weight: var(--font-weight-base);
      cursor: pointer;
      transition: var(--transition-base); }
      .site .slider-actions-btn:hover, .site .slider-actions-btn:focus-visible {
        border-color: var(--brand-primary);
        color: var(--text-primary-color); }
      .site .slider-actions-btn span {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1;
        position: relative;
        z-index: 2;
        height: 100%;
        padding: 0 4px;
        padding-top: 1px;
        background: var(--ui-block-bg);
        border-radius: var(--range-slider-actions-border-radius); }
      .site .slider-actions-btn.active {
        border-color: var(--range-slider-actions-active-border-color);
        color: var(--ui-link-active-color); }
  .site-index .slider {
    display: flex; }
  @media (max-width: 991.98px) {
    .site .package-slider-bottom.has-currency {
      padding-top: 24px;
      flex-direction: column; }
      .site .package-slider-bottom.has-currency .package-slider-actions {
        flex: 1;
        align-self: stretch;
        padding-top: 24px; } }
  @media (max-width: 767px) {
    .site .package-slider-body {
      padding: var(--ui-block-padding-base); }
    .site .package-slider-bottom {
      padding-top: 24px;
      flex-direction: column; }
      .site .package-slider-bottom.has-currency .package-slider-actions form {
        flex-basis: 50%; }
    .site .package-slider-actions {
      flex: 1;
      align-self: stretch;
      padding-top: 24px; } }
  @media screen and (max-width: 767px) and (-ms-high-contrast: active), (max-width: 767px) and (-ms-high-contrast: none) {
    .site .package-slider-actions {
      flex: auto; } }
  @media (max-width: 767px) {
      .site .package-slider-actions form {
        flex-basis: 100%; }
      .site .package-slider-actions .btn {
        width: 100%; }
    .site .slider-actions {
      display: none; } }
  @media (max-width: 575px) {
    .site .package-slider-actions {
      flex-direction: column; } }
  @media screen and (max-width: 575px) and (-ms-high-contrast: active), (max-width: 575px) and (-ms-high-contrast: none) {
    .site .package-slider-actions {
      align-items: center;
      justify-content: center;
      flex-flow: row wrap;
      flex: auto; } }
  @media (max-width: 575px) {
      .site .package-slider-actions form + form {
        margin: 16px 0 0; }
    .site .package-slider-summary-item {
      min-width: unset;
      padding-right: 24px; }
    .site .package-slider-summary-label {
      margin-bottom: 0; }
    .site .package-slider-summary .price-prefix {
      font-size: var(--site-text-font-size); }
    .site .package-slider-summary .price-cycle {
      font-size: var(--site-text-font-size);
      margin-bottom: 0; } }
  .site .show-all-btn {
    margin: 24px 0px 0px 0px; }
    .site .show-all-btn .show-all {
      font-weight: var(--font-weight-medium);
      font-size: var(--font-size-md); }
  .site .product-billing-switcher {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--site-section-title-margin-bottom); }
    .site .product-billing-switcher .btn-group {
      flex-wrap: wrap;
      padding: 2px;
      border: 1px solid var(--ui-block-divider-color);
      border-radius: var(--ui-height-base); }
      .site .product-billing-switcher .btn-group > .btn {
        border-radius: var(--ui-height-base) !important; }
        .site .product-billing-switcher .btn-group > .btn:hover, .site .product-billing-switcher .btn-group > .btn:focus-visible {
          background: var(--btn-primary-faded-bg);
          border-color: var(--btn-primary-faded-border);
          color: var(--btn-primary-faded-color); }
        .site .product-billing-switcher .btn-group > .btn.active {
          background: var(--btn-primary-bg);
          border-color: var(--btn-primary-border);
          box-shadow: var(--box-shadow-base);
          color: var(--btn-primary-color); }
        .site .product-billing-switcher .btn-group > .btn + .btn {
          margin-left: 2px; }
  .site .section-title + .product-billing-switcher {
    margin-top: calc(var(--site-section-title-margin-bottom) / -2); }
  .site .section-primary .product-billing-switcher .btn-group,
  .site .section-secondary .product-billing-switcher .btn-group {
    border-color: var(--btn-light-border);
    background: var(--btn-light-bg); }
    .site .section-primary .product-billing-switcher .btn-group > .btn,
    .site .section-secondary .product-billing-switcher .btn-group > .btn {
      color: var(--btn-light-color); }
      .site .section-primary .product-billing-switcher .btn-group > .btn:hover, .site .section-primary .product-billing-switcher .btn-group > .btn:focus-visible,
      .site .section-secondary .product-billing-switcher .btn-group > .btn:hover,
      .site .section-secondary .product-billing-switcher .btn-group > .btn:focus-visible {
        background: var(--btn-light-bg);
        border-color: transparent; }
      .site .section-primary .product-billing-switcher .btn-group > .btn.active,
      .site .section-secondary .product-billing-switcher .btn-group > .btn.active {
        background: var(--btn-primary-faded-bg);
        border-color: var(--btn-primary-faded-border);
        box-shadow: var(--box-shadow-base);
        color: var(--btn-primary-faded-color); }
  .site .section-primary .product-billing-switcher .dropdown-toggle,
  .site .section-secondary .product-billing-switcher .dropdown-toggle {
    border-color: var(--btn-light-border);
    background: var(--btn-light-bg);
    color: var(--btn-light-color);
    min-width: var(--dropdown-min-width); }
  .site .section-primary .product-billing-switcher .dropdown-item,
  .site .section-secondary .product-billing-switcher .dropdown-item {
    flex: 100%;
    width: 100%;
    border: 0;
    background: transparent;
    transition: color var(--transition-base), background var(--transition-base), padding var(--transition-base); }
    .site .section-primary .product-billing-switcher .dropdown-item.active,
    .site .section-secondary .product-billing-switcher .dropdown-item.active {
      background-color: var(--dropdown-link-active-bg); }
  .site .site-subnav {
    position: relative;
    z-index: 2;
    background-color: transparent;
    border-bottom: 1px solid var(--ui-block-divider-color); }
    .site .site-subnav .nav {
      margin-left: calc(-1 * var(--nav-link-padding-h));
      margin-right: calc(-1 * var(--nav-link-padding-h));
      margin-bottom: 0px; }
    @media (min-width: 992px) {
      .site .site-subnav {
        display: flex !important; }
        .site .site-subnav .navbar-collapse.collapse {
          display: block !important; }
          .site .site-subnav .navbar-collapse.collapse .navbar-nav {
            flex-direction: row; }
            .site .site-subnav .navbar-collapse.collapse .navbar-nav li a {
              position: relative; } }
    @media (max-width: 991.98px) {
      .site .site-subnav {
        border: none;
        margin-top: var(--ui-block-spacing-lg); }
        .site .site-subnav .navbar-toggle {
          margin-right: 0px;
          float: left; }
          .site .site-subnav .navbar-toggle .icon-bar {
            background-color: var(--ui-icon-color); }
        .site .site-subnav .navbar-collapse {
          border: none; } }
  .site .ssl-filters {
    display: flex;
    justify-content: center;
    flex-direction: column; }
  .site .tabs {
    position: relative; }
    .site .tabs .nav-tabs {
      display: flex;
      justify-content: center;
      flex-wrap: wrap; }
      .site .tabs .nav-tabs:after {
        content: "";
        height: 1px;
        background-color: var(--gray-lighter-4);
        position: absolute;
        left: 0;
        right: 0px;
        bottom: 0; }
  .site .row-pricing-table .panel-package {
    padding: 0;
    background-color: #fff;
    border: none; }
    .site .row-pricing-table .panel-package ul li .lm-check {
      color: var(--text-primary-color); }
    .site .row-pricing-table .panel-package ul li.price {
      color: var(--text-primary-color);
      font-weight: var(--font-weight-medium); }
    .site .row-pricing-table .panel-package form {
      padding: var(--ui-block-padding-base); }
  .site .row-pricing-table .sidebar .header {
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
    padding: var(--ui-block-padding-base);
    height: 80px;
    text-align: center;
    overflow: hidden; }
  .site .row-pricing-table .sidebar ul li {
    background: rgba(255, 255, 255, 0.05);
    border: none;
    border-radius: var(--border-radius-base);
    margin-bottom: 1px;
    color: #fff;
    text-align: left;
    font-weight: var(--font-weight-light); }
  .site .row-pricing-table .package-header {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
    padding: var(--ui-block-padding-sm);
    height: 80px;
    text-align: center;
    overflow: hidden;
    border-bottom: 1px solid var(--ui-block-divider-color); }
    .site .row-pricing-table .package-header h4 {
      margin: 0;
      font-size: var(--font-size-h3); }
  .site .row-pricing-table ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .site .row-pricing-table ul li {
      padding: 0 16px;
      line-height: 40px;
      text-align: center;
      border-bottom: 1px solid var(--ui-block-divider-color); }
  .site .logos {
    display: flex;
    justify-content: space-around; }
    .site .logos .logo {
      width: 100%;
      max-width: 240px;
      padding: var(--ui-block-padding-sm); }
      .site .logos .logo > img {
        max-width: 100%; }
  .site .browser {
    display: flex;
    flex-direction: column;
    background: var(--ui-block-bg);
    border-radius: var(--border-radius-base);
    overflow: hidden;
    max-width: 100%;
    box-shadow: var(--svg-graphic-shadow); }
    .site .browser-top {
      display: flex;
      align-items: center;
      width: 100%;
      height: 32px;
      padding: 0 var(--ui-block-padding-sm); }
      .site .browser-top:not(.browser-top-transparent) {
        background: var(--svg-graphic-bg-browser-top); }
    .site .browser-actions {
      display: flex; }
      .site .browser-actions > span {
        display: block;
        height: 6px;
        width: 6px;
        margin-right: 6px;
        background: var(--svg-graphic-bg-browser-actions);
        border-radius: 100%; }
    .site .browser-body {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: var(--ui-block-padding-sm); }
    .site .browser-sm {
      width: 446px; }
      .site .browser-sm .browser-top {
        height: 24px;
        padding: 0 var(--spacing-1x); }
    .site .browser-md {
      width: 560px; }
    @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
      .site .browser .svg-graphic {
        height: 314px; } }
    .site .browser-google {
      position: relative;
      overflow: unset;
      max-width: 500px;
      max-height: 300px; }
      .site .browser-google > svg {
        width: 100%;
        height: 100%; }
      .site .browser-google > div {
        position: absolute; }
      .site .browser-google .quote {
        top: -13.5px;
        right: 28px; }
      .site .browser-google .puzzle {
        bottom: -19px;
        right: -19px; }
  .site .browser-ssl {
    margin: 0 auto; }
    .site .browser-ssl .browser-body {
      height: 440px; }
  .site .browser-lg {
    width: 100%;
    max-width: 832px;
    padding: var(--ui-block-padding-base);
    background: var(--ui-block-bg);
    border-radius: var(--ui-block-border-radius-lg); }
    .site .browser-lg .browser-top {
      padding: 2px 0 10px;
      justify-content: space-between; }
    .site .browser-lg .browser-actions {
      margin-left: 10px; }
      .site .browser-lg .browser-actions > span {
        height: 12px;
        width: 12px;
        margin-right: var(--spacing-1x);
        background: var(--svg-graphic-bg-browser-actions); }
    .site .browser-lg .browser-searchbar {
      height: 28px;
      width: 100%;
      background: var(--svg-graphic-bg-faded);
      border-radius: var(--border-radius-sm);
      display: flex;
      justify-content: start;
      align-items: center;
      font-size: var(--font-size-sm);
      padding: 0 10px; }
    .site .browser-lg .browser-body {
      display: flex;
      align-items: center;
      justify-content: center; }
    .site .browser-lg .browser-notice {
      max-width: 456px;
      padding: 0px 12px; }
      .site .browser-lg .browser-notice p {
        margin: 0;
        font-weight: var(--font-weight-base);
        text-align: center; }
    .site .browser-lg .browser-image {
      margin: -40px 0 40px 0;
      text-align: center; }
  .site .browser-zoom {
    overflow: hidden;
    position: relative; }
    .site .browser-zoom .browser-img-zoom {
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      visibility: hidden; }
      .site .browser-zoom .browser-img-zoom, .site .browser-zoom .browser-img-zoom:after {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        transition: all 0.25s;
        transition-timing-function: cubic-bezier(1, 0, 1, 1); }
      .site .browser-zoom .browser-img-zoom:after {
        content: "";
        background: var(--brand-primary-gradient-v);
        opacity: 0.6; }
      .site .browser-zoom .browser-img-zoom i {
        position: relative;
        z-index: 1;
        opacity: 0;
        visibility: hidden;
        color: var(--text-secondary-heading-color);
        font-size: 64px;
        transform: translateY(16px);
        transition: all 0.25s;
        transition-timing-function: cubic-bezier(1, 0, 1, 1); }
    .site .browser-zoom:hover .browser-img-zoom {
      opacity: 1;
      visibility: visible; }
      .site .browser-zoom:hover .browser-img-zoom i {
        opacity: 1;
        visibility: visible;
        transform: translateY(0px); }
  .site.site-spamexperts .browser-sm {
    height: 266px; }
    .site.site-spamexperts .browser-sm .browser-body {
      margin-top: auto;
      margin-bottom: auto; }
  .site .domain-tlds {
    margin: var(--site-section-spacing) 0 0 0;
    justify-content: center; }
    .site .domain-tlds > * {
      margin-top: var(--ui-block-padding-base);
      max-width: 240px; }
    .site .domain-tlds .domain-tld {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: var(--font-size-xlg);
      line-height: var(--line-height-xlg); }
      .site .domain-tlds .domain-tld .tld-price {
        display: inline-block;
        font-weight: var(--font-weight-light);
        color: var(--text-lighter-color); }
      .site .domain-tlds .domain-tld .tld-name {
        display: inline-block;
        color: var(--text-heading-color);
        font-weight: var(--font-weight-bold);
        margin-left: var(--spacing-2x); }
        .site .domain-tlds .domain-tld .tld-name > span {
          color: var(--text-primary-color); }
    .site .domain-tlds > *:not(:last-child) {
      border-left: 1px solid var(--ui-block-divider-color); }
  @media (max-width: 991.98px) {
    .site .site.site-index .domain-tlds .col-sm,
    .site .site.site-index .domain-tlds > * {
      width: 50%;
      max-width: 50%;
      flex-basis: auto; } }
  @media (max-width: 767.98px) {
    .site .domain-tlds {
      margin: 0 -4px; }
      .site .domain-tlds > * {
        padding-left: 4px;
        padding-right: 4px;
        border: none;
        width: 33.33%;
        border-right: none !important; }
      .site .domain-tlds .domain-tld {
        padding: var(--spacing-1x);
        border: 1px solid var(--gray-lighter-4);
        border-radius: var(--border-radius-base); } }
  @media (max-width: 520px) {
    .site .domain-tlds > * {
      width: 100%;
      max-width: 100%; } }
  @media (max-width: 479.98px) {
    .site .site.site-index .domain-tlds .col-sm,
    .site .site.site-index .domain-tlds > * {
      width: 100%;
      max-width: 100%; }
    .site .site.site-index .domain-tlds .domain-tld .tld-name,
    .site .site.site-index .domain-tlds .domain-tld .tld-price {
      flex-basis: 50%; }
    .site .site.site-index .domain-tlds .domain-tld .tld-price {
      text-align: right; } }
  .site .news-box {
    display: flex;
    flex-direction: column;
    border: var(--ui-block-border);
    background: var(--ui-block-bg);
    border-radius: var(--ui-block-border-radius);
    box-shadow: var(--ui-block-shadow-lg);
    transition: all var(--transition-base) !important;
    margin-bottom: var(--ui-block-spacing-xlg); }
    .site .news-box:hover {
      background: var(--tile-hover-bg);
      transform: translate3d(0, -8px, 0);
      box-shadow: var(--ui-block-shadow-xlg); }
      .site .news-box:hover .icon {
        color: var(--tile-border-color-hover); }
      .site .news-box:hover .news-actions > span {
        color: var(--link-hover-color); }
    .site .news-box .news-body {
      flex: 1;
      padding: 16px 20px 20px 24px;
      text-align: right; }
    .site .news-box .news-date {
      color: var(--text-lighter-color);
      font-size: var(--site-text-xs-font-size);
      margin-bottom: var(--ui-block-spacing-xs); }
      .site .news-box .news-date i {
        font-size: var(--site-text-xs-font-size);
        margin-right: var(--ui-block-spacing-xs);
        color: var(--ui-icon-color); }
    .site .news-box .news-desc {
      flex: 1;
      font-size: var(--font-size-xlgg);
      line-height: var(--line-height-xlgg);
      color: var(--text-heading-color); }
      .site .news-box .news-desc p {
        margin: 0; }
    .site .news-box .news-actions {
      padding: var(--spacing-1x) var(--ui-block-padding-base);
      border-top: 1px solid var(--ui-block-divider-color);
      font-weight: var(--font-weight-medium);
      text-align: right; }
  .site .content-slider {
    overflow: visible;
    max-width: 100%;
    position: relative; }
    .site .content-slider-wrapper {
      display: flex;
      position: relative;
      z-index: 1;
      display: flex;
      height: 100%;
      flex-wrap: nowrap;
      transition-property: transform;
      padding: 0; }
    .site .content-slider-item {
      white-space: nowrap;
      width: auto; }
      .site .content-slider-item:first-child {
        margin-left: var(--ui-block-padding-base); }
      .site .content-slider-item:last-child {
        margin-right: var(--ui-block-padding-base); }
      .site .content-slider-item-img img {
        box-shadow: var(--box-shadow-lg);
        width: 768px;
        border-radius: var(--border-radius-lg);
        margin: 0 var(--spacing-2x); }
        @media (max-width: 991.98px) {
          .site .content-slider-item-img img {
            width: 664px; } }
        @media (max-width: 767.98px) {
          .site .content-slider-item-img img {
            width: 510px;
            margin: 0 0;
            margin-right: var(--spacing-1x); } }
        @media (max-width: 520px) {
          .site .content-slider-item-img img {
            width: 305px; } }
  .site .testimonials-item {
    background: var(--ui-block-bg);
    border: var(--ui-block-border);
    box-shadow: var(--ui-block-shadow);
    padding: var(--ui-block-padding-base);
    width: 100%;
    display: flex;
    flex-direction: column;
    white-space: unset;
    border-radius: var(--ui-block-border-radius);
    cursor: default; }
  .site .testimonials-desc {
    margin-bottom: var(--ui-block-spacing-lg); }
    .site .testimonials-desc > p:last-child {
      margin: 0; }
    .site .testimonials-desc p {
      font-size: var(--font-size-xlg);
      line-height: var(--line-height-xlg); }
  .site .testimonials-details {
    display: flex;
    flex-direction: row;
    align-items: center;
    line-height: var(--site-text-sm-line-height);
    margin-top: auto; }
  .site .testimonials-avatar {
    margin-left: 32px;
    position: relative;
    width: 64px;
    height: 64px;
    background-color: #eee;
    border-radius: 100%; }
    .site .testimonials-avatar img {
      height: 100%;
      border-radius: 100%; }
    .site .testimonials-avatar span {
      background-color: var(--text-primary-color);
      width: 32px;
      height: 32px;
      display: flex;
      align-content: center;
      justify-content: center;
      color: #fff;
      line-height: 60px;
      border-radius: 100%;
      font-size: 48px;
      position: absolute;
      bottom: 0px;
      right: -16px; }
  .site .testimonials-author > span {
    font-weight: var(--font-weight-medium);
    color: var(--text-heading-color); }
  @media (max-width: 991.98px) {
    .site .testimonials.row .testimonials-item {
      margin-bottom: var(--ui-block-spacing-lg); } }
  .site .slider .testimonials-item {
    min-width: 340px;
    margin: 0px 12px; }
  .site .check-features {
    margin-top: var(--ui-block-spacing-xxlg); }
    .site .check-features > * {
      padding-top: 4px;
      padding-bottom: 4px; }
    .site .check-features .lm-check {
      margin-right: var(--ui-block-padding-base);
      color: var(--text-primary-color); }
  .site .package-get-started {
    background: var(--package-bg);
    border: var(--package-border);
    border-radius: var(--package-border-radius);
    box-shadow: var(--package-block-shadow);
    padding: var(--package-padding);
    position: relative; }
    @media (min-width: 768px) {
      .site .package-get-started {
        flex-direction: row; } }
    .site .package-get-started-content {
      flex: 1;
      text-align: left; }
    .site .package-get-started-summary {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      border-top: 1px solid var(--ui-block-divider-color);
      padding-top: var(--ui-block-spacing-lg);
      margin-top: var(--ui-block-spacing-lg); }
    .site .package-get-started .additional-options .option:not(:first-child) {
      display: none; }
    .site .package-get-started .price:not(:nth-child(3)) {
      display: none; }
    .site .package-get-started .choose-product {
      margin-bottom: var(--ui-block-spacing-lg);
      display: flex;
      flex-direction: row;
      justify-content: space-between; }
      .site .package-get-started .choose-product .btn {
        border-radius: var(--border-radius-base);
        display: -webkit-box;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        height: 100%;
        padding: 30px;
        font-size: var(--fotn-size-md); }
        .site .package-get-started .choose-product .btn span {
          display: none; }
        .site .package-get-started .choose-product .btn:first-child {
          border-radius: var(--border-radius-base);
          margin-left: var(--spacing-2x); }
        .site .package-get-started .choose-product .btn.active {
          background-color: transparent;
          border-color: var(--text-primary-color); }
          .site .package-get-started .choose-product .btn.active svg {
            display: none; }
          .site .package-get-started .choose-product .btn.active span {
            display: block;
            margin-bottom: var(--ui-block-spacing-lg);
            height: 64px;
            width: 64px;
            line-height: 64px; }
            .site .package-get-started .choose-product .btn.active span i {
              color: var(--text-primary-color);
              font-size: 26px;
              border: 2px solid var(--text-primary-color);
              border-radius: 100px;
              padding: 12px; }
        .site .package-get-started .choose-product .btn .svg-icon {
          margin-bottom: var(--ui-block-spacing-lg); }
        @media (max-width: 991.98px) {
          .site .package-get-started .choose-product .btn {
            padding: 14px; } }
        @media (max-width: 479.98px) {
          .site .package-get-started .choose-product .btn {
            width: 100%;
            margin-bottom: 15px; } }
      @media (max-width: 767.98px) {
        .site .package-get-started .choose-product {
          justify-content: flex-start; } }
      @media (max-width: 479.98px) {
        .site .package-get-started .choose-product {
          flex-direction: column; } }
  .site .emergency-promo {
    position: relative;
    padding: var(--ui-block-padding-xlg);
    border: 1px solid var(--text-primary-color);
    border-radius: var(--border-radius-xlg); }
    .site .emergency-promo-title h3 {
      text-align: center; }
    .site .emergency-promo-banner {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-direction: column;
      color: var(--brand-primary);
      margin-top: var(--ui-block-spacing-lg); }
      .site .emergency-promo-banner h4 {
        text-align: center; }
  @media (min-width: 768px) {
    .site .emergency-promo {
      border-top: none; }
      .site .emergency-promo-title {
        display: flex;
        position: absolute;
        top: -20px;
        left: 0px;
        right: 0px;
        height: 40px;
        justify-content: center; }
        .site .emergency-promo-title h3 {
          padding: 0px 20px;
          text-align: center; }
        .site .emergency-promo-title span {
          display: block;
          flex: 1;
          height: 20px;
          margin-top: 20px;
          border-top: 1px solid var(--text-primary-color);
          border-radius: var(--border-radius-xlg); } }
  .site .section-ssl-upgrade {
    padding-bottom: 0; }
    .site .section-ssl-upgrade .browser {
      position: relative;
      z-index: 2; }
      .site .section-ssl-upgrade .browser-top {
        background: transparent; }
  .site .ssl-upgrade {
    margin-top: -64px;
    padding: 100px 0; }
    .site .ssl-upgrade .section-title {
      margin-top: var(--ui-block-spacing-xlg);
      margin-bottom: var(--ui-block-spacing-xlg);
      font-weight: var(--font-weight-light);
      font-size: 28px; }
  .site .section-secondary.section-ssl-upgrade .ssl-upgrade {
    padding-bottom: var(--spacing-8x); }
  .site .modal-results .result-negative {
    color: var(--text-primary-color); }
  .site .modal-results .result-positive {
    color: var(--text-success-color); }
  .site .modal-results .result-concern {
    color: var(--text-warning-color); }
  @media (min-width: 768px) {
    .site.site-nordvpn .img-overlap {
      margin-bottom: -100px; } }
  .site.site-nordvpn .comparison {
    text-align: center; }
  .site.site-nordvpn .comparison .col-2:first-of-type {
    text-align: left; }
  .site.site-nordvpn .comparison .col-2 {
    min-height: 4rem;
    padding: 0 1rem;
    border: 1px solid var(--ui-block-divider-color);
    border-bottom: none; }
  .site.site-nordvpn .comparison .col-12:first-of-type .col-2 {
    min-height: 1.5rem; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(7) .col-2:not(:nth-of-type(2)),
  .site.site-nordvpn .comparison .col-12:last-of-type .col-2:nth-of-type(2) {
    border-bottom: 1px solid var(--ui-block-divider-color); }
  .site.site-nordvpn .comparison .col-12:first-of-type .col-2:not(:nth-of-type(2)),
  .site.site-nordvpn .comparison .col-12:last-of-type .col-2:not(:nth-of-type(2)) {
    border: none; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(2) .col-2:nth-of-type(2),
  .site.site-nordvpn .comparison .col-12:last-of-type .col-2:nth-of-type(2) {
    border-top: none; }
  .site.site-nordvpn .comparison .col-2:first-of-type {
    border-right: none; }
  .site.site-nordvpn .comparison .col-2:not(:first-of-type):not(:nth-of-type(2)) {
    border-left: none; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(2) .col-2:first-of-type {
    border-top-left-radius: 4px; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(7) .col-2:first-of-type {
    border-bottom-left-radius: 4px; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(2) .col-2:last-of-type {
    border-top-right-radius: 4px; }
  .site.site-nordvpn .comparison .col-12:nth-of-type(7) .col-2:last-of-type {
    border-bottom-right-radius: 4px; }
  .site.site-nordvpn .comparison .col-12:first-of-type .col-2:nth-of-type(2) {
    border-radius: 4px 4px 0 0; }
  .site.site-nordvpn .comparison .col-12:last-of-type .col-2:nth-of-type(2) {
    border-radius: 0 0 4px 4px; }
  .site.site-nordvpn .comparison .col-2 {
    display: flex;
    align-items: center;
    flex-wrap: wrap; }
  .site.site-nordvpn .comparison .col-12 .col-2:nth-of-type(2) {
    border-left-color: var(--ui-block-divider-color);
    border-right-color: var(--ui-block-divider-color);
    background: var(--brand-info-lighter-3); }
  .site.site-nordvpn .comparison .col-12:first-of-type .col-2:nth-of-type(2) {
    border-top-color: var(--ui-block-divider-color); }
  .site.site-nordvpn .comparison .col-12:last-of-type .col-2:nth-of-type(2) {
    border-bottom-color: var(--ui-block-divider-color); }
  .site.site-nordvpn .comparison .col-2 span {
    width: 100%; }
  .site.site-nordvpn .comparison .btn-get-deal {
    font-size: 1rem;
    padding: 0.5rem 1.5rem;
    background: var(--brand-danger);
    color: #fff;
    border-radius: 4px;
    border-color: transparent; }
  .site.site-nordvpn .comparison-container {
    overflow-x: auto;
    margin-bottom: 2.5rem; }
  .site.site-nordvpn .comparison-container > .row {
    min-width: 1110px; }
  .site.site-nordvpn .comparision-images img {
    mix-blend-mode: multiply; }
  @media (max-width: 991.98px) {
    .site.site-nordvpn .row-custom {
      margin-top: var(--spacing-2x);
      gap: 24px; } }
  .site.site-nordvpn .row-content {
    margin-top: var(--spacing-9x); }
    .site.site-nordvpn .row-content-lg {
      margin-top: var(--site-section-padding-v); }
      @media (max-width: 991.98px) {
        .site.site-nordvpn .row-content-lg {
          margin-top: var(--spacing-6x); } }
    .site.site-nordvpn .row-content .h5 {
      font-weight: var(--font-weight-base) !important; }
  .site.site-nordvpn .row .col-sm-12 {
    padding-left: 16px;
    padding-right: 16px; }
  @media (max-width: 991.98px) {
    .site.site-nordvpn .feature-icon {
      margin-bottom: var(--spacing-3x); } }
  .site.site-nordvpn .feature-title {
    font-weight: var(--font-weight-base); }
  .site.site-nordvpn .packages-custom .package {
    height: max-content; }
    .site.site-nordvpn .packages-custom .package-body {
      margin-top: 0; }
  .site .icons-network {
    flex: 1;
    display: flex;
    justify-content: space-around;
    margin-top: 80px; }
    .site .icons-network .content-slider-wrapper {
      gap: 40px; }
  @media (max-width: 991.98px) {
    .site .section-content-custom .row-custom:nth-of-type(2) {
      margin-top: 20px; } }
  .site.site-nordvpn .icons-network .content-slider-wrapper {
    transform: none !important; }
  .site.site-socialbee .pricing-table-container {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    max-height: none; }
  .site.site-socialbee .pricing-table {
    width: 1248px;
    margin: 0 auto; }
    .site.site-socialbee .pricing-table__header-row {
      background-color: var(--gray-lighter-4) !important;
      border-radius: var(--border-radius-base);
      overflow: hidden; }
    .site.site-socialbee .pricing-table__cell {
      padding: 16px;
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      line-height: var(--line-height-md);
      font-size: var(--font-size-md);
      font-weight: var(--font-weight-base);
      color: var(--text-body-color); }
      .site.site-socialbee .pricing-table__cell.pricing-table__header-cell.pricing-table__feature-header {
        background-color: var(--brand-primary);
        color: #fff;
        font-weight: var(--font-weight-base);
        font-size: var(--font-size-lg);
        line-height: var(--line-height-lg); }
      .site.site-socialbee .pricing-table__cell.pricing-table__header-cell.pricing-table__plan-header {
        color: var(--text-heading-color);
        font-weight: var(--font-weight-base);
        font-size: var(--font-size-lg);
        line-height: var(--line-height-lg); }
    .site.site-socialbee .pricing-table__header-cell {
      padding: 24px 0; }
    .site.site-socialbee .pricing-table__row {
      display: flex;
      width: 100%;
      cursor: pointer;
      transition: all var(--transition-base);
      border-radius: var(--border-radius-base);
      overflow: hidden; }
      .site.site-socialbee .pricing-table__row:hover {
        background-color: var(--brand-primary-lighter-4); }
    .site.site-socialbee .pricing-table__row-actions {
      background: transparent !important;
      cursor: default !important; }
    .site.site-socialbee .pricing-table__feature-name {
      flex: 1.5;
      justify-content: flex-start;
      text-align: left;
      font-weight: var(--font-weight-medium);
      line-height: var(--line-height-md);
      font-size: var(--font-size-md);
      color: var(--text-heading-color); }
    .site.site-socialbee .pricing-table__feature-header {
      flex: 1.5; }
  .site.site-marketgoo .section-video .embed-responsive {
    padding-bottom: 35%;
    max-width: 702px;
    margin: 0 auto; }
  @media (min-width: 768px) {
    .site.site-marketgoo .site-banner {
      padding-bottom: 92px; }
    .site.site-marketgoo .section-steps {
      margin-top: -92px;
      padding: 0;
      border: 0; }
      .site.site-marketgoo .section-steps + .site-section {
        border-top: none !important; } }
  @media (max-width: 767.98px) {
    .site.site-marketgoo .section-video .embed-responsive {
      max-width: 434px;
      padding-bottom: 254px; } }
  @media (max-width: 459px) {
    .site.site-marketgoo .section-video .embed-responsive {
      max-width: 328px;
      padding-bottom: 194px; }
    .site.site-marketgoo .slider .testimonials-item {
      margin: 0; }
    .site .slider .testimonials-item {
      min-width: 100% !important;
      width: 100% !important;
      margin: 0;
      padding: 24px !important; } }
  .site .section-templates .templates .nav.nav-tabs li a.active {
    color: var(--text-primary-color); }
  .site .section-templates .templates .row + .row {
    margin-top: var(--spacing-9x); }
  .site .section-templates .templates .previews a {
    color: inherit; }
    .site .section-templates .templates .previews a img {
      width: 100%;
      height: var(--previews-img-height);
      object-fit: cover;
      object-position: top; }
  .site .section-templates .templates .previews .type-label {
    display: none; }
  .site .section-templates .templates .previews .tplname {
    display: block;
    margin-top: var(--spacing-2x);
    text-align: center;
    font-weight: var(--font-weight-lighter); }
  .site .section-templates .templates .previews .thumb-wrapper {
    text-align: center;
    border-radius: var(--border-radius-sm);
    box-shadow: var(--box-shadow-xlg);
    overflow: hidden;
    margin-top: var(--spacing-2x); }
  .site .section-templates .templates .previews .show-more-btn {
    margin: var(--spacing-8x) auto 0;
    justify-content: center; }
  .site .section-templates .templates .previews .show-more-item a:focus-visible span {
    color: var(--brand-primary-darker); }
  .site.site-wp-toolkit .site-banner .banner-img {
    max-width: 120%;
    margin-top: var(--spacing-9x); }
  .site.site-wp-toolkit .site-banner .banner-logo {
    max-width: 164px; }
  .site.site-wp-toolkit .site-banner .banner-desc {
    display: flex;
    align-items: center; }
  .site.site-wp-toolkit .site-section .screenshots {
    margin-top: calc(-1 * var(--spacing-3x)); }
    .site.site-wp-toolkit .site-section .screenshots .screenshot-thumb {
      text-align: center;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: var(--spacing-1x);
      border: 1px solid var(--gray-lighter-4);
      border-radius: var(--border-radius-sm);
      position: relative;
      margin-top: var(--spacing-3x); }
      .site.site-wp-toolkit .site-section .screenshots .screenshot-thumb > img {
        width: 100%; }
      .site.site-wp-toolkit .site-section .screenshots .screenshot-thumb .overlay {
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        opacity: 0;
        transition: opacity var(--transition-base); }
        .site.site-wp-toolkit .site-section .screenshots .screenshot-thumb .overlay > img {
          width: 120px;
          height: 120px; }
      .site.site-wp-toolkit .site-section .screenshots .screenshot-thumb:hover .overlay {
        opacity: 1; }
  .site.site-wp-toolkit .site-section img {
    max-width: 100%; }
  @media (min-width: 768px) {
    .site.site-wp-toolkit .site-banner .banner-logo {
      margin-top: calc(-1 * var(--spacing-1x));
      margin-right: var(--spacing-2x); }
    .site.site-wp-toolkit .site-banner .banner-desc {
      margin-top: var(--spacing-1x);
      white-space: nowrap;
      flex-wrap: nowrap; } }

.inherit-section-titles .site .site-section .section-title {
  text-transform: inherit; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL3NpdGUtcnRsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvX3NlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly8vc2l0ZS1ydGwuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9fc2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvX25hdnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9fbmV3cy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL19nZW5lcmFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL19wYW5lbC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvX3ByaWNpbmctdGFibGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9fbG9nb3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9fYnJvd3Nlci5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL19kb21haW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvX3Rlc3RpbW9uaWFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvcGFnZXMvX3NwYW1leHBlcnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvcGFnZXMvX3NpdGVsb2NrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvcGFnZXMvX3NzbC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL3BhZ2VzL192cG4uc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3Njc3Mvc2l0ZS9wYWdlcy9fc29jaWFsYmVlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zY3NzL3NpdGUvcGFnZXMvX21hcmtldGdvby5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc2Nzcy9zaXRlL3BhZ2VzL19zaXRlLWJ1aWxkZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxRkE7QUFHQTtBQ3BGQTtFQUNJLHFDQUFxQztFQUNyQyx5Q0FBeUM7RUFDekMseUNBQXlDO0VBQ3pDLGdCQUFnQjtFQ1JwQjs7OztDQ1dDO0VEMkJEOzs7O0NDdEJDO0VEc0dEOzs7O0NDakdDO0VEc0hEOzs7O0NDakhDO0VENEtEOzs7O0NDdktDO0VEb1NEOzs7O0NDL1JDO0VEc1REOzs7O0NDalRDO0VEdVZEOzs7O0NDbFZDO0VDOUNEO0VBa0VBO0VDbEVBO0VBNkNBO0VBUUE7RUNyREE7Ozs7Q0h3REMsRUdwREM7RUxBRjs7O0lBUVEseUNBQXlDO0VBUmpEO0lNSEksYUFBYTtJQUNiLG1CQUFtQjtFTkV2Qjs7SU1FRSxnQ0FBZ0M7RU5GbEM7SU1LSSxxQ0FBcUM7RU5MekM7SU1RSSxpQkFBaUI7RUNnRGY7SVB4RE47TU1ZUSxjQUFjLElBQ2pCO0VBRUw7SU5mQTtNTWlCUSxjQUFjLElBQ2pCO0VBRTBCO0lOcEIvQjtNTXdCZ0IsbUJBQW1CLElBQ3RCO0VOekJiO0lNK0JJLDRCQUE0QjtFTi9CaEM7SUNHSSxrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLFNBQVM7SUFDVCx3Q0FBd0M7SUFDeEMsa0NBQWtDO0lEUHRDO01DU1Esc0NBQXNDO0lEVDlDO01DY1ksV0FBVztJRGR2Qjs7OztNQ3NCWSx5Q0FBeUM7SUR0QnJEOztNQzBCWSx1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LGlDQUFpQztJQUNqQyxnQkFBZ0I7SUFDaEIsNkJBQTZCO0VyQnBDN0M7SXFCdUNnQixnQ0FBZ0M7SUFDaEMsdUJBQXVCO0VyQnhDdkM7SXFCOEM0QixrQ0FBa0M7RXJCOUM5RDtJcUIwRFksZUFBZTtJQUNmLDZCQUE2QjtFckIzRHpDO0lxQjhEWSxnQkFBZ0I7RXJCOUQ1QjtJcUJpRVksYUFBYTtJQUNiLG1CQUFtQjtFckJsRS9CO0lxQnVFWSx3Q0FBd0M7SXJCdkVwRDtNcUJ5RWdCLGtCQUFrQjtNQUNsQixhQUFhO01BQ2IsdUJBQXVCO01BQ3ZCLG1CQUFtQjtNQUNuQiwwQkFBMEI7TUFDMUIsdUNBQXVDO01BQ3ZDLHNDQUFzQztNQUN0QyxrQkFBa0I7TUFDbEIsNkJBQTZCO01yQmpGN0M7UXFCbUZvQixXQUFXO01yQm5GL0I7UXFCc0ZvQixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLHVCQUF1QjtRQUN2QixtQkFBbUI7UUFDbkIsVUFBVTtRQUNWLDBDQUEwQztRckIzRjlEO1VxQjZGd0IsWUFBWTtVQUNaLGFBQWE7TXJCOUZyQztRcUJtR3dCLFVBQVU7RXJCbkdsQztJcUJ5R1ksZUFBZTtFZGpEckI7SVB4RE47TXFCaUhnQix3Q0FBd0M7TUFLcEMsK0JBQStCO0lyQnRIbkQ7TXFCMEhnQiw2QkFBNkI7TUFDN0IsbUJBQW1CO01BQ25CLGlCQUFpQixJQUNwQjs7QXJCMUZiO0VBR1ksdUJBQXVCIiwiZmlsZSI6ImxhZ29tMi9hc3NldHMvY3NzL3NpdGUtcnRsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiRpc3J0bDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRzdHlsZTogJ2RlZmF1bHQnICFkZWZhdWx0OyAvLyBkZWZhdWx0LCBkZXB0aCwgbW9kZXJuLCBmdXR1cmlzdGljLCBpbnRlZ3JhdGlvblxyXG5cclxuJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlcjogZmFsc2U7XHJcblxyXG4vLz09IENvbG9yc1xyXG5AZnVuY3Rpb24gdigkdmFyLCAkZmFsbGJhY2s6IG51bGwpIHtcclxuXHRAaWYoJGZhbGxiYWNrKSB7XHJcblx0XHRAcmV0dXJuIHZhcigtLSN7JHZhcn0sICN7JGZhbGxiYWNrfSk7XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAcmV0dXJuIHZhcigtLSN7JHZhcn0pOyBcclxuXHR9XHJcbn1cclxuXHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xyXG4kaWNvbi1mb250LXBhdGg6IGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIFwiYm9vdHN0cmFwL1wiLCBcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9cIikgO1xyXG5cclxuXHJcbiRncmlkLWJyZWFrcG9pbnRzOiAoXHJcbiAgeHM6IDBweCwgXHJcbiAgc206IDQ4MHB4LFxyXG4gIG1kOiA3NjhweCxcclxuICBsZzogOTkycHgsXHJcbiAgeGw6IDEzMjBweCxcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRjb250YWluZXItbWF4LXdpZHRoczogKFxyXG4gIHNtOiA1NDBweCxcclxuICBtZDogMTAwJSxcclxuICBsZzogMTAwJSxcclxuICB4bDogMTI4OHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6IHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnM6IHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZTogMTUlICFkZWZhdWx0O1xyXG5cclxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXHJcbiRzaXplczogKCkgIWRlZmF1bHQ7XHJcbiRzaXplczogbWFwLW1lcmdlKFxyXG4gIChcclxuICAgIDI1OiAyNSUsXHJcbiAgICA1MDogNTAlLFxyXG4gICAgNzU6IDc1JSxcclxuICAgIDEwMDogMTAwJSxcclxuICAgIGF1dG86IGF1dG9cclxuICApLFxyXG4gICRzaXplc1xyXG4pO1xyXG5cclxuLy8gU3BhY2luZ1xyXG4vL1xyXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXHJcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cclxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cclxuXHJcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XHJcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcclxuJHNwYWNlcnM6IG1hcC1tZXJnZShcclxuICAoXHJcbiAgICAwOiAwLFxyXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxyXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXHJcbiAgICAzOiAkc3BhY2VyLFxyXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxyXG4gICAgNTogKCRzcGFjZXIgKiAzKVxyXG4gICksXHJcbiAgJHNwYWNlcnNcclxuKTtcclxuXHJcbi8vIE5lZWRlZCBmb3IgcmVkKCksIGdyZWVuKCksIGJsdWUoKSBmdW5jdGlvbnMgaW4gYm9vdHJzdHJhcC9fZnVuY3Rpb25zLnNjc3MgJ2NvbG9yLXlpcScgZnVuY3Rpb25cclxuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAjMzZDMDU1ICFkZWZhdWx0O1xyXG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAgICNkOTI2MzIgIWRlZmF1bHQ7XHJcblxyXG4vKiBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS4gKi9cclxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogICAgICAgICAgICAgICAgICAgICAxNTA7XHJcblxyXG4vKiBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi4gKi9cclxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMjEyNTI5O1xyXG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmY7XHJcblxyXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKCkgIWRlZmF1bHQ7XHJcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXHJcbiAgKFxyXG4gICAgXCJ2YWxpZFwiOiAoXHJcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXHJcbiAgICAgIFwiaWNvblwiOiB2YXIoLS1mb3JtLWZlZWRiYWNrLWljb24tdmFsaWQpXHJcbiAgICApLFxyXG4gICAgXCJpbnZhbGlkXCI6IChcclxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxyXG4gICAgICBcImljb25cIjogdmFyKC0tZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQpXHJcbiAgICApLFxyXG4gICksXHJcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcclxuKTtcclxuXHJcbi8vPT0gR3JpZCBzeXN0ZW1cclxuXHJcbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAxMjtcclxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgIDI0cHggIWRlZmF1bHQ7XHJcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICA2ICFkZWZhdWx0O1xyXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgOTkycHg7XHJcbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpO1xyXG5cclxuLy8gVXRpbGl0aWVzXHJcblxyXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXggIWRlZmF1bHQ7XHJcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcclxuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kgIWRlZmF1bHQ7XHJcbiR1c2VyLXNlbGVjdHM6IGFsbCwgYXV0bywgbm9uZSAhZGVmYXVsdDsiLCIkaXNydGw6IHRydWUhZGVmYXVsdDtcclxuQGltcG9ydCAnLi4vaGVscGVycy9mdW5jdGlvbnMuc2Nzcyc7XHJcbkBpbXBvcnQgJy4uL3ZhcmlhYmxlcy5zY3NzJztcclxuXHJcbi5zaXRlIHtcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LWZvbnQtc2l6ZSk7XHJcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS10ZXh0LWxpbmUtaGVpZ2h0KTtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1zaXRlLXRleHQtZm9udC13ZWlnaHQpO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy9oaWRlIG92ZXJmbG93IGVsZW1lbnRzIGZvciBsZWZ0IG5hdmlnYXRpb24gaW4gZnV0dXJzaXRpYyBzdHlsZVxyXG4gICAgcCxcclxuICAgIHVsLFxyXG4gICAgb2wge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctc20pO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbXBvcnQgJ21peGlucy5zY3NzJztcclxuXHJcbiAgICBAaW1wb3J0ICdnZW5lcmFsLnNjc3MnO1xyXG4gICAgQGltcG9ydCAnc2VjdGlvbi5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhbmVsLnNjc3MnO1xyXG4gICAgQGltcG9ydCAnc2xpZGVyLnNjc3MnO1xyXG4gICAgQGltcG9ydCAnYnV0dG9ucy5zY3NzJztcclxuICAgIEBpbXBvcnQgJ25hdnMuc2Nzcyc7XHJcbiAgICBAaW1wb3J0ICdwcmljaW5nLXRhYmxlLnNjc3MnO1xyXG4gICAgQGltcG9ydCAnbG9nb3Muc2Nzcyc7XHJcbiAgICBAaW1wb3J0ICdicm93c2VyLnNjc3MnO1xyXG4gICAgQGltcG9ydCAnZG9tYWlucy5zY3NzJztcclxuICAgIEBpbXBvcnQgJ25ld3Muc2Nzcyc7XHJcbiAgICBAaW1wb3J0ICd0ZXN0aW1vbmlhbC5zY3NzJztcclxuICAgIFxyXG4gICAgQGltcG9ydCAncGFnZXMvc3BhbWV4cGVydHMuc2Nzcyc7XHJcbiAgICBAaW1wb3J0ICdwYWdlcy9zaXRlbG9jay5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhZ2VzL3NzbC5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhZ2VzL3Zwbi5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhZ2VzL3NvY2lhbGJlZS5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhZ2VzL21hcmtldGdvby5zY3NzJztcclxuICAgIEBpbXBvcnQgJ3BhZ2VzL3NpdGUtYnVpbGRlci5zY3NzJztcclxufVxyXG5cclxuLmluaGVyaXQtc2VjdGlvbi10aXRsZXMgLnNpdGV7XHJcbiAgICAuc2l0ZS1zZWN0aW9ue1xyXG4gICAgICAgIC5zZWN0aW9uLXRpdGxle1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIEdlbmVyYWxcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLnNpdGUtc2VjdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogdmFyKC0tc2l0ZS1zZWN0aW9uLXBhZGRpbmctdikgMDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXNpdGUtc2VjdGlvbi1iZyk7XHJcbiAgICAmICsgLnNpdGUtc2VjdGlvbjpub3QoLnNlY3Rpb24tc2Vjb25kYXJ5KTpub3QoLnNlY3Rpb24tcHJpbWFyeSkgIHtcclxuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tYm9yZGVyKTtcclxuICAgIH1cclxuICAgICYuc2VjdGlvbi1zbGlkZXItYnRuLFxyXG4gICAgJi5zZWN0aW9uLXN0ZXBzIHtcclxuICAgICAgICArIC5zaXRlLXNlY3Rpb24ge1xyXG4gICAgICAgICAgICBib3JkZXI6IDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICA+IC5jb250YWluZXIge1xyXG4gICAgICAgID4gLnNlY3Rpb24tY29udGVudCArIC5zZWN0aW9uLWNvbnRlbnQsXHJcbiAgICAgICAgPiAuc2VjdGlvbi1jb250ZW50ICsgLnNlY3Rpb24tc2lkZXMsXHJcbiAgICAgICAgPiAuc2VjdGlvbi1zaWRlcyArIC5zZWN0aW9uLXNpZGVzLCAgICAgICAgXHJcbiAgICAgICAgPiAuc2VjdGlvbi1zaWRlcyArIC5zZWN0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tcGFkZGluZy12KTtcclxuICAgICAgICB9IFxyXG4gICAgICAgID4gLnNlY3Rpb24tZ3JhcGhpYyArIC5zZWN0aW9uLWNvbnRlbnQsXHJcbiAgICAgICAgPiAuc2VjdGlvbi1jb250ZW50ICsgLnNlY3Rpb24tYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1zcGFjaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9ICBcclxuICAgIC5zaG93LWFsbC1idG4ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5TaXRlIFNlY3Rpb24gLSBUaXRsZVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG4uc2l0ZS1zZWN0aW9uIHtcclxuICAgIC5zZWN0aW9uLWhlYWRpbmcge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xyXG4gICAgfVxyXG4gICAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1heC13aWR0aCk7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIGF1dG87XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1jb2xvcik7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgJi1zbSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtc20tZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLW1hcmdpbi1ib3R0b20pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBiLFxyXG4gICAgICAgIHN0cm9uZyB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICArIC5zZWN0aW9uLXN1YnRpdGxlIHsgXHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiAodmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIC0gdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXN1YnRpdGxlLXNwYWNpbmcpKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgIFxyXG4gICAgLnNlY3Rpb24tc3VidGl0bGUge1xyXG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1heC13aWR0aCk7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIGF1dG87XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXNpdGUtc2VjdGlvbi1zdWJ0aXRsZS1jb2xvcik7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXNlY3Rpb24tc3VidGl0bGUtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXN1YnRpdGxlLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXN1YnRpdGxlLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgJi1ib3R0b217XHJcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIGF1dG8gMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZWN0aW9uLXNpZGVzIHtcclxuICAgICAgICAuc2VjdGlvbi10aXRsZSxcclxuICAgICAgICAuc2VjdGlvbi1zdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAgdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLW1hcmdpbi1ib3R0b20pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLW5vcmR2cG4ge1xyXG4gICAgICAgICAgICAuc2VjdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTR4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYtc3VidGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi1kZXNjIHtcclxuICAgICAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00eCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi1ncmFwaGljIHtcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gQWN0aW9uc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG4uc2l0ZS1zZWN0aW9uIHsgICAgXHJcbiAgICAuc2VjdGlvbi1hY3Rpb25zIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tc3BhY2luZyk7O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAuYnRuICsgLmJ0biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXNtKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VjdGlvbi1zaWRlcyB7XHJcbiAgICAgICAgLnNlY3Rpb24tYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIERlc2NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLnNpdGUtc2VjdGlvbiB7XHJcbiAgICAuc2VjdGlvbi1kZXNjIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJ0bCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNoZWNrLWxpc3Qge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmcteHMpO1xyXG4gICAgICAgICAgICAgICAgLmxtLWNoZWNrIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmID4gaDMsXHJcbiAgICAgICAgJiA+IC5oMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWFydGljbGUtaDMtbWFyZ2luLXRvcCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWFydGljbGUtaDMtbWFyZ2luLWJvdHRvbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYgPiBoNCxcclxuICAgICAgICAmID4gLmg0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tYXJ0aWNsZS1oNC1tYXJnaW4tdG9wKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYXJ0aWNsZS1oNC1tYXJnaW4tYm90dG9tKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiA+IGg1LFxyXG4gICAgICAgICYgPiAuaDUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1hcnRpY2xlLWg1LW1hcmdpbi10b3ApO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1hcnRpY2xlLWg1LW1hcmdpbi1ib3R0b20pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmID4gKjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VjdGlvbi1zaWRlcyB7XHJcbiAgICAgICAgLnNlY3Rpb24tZGVzYyB7XHJcbiAgICAgICAgICAgIC50ZXh0LWRlZmF1bHR7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1ib2R5LWNvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5TaXRlIFNlY3Rpb24gLSBHcmFwaGljXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi9cclxuXHJcbi5zaXRlLXNlY3Rpb24ge1xyXG4gICAgLnNlY3Rpb24tZ3JhcGhpYyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAuZ3JhcGhpYyA+IGltZyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1pbGx1c3RyYXRpb257XHJcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLWlsbHVzdHJhdGlvbi1oZWlnaHQpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zaXRlLXNlY3Rpb24taWxsdXN0cmF0aW9uLWhlaWdodC1zbSk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogdmFyKC0tc2l0ZS1zZWN0aW9uLWlsbHVzdHJhdGlvbi13aWR0aC1zbSk7IFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJvbW8tc2xpZGVyLWljb257XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLXNpdGUtc2VjdGlvbi1pbGx1c3RyYXRpb24td2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgLy8gd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCl7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLXNpdGUtc2VjdGlvbi1pbGx1c3RyYXRpb24td2lkdGgtc20pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5zdmctbWFya2V0Z29ve1xyXG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNob3dTbGlkZXJJY29ucztcclxuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMzJzO1xyXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5wcm9tby1zbGlkZXItaWNvbi1yZXZlcnNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc2hvd1NsaWRlckljb25zUmV2ZXJzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5OiAwLjcyc31cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5OiAwLjY0c31cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSl7YW5pbWF0aW9uLWRlbGF5OiAwLjU2c31cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSl7YW5pbWF0aW9uLWRlbGF5OiAwLjcyc31cclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKXthbmltYXRpb24tZGVsYXk6IDAuNjRzfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpe2FuaW1hdGlvbi1kZWxheTogMC41NnN9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1jdXN0b20ge1xyXG4gICAgICAgICAgICAuc3ZnLWdyYXBoaWMtc3Ryb2tlLXAge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWItY29udGVudC1jcGFuZWxzZW97XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy04eCk7XHJcbiAgICB9XHJcbiAgICAuc2VjdGlvbi1zaWRlcyB7ICAgICAgIFxyXG4gICAgICAgIC5zZWN0aW9uLWdyYXBoaWMgeyBcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwIChsZykge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLXNpdGUtc2VjdGlvbi1zaWRlcy1zcGFjaW5nKSAvIDIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYub3JkZXItbGFzdCB7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93biAobWQpIHtcclxuICAgICAgICAudGFiLWNvbnRlbnQtY3BhbmVsc2Vve1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTR4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYi1wYW5lLWNwYW5lbHNlb3tcclxuICAgICAgICAgICAgLnNlY3Rpb24tc2lkZXN7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIC5zZWN0aW9uLWNvbnRlbnR7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuc2VjdGlvbi1ncmFwaGlje1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZWN0aW9uLXNpZGVzIHtcclxuICAgICAgICAgICAgLnNlY3Rpb24tZ3JhcGhpYyB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNlY3Rpb24tZ3JhcGhpYyArIC5zZWN0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zZWN0aW9uLWNvbnRlbnQgKyAuc2VjdGlvbi1ncmFwaGljIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1zaWRlcy1zcGFjaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4ubGFnb20tZGVmYXVsdHtcclxuICAgIC5zaXRlLXNlY3Rpb257XHJcbiAgICAgICAgLnNlY3Rpb24tZ3JhcGhpYyB7XHJcbiAgICAgICAgICAgICYtaWxsdXN0cmF0aW9ue1xyXG4gICAgICAgICAgICAgICAgLnByb21vLXNsaWRlci1pY29ue1xyXG4gICAgICAgICAgICAgICAgICAgICYuc3ZnLW1hcmtldGdvb3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN2Zy1icm93c2VyLWJvZHksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdmctZ3JhcGhzLWJnLCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN2Zy1waG9uZS1iZ3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLWdyYXktZmFkZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIENvbnRlbnRcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLnNpdGUtc2VjdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwIChsZykge1xyXG4gICAgICAgIC5zZWN0aW9uLXNpZGVzIHtcclxuICAgICAgICAgICAgPiAuc2VjdGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24gKG1kKSB7XHJcbiAgICAgICAgLnNlY3Rpb24tc2lkZXMge1xyXG4gICAgICAgICAgICAuc2VjdGlvbi1jb250ZW50ICsgLnNlY3Rpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tc2lkZXMtc3BhY2luZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gU2lkZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xyXG5cclxuLnNpdGUtc2VjdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwIChsZykge1xyXG4gICAgICAgIC5zZWN0aW9uLXNpZGVzIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgPiAqICsgKiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsdHIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXRlLXNlY3Rpb24tc2lkZXMtc3BhY2luZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zZWN0aW9uLWNvbnRlbnQsXHJcbiAgICAgICAgICAgIC5zZWN0aW9uLWdyYXBoaWMge1xyXG4gICAgICAgICAgICAgICAgJi5vcmRlci1sYXN0IHtcclxuICAgICAgICAgICAgICAgICAgICAmICsgLm9yZGVyLWZpcnN0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbHRyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXRlLXNlY3Rpb24tc2lkZXMtc3BhY2luZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXRlLXNlY3Rpb24tc2lkZXMtc3BhY2luZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gU3R5bGVzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi9cclxuXHJcbi5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zZWNvbmRhcnksXHJcbi5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IHtcclxuICAgIC5zdmctaWNvbiB7XHJcbiAgICAgICAgLm91dGxpbmUge1xyXG4gICAgICAgICAgICBzdHJva2U6IHZhcigtLXN2Zy1pY29uLW9uLWRhcmstY29sb3Itc2Vjb25kYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFja2FnZXtcclxuICAgICAgICAuc3ZnLWljb24ge1xyXG4gICAgICAgICAgICAub3V0bGluZXtcclxuICAgICAgICAgICAgICAgIHN0cm9rZTogdmFyKC0tZ3JheS1kYXJrZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJyb3dzZXItbm90aWNlIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHRlci1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zZWNvbmRhcnkge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2Vjb25kYXJ5LWJsb2NrLWJnLWgpO1xyXG4gICAgLnNlY3Rpb24tdGl0bGUsXHJcbiAgICAuc2VjdGlvbi10aXRsZSBzdHJvbmcsXHJcbiAgICAuc2VjdGlvbi10aXRsZSBiIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWJsb2NrLXRpdGxlLWNvbG9yKTtcclxuICAgIH1cclxuICAgIC5zZWN0aW9uLXN1YnRpdGxlIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWJsb2NrLXN1YnRpdGxlLWNvbG9yKTtcclxuICAgIH1cclxuICAgIC5zZWN0aW9uLWRlc2Mge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktYmxvY2stdGV4dC1jb2xvcik7XHJcbiAgICB9XHJcbiAgICAuZmVhdHVyZS1jb250ZW50IHtcclxuICAgICAgICAuZmVhdHVyZS10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktYmxvY2stdGl0bGUtY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmVhdHVyZS1kZXNjIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1ibG9jay10ZXh0LWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXByaW1hcnkge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1ibG9jay1iZy1oKTtcclxuICAgIC5zZWN0aW9uLXRpdGxlLFxyXG4gICAgLnNlY3Rpb24tdGl0bGUgc3Ryb25nLFxyXG4gICAgLnNlY3Rpb24tdGl0bGUgYiB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktYmxvY2stdGl0bGUtY29sb3IpO1xyXG4gICAgfVxyXG4gICAgLnNlY3Rpb24tc3VidGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsb2NrLXN1YnRpdGxlLWNvbG9yKTtcclxuICAgIH1cclxuICAgIC5zZWN0aW9uLWRlc2Mge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsb2NrLXRleHQtY29sb3IpO1xyXG4gICAgfVxyXG4gICAgLmZlYXR1cmUtY29udGVudCB7XHJcbiAgICAgICAgLmZlYXR1cmUtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibG9jay10aXRsZS1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mZWF0dXJlLWRlc2Mge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibG9jay10ZXh0LWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duIChzbSkge1xyXG4gICAgLnNpdGUtc2VjdGlvbiB7XHJcbiAgICAgICAgLnNlY3Rpb24tZ3JhcGhpYyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1tYXJnaW4tYm90dG9tKTtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAuYnJvd3NlcixcclxuICAgICAgICAgICAgLmdyYXBoaWMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiYuc2l0ZS14b3Zpbm93IHtcclxuICAgIC5zZWN0aW9uLXNpZGVzIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAzNjZweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiIsIi8qIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LiAqL1xuLyogQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uICovXG4uc2l0ZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXRlLXRleHQtbGluZS1oZWlnaHQpO1xuICBmb250LXdlaWdodDogdmFyKC0tc2l0ZS10ZXh0LWZvbnQtd2VpZ2h0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5TaXRlIFNlY3Rpb24gLSBHZW5lcmFsXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi9cbiAgLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5TaXRlIFNlY3Rpb24gLSBUaXRsZVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXG4gIC8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gQWN0aW9uc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXG4gIC8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gRGVzY1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXG4gIC8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gR3JhcGhpY1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXG4gIC8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gQ29udGVudFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXG4gIC8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBTZWN0aW9uIC0gU2lkZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qL1xuICAvKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblNpdGUgU2VjdGlvbiAtIFN0eWxlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXG4gIC8qIENvZGVHdWFyZCBTbGlkZXIgQm94ICovXG4gIC8qIENvZGVHdWFyZCBTbGlkZXIgKi9cbiAgLyogbWFpbi1zdWJuYXYgKi9cbiAgLyogdGFicy1maWx0ZXJzICovXG4gIC8qIG5hdi10YWIgKi9cbiAgLypcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5TaXRlIE5ld3MgQm94XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKi8gfVxuICAuc2l0ZSBwLFxuICAuc2l0ZSB1bCxcbiAgLnNpdGUgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctc20pOyB9XG4gIC5zaXRlIC5kLWZsZXgtYWxpZ24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuc2l0ZSBiLFxuICAuc2l0ZSBzdHJvbmcge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpOyB9XG4gIC5zaXRlIC5oYXMtc2hhZG93IHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS11aS1ibG9jay1zaGFkb3ctbGcpOyB9XG4gIC5zaXRlIC5tLXNhZmFyaSB7XG4gICAgbWFyZ2luOiAwcHggLS4zcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNpdGUgLnJvdy5mLWZsb3cge1xuICAgICAgZmxleC1mbG93OiByb3c7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTc1cHgpIHtcbiAgICAuc2l0ZSAuaG9tZXBhZ2UtdGlsZXMge1xuICAgICAgZmxleC1mbG93OiByb3c7IH0gfVxuICBAc3VwcG9ydHMgKC13ZWJraXQtaHlwaGVuczogbm9uZSkge1xuICAgIC5zaXRlIC5ob21lcGFnZS10aWxlcy5yb3c6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICAuc2l0ZSAudGV4dC1zdGFydCB7XG4gICAgdGV4dC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogdmFyKC0tc2l0ZS1zZWN0aW9uLXBhZGRpbmctdikgMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaXRlLXNlY3Rpb24tYmcpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiArIC5zaXRlLXNlY3Rpb246bm90KC5zZWN0aW9uLXNlY29uZGFyeSk6bm90KC5zZWN0aW9uLXByaW1hcnkpIHtcbiAgICAgIGJvcmRlci10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1ib3JkZXIpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNsaWRlci1idG4gKyAuc2l0ZS1zZWN0aW9uLCAuc2l0ZSAuc2l0ZS1zZWN0aW9uLnNlY3Rpb24tc3RlcHMgKyAuc2l0ZS1zZWN0aW9uIHtcbiAgICAgIGJvcmRlcjogMHB4OyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiA+IC5jb250YWluZXIgPiAuc2VjdGlvbi1jb250ZW50ICsgLnNlY3Rpb24tY29udGVudCxcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uID4gLmNvbnRhaW5lciA+IC5zZWN0aW9uLWNvbnRlbnQgKyAuc2VjdGlvbi1zaWRlcyxcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uID4gLmNvbnRhaW5lciA+IC5zZWN0aW9uLXNpZGVzICsgLnNlY3Rpb24tc2lkZXMsXG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiA+IC5jb250YWluZXIgPiAuc2VjdGlvbi1zaWRlcyArIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc2l0ZS1zZWN0aW9uLXBhZGRpbmctdik7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uID4gLmNvbnRhaW5lciA+IC5zZWN0aW9uLWdyYXBoaWMgKyAuc2VjdGlvbi1jb250ZW50LFxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gPiAuY29udGFpbmVyID4gLnNlY3Rpb24tY29udGVudCArIC5zZWN0aW9uLWFjdGlvbnMge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNwYWNpbmcpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2hvdy1hbGwtYnRuIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWhlYWRpbmcge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tdGl0bGUge1xuICAgIG1heC13aWR0aDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1heC13aWR0aCk7XG4gICAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIGF1dG87XG4gICAgY29sb3I6IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1jb2xvcik7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtZm9udC1zaXplKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLWZvbnQtd2VpZ2h0KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXRpdGxlLXNtIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLWZvbnQtc2l6ZSk7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLWZvbnQtd2VpZ2h0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtc20tbGluZS1oZWlnaHQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXNtLW1hcmdpbi1ib3R0b20pOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi10aXRsZSBiLFxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tdGl0bGUgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtY29sb3IpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi10aXRsZSArIC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiAodmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIC0gdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLXN1YnRpdGxlLXNwYWNpbmcpKSk7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtbWF4LXdpZHRoKTtcbiAgICBtYXJnaW46IDAgYXV0byB2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtbWFyZ2luLWJvdHRvbSkgYXV0bztcbiAgICBjb2xvcjogdmFyKC0tc2l0ZS1zZWN0aW9uLXN1YnRpdGxlLWNvbG9yKTtcbiAgICBmb250LXNpemU6IHZhcigtLXNpdGUtc2VjdGlvbi1zdWJ0aXRsZS1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1zaXRlLXNlY3Rpb24tc3VidGl0bGUtZm9udC13ZWlnaHQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXRlLXNlY3Rpb24tc3VidGl0bGUtbGluZS1oZWlnaHQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc3VidGl0bGUtYm90dG9tIHtcbiAgICAgIG1hcmdpbjogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIGF1dG8gMCBhdXRvOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgLnNlY3Rpb24tdGl0bGUsXG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgLnNlY3Rpb24tc3VidGl0bGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgLnNlY3Rpb24tdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNpdGUtc2VjdGlvbi10aXRsZS1zbS1tYXJnaW4tYm90dG9tKTsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzLW5vcmR2cG4gLnNlY3Rpb24tdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNHgpOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMtbm9yZHZwbiAuc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtaGVhZGluZy1jb2xvcik7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zaWRlcy1ub3JkdnBuIC5zZWN0aW9uLWRlc2MgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00eCk7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zaWRlcy1ub3JkdnBuIC5zZWN0aW9uLWdyYXBoaWMgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWFjdGlvbnMge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1zcGFjaW5nKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWFjdGlvbnMgLmJ0biArIC5idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctc20pOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgLnNlY3Rpb24tYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWRlc2Mge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyB1bCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWRlc2MgLmNoZWNrLWxpc3Qge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDBweDsgfVxuICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1kZXNjIC5jaGVjay1saXN0IGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmcteHMpOyB9XG4gICAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZGVzYyAuY2hlY2stbGlzdCBsaSAubG0tY2hlY2sge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1kZXNjID4gaDMsXG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1kZXNjID4gLmgzIHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLWFydGljbGUtaDMtbWFyZ2luLXRvcCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1hcnRpY2xlLWgzLW1hcmdpbi1ib3R0b20pOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1kZXNjID4gaDQsXG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1kZXNjID4gLmg0IHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLWFydGljbGUtaDQtbWFyZ2luLXRvcCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1hcnRpY2xlLWg0LW1hcmdpbi1ib3R0b20pOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1kZXNjID4gaDUsXG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1kZXNjID4gLmg1IHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLWFydGljbGUtaDUtbWFyZ2luLXRvcCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1hcnRpY2xlLWg1LW1hcmdpbi1ib3R0b20pOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1kZXNjID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zaWRlcyAuc2VjdGlvbi1kZXNjIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zaWRlcyAuc2VjdGlvbi1kZXNjIC50ZXh0LWRlZmF1bHQge1xuICAgICAgY29sb3I6IHZhcigtLXRleHQtYm9keS1jb2xvcik7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljIC5ncmFwaGljID4gaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYy1pbGx1c3RyYXRpb24ge1xuICAgICAgaGVpZ2h0OiB2YXIoLS1zaXRlLXNlY3Rpb24taWxsdXN0cmF0aW9uLWhlaWdodCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYy1pbGx1c3RyYXRpb24ge1xuICAgICAgICAgIGhlaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLWlsbHVzdHJhdGlvbi1oZWlnaHQtc20pO1xuICAgICAgICAgIHdpZHRoOiB2YXIoLS1zaXRlLXNlY3Rpb24taWxsdXN0cmF0aW9uLXdpZHRoLXNtKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIHN2ZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIC5wcm9tby1zbGlkZXItaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgYm90dG9tOiB1bnNldDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogdmFyKC0tc2l0ZS1zZWN0aW9uLWlsbHVzdHJhdGlvbi13aWR0aCk7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLXNpdGUtc2VjdGlvbi1pbGx1c3RyYXRpb24td2lkdGgtc20pOyB9IH1cbiAgICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24uc3ZnLW1hcmtldGdvbyB7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogc2hvd1NsaWRlckljb25zO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zMnM7XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAsIDEpO1xuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYy1pbGx1c3RyYXRpb24gLnByb21vLXNsaWRlci1pY29uLnN2Zy1tYXJrZXRnb28ucHJvbW8tc2xpZGVyLWljb24tcmV2ZXJzZSB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogc2hvd1NsaWRlckljb25zUmV2ZXJzZTsgfVxuICAgICAgICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24uc3ZnLW1hcmtldGdvby5wcm9tby1zbGlkZXItaWNvbi1yZXZlcnNlOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC43MnM7IH1cbiAgICAgICAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYy1pbGx1c3RyYXRpb24gLnByb21vLXNsaWRlci1pY29uLnN2Zy1tYXJrZXRnb28ucHJvbW8tc2xpZGVyLWljb24tcmV2ZXJzZTpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNjRzOyB9XG4gICAgICAgICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIC5wcm9tby1zbGlkZXItaWNvbi5zdmctbWFya2V0Z29vLnByb21vLXNsaWRlci1pY29uLXJldmVyc2U6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjU2czsgfVxuICAgICAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYy1pbGx1c3RyYXRpb24gLnByb21vLXNsaWRlci1pY29uLnN2Zy1tYXJrZXRnb286bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC43MnM7IH1cbiAgICAgICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIC5wcm9tby1zbGlkZXItaWNvbi5zdmctbWFya2V0Z29vOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNjRzOyB9XG4gICAgICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24uc3ZnLW1hcmtldGdvbzpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjU2czsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tZ3JhcGhpYy1jdXN0b20gLnN2Zy1ncmFwaGljLXN0cm9rZS1wIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbiAudGFiLWNvbnRlbnQtY3BhbmVsc2VvIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTh4KTsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLWdyYXBoaWMge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zaWRlcyAuc2VjdGlvbi1ncmFwaGljIHtcbiAgICAgICAgbWluLXdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLXNpdGUtc2VjdGlvbi1zaWRlcy1zcGFjaW5nKSAvIDIpOyB9IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLWdyYXBoaWMub3JkZXItbGFzdCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnRhYi1jb250ZW50LWNwYW5lbHNlbyB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTR4KTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnRhYi1wYW5lLWNwYW5lbHNlbyAuc2VjdGlvbi1zaWRlcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAudGFiLXBhbmUtY3BhbmVsc2VvIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgICBvcmRlcjogMjsgfVxuICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAudGFiLXBhbmUtY3BhbmVsc2VvIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLWdyYXBoaWMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLWdyYXBoaWMge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgLnNlY3Rpb24tZ3JhcGhpYyArIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1zaWRlcyAuc2VjdGlvbi1jb250ZW50ICsgLnNlY3Rpb24tZ3JhcGhpYyB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXRlLXNlY3Rpb24tc2lkZXMtc3BhY2luZyk7IH0gfVxuICAuc2l0ZSAubGFnb20tZGVmYXVsdCAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIC5wcm9tby1zbGlkZXItaWNvbi5zdmctbWFya2V0Z29vIC5zdmctYnJvd3Nlci1ib2R5LFxuICAuc2l0ZSAubGFnb20tZGVmYXVsdCAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIC5wcm9tby1zbGlkZXItaWNvbi5zdmctbWFya2V0Z29vIC5zdmctZ3JhcGhzLWJnLFxuICAuc2l0ZSAubGFnb20tZGVmYXVsdCAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMtaWxsdXN0cmF0aW9uIC5wcm9tby1zbGlkZXItaWNvbi5zdmctbWFya2V0Z29vIC5zdmctcGhvbmUtYmcge1xuICAgIGZpbGw6IHZhcigtLWdyYXktZmFkZWQpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgPiAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgIGZsZXg6IDE7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLWNvbnRlbnQgKyAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1zaWRlcy1zcGFjaW5nKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgPiAqICsgKiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpOyB9XG4gICAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLXNpZGVzIC5zZWN0aW9uLWNvbnRlbnQub3JkZXItbGFzdCArIC5vcmRlci1maXJzdCxcbiAgICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24gLnNlY3Rpb24tc2lkZXMgLnNlY3Rpb24tZ3JhcGhpYy5vcmRlci1sYXN0ICsgLm9yZGVyLWZpcnN0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc2l0ZS1zZWN0aW9uLXNpZGVzLXNwYWNpbmcpOyB9IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAuc3ZnLWljb24gLm91dGxpbmUsXG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5zdmctaWNvbiAub3V0bGluZSB7XG4gICAgc3Ryb2tlOiB2YXIoLS1zdmctaWNvbi1vbi1kYXJrLWNvbG9yLXNlY29uZGFyeSk7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAucGFja2FnZSAuc3ZnLWljb24gLm91dGxpbmUsXG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5wYWNrYWdlIC5zdmctaWNvbiAub3V0bGluZSB7XG4gICAgc3Ryb2tlOiB2YXIoLS1ncmF5LWRhcmtlcik7IH1cbiAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAuYnJvd3Nlci1ub3RpY2UgcCxcbiAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXByaW1hcnkgLmJyb3dzZXItbm90aWNlIHAge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0ZXItY29sb3IpOyB9XG4gIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNlY29uZGFyeS1ibG9jay1iZy1oKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zZWNvbmRhcnkgLnNlY3Rpb24tdGl0bGUsXG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAuc2VjdGlvbi10aXRsZSBzdHJvbmcsXG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAuc2VjdGlvbi10aXRsZSBiIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktYmxvY2stdGl0bGUtY29sb3IpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAuc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWJsb2NrLXN1YnRpdGxlLWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1zZWNvbmRhcnkgLnNlY3Rpb24tZGVzYyB7XG4gICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWJsb2NrLXRleHQtY29sb3IpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAuZmVhdHVyZS1jb250ZW50IC5mZWF0dXJlLXRpdGxlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktYmxvY2stdGl0bGUtY29sb3IpOyB9XG4gICAgLnNpdGUgLnNpdGUtc2VjdGlvbi5zZWN0aW9uLXNlY29uZGFyeSAuZmVhdHVyZS1jb250ZW50IC5mZWF0dXJlLWRlc2Mge1xuICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1ibG9jay10ZXh0LWNvbG9yKTsgfVxuICAuc2l0ZSAuc2l0ZS1zZWN0aW9uLnNlY3Rpb24tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1ibG9jay1iZy1oKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5zZWN0aW9uLXRpdGxlLFxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5zZWN0aW9uLXRpdGxlIHN0cm9uZyxcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uLnNlY3Rpb24tcHJpbWFyeSAuc2VjdGlvbi10aXRsZSBiIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsb2NrLXRpdGxlLWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsb2NrLXN1YnRpdGxlLWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5zZWN0aW9uLWRlc2Mge1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktYmxvY2stdGV4dC1jb2xvcik7IH1cbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uLnNlY3Rpb24tcHJpbWFyeSAuZmVhdHVyZS1jb250ZW50IC5mZWF0dXJlLXRpdGxlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsb2NrLXRpdGxlLWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXNlY3Rpb24uc2VjdGlvbi1wcmltYXJ5IC5mZWF0dXJlLWNvbnRlbnQgLmZlYXR1cmUtZGVzYyB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibG9jay10ZXh0LWNvbG9yKTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAuc2l0ZSAuc2l0ZS1zZWN0aW9uIC5zZWN0aW9uLWdyYXBoaWMge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pO1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljIC5icm93c2VyLFxuICAgICAgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi1ncmFwaGljIC5ncmFwaGljIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuc2l0ZS5zaXRlLXhvdmlub3cgLnNlY3Rpb24tc2lkZXMge1xuICAgIG1heC1oZWlnaHQ6IDM2NnB4OyB9XG4gIC5zaXRlIC5wYW5lbC1mYXEge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgLnNpdGUgLnBhbmVsLWZhcSAucGFuZWwge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5zaXRlIC5wYW5lbC1mYXEgLnBhbmVsLXRpdGxlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgICAuc2l0ZSAucGFuZWwtZmFxIC5wYW5lbC1ib2R5LCAuc2l0ZSAucGFuZWwtZmFxIC5wYW5lbC1oZWFkaW5nIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuc2l0ZSAucGFuZWwtZmFxIC5wYW5lbC1ib2R5IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LWZvbnQtc2l6ZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXRlLXRleHQtbGluZS1oZWlnaHQpOyB9XG4gICAgICAuc2l0ZSAucGFuZWwtZmFxIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWg1KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWg1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWg1KTsgfVxuICAgICAgLnNpdGUgLnBhbmVsLWZhcSAucGFuZWw6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgICAuc2l0ZSAucGFuZWwtZmFxIC5wYW5lbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgICAgLnNpdGUgLnBhbmVsLWZhcSAucGFuZWw6aG92ZXIsIC5zaXRlIC5wYW5lbC1mYXEgLnBhbmVsLmlzLW9wZW4ge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXBhbmVsLWJvcmRlci1kaXZpZGVyLWNvbG9yKSAhaW1wb3J0YW50OyB9XG4gICAgICAuc2l0ZSAucGFuZWwtZmFxIC5wYW5lbC1hY2NvcmRpb24gaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTJ4KTsgfVxuICAuc2l0ZSAucGFja2FnZS1zbGlkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogODMycHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYm94LXNoYWRvdzogdmFyKC0tdWktYmxvY2stc2hhZG93KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11aS1ibG9jay1ib3JkZXItcmFkaXVzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1ibG9jay1iZyk7IH1cbiAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItYm9keSB7XG4gICAgICBwYWRkaW5nOiA0OHB4IDU2cHg7IH1cbiAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItYm90dG9tIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBwYWRkaW5nLXRvcDogNTRweDsgfVxuICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1zdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1zdW1tYXJ5LWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjRweDsgfVxuICAgICAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItc3VtbWFyeS1pdGVtOm5vdCg6bGFzdC1vZi10eXBlKTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdWktYmxvY2stYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm90dG9tOiAwOyB9XG4gICAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItc3VtbWFyeS1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmljZS1mb250LXNpemUtY29sb3IpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtdGV4dC14cy1mb250LXNpemUpO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS10ZXh0LXhzLWxpbmUtaGVpZ2h0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItc3VtbWFyeS12YWx1ZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcHJpY2UtZm9udC1zaXplKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXByaWNlLWxpbmUtaGVpZ2h0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXByaWNlLWZvbnQtd2VpZ2h0KTtcbiAgICAgICAgY29sb3I6IHZhcigtLXByaWNlLWNvbG9yKTsgfVxuICAgICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLXN1bW1hcnkgLnByaWNlLWN5Y2xlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1hY3Rpb25zIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLWFjdGlvbnMgZm9ybSArIGZvcm0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTsgfVxuICAuc2l0ZSAuc2xpZGVyIC5pcnMtc2luZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNpdGUgLnNsaWRlci1hY3Rpb25zIHtcbiAgICBwYWRkaW5nLXRvcDogMTZweDsgfVxuICAgIC5zaXRlIC5zbGlkZXItYWN0aW9ucy1saXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgICAuc2l0ZSAuc2xpZGVyLWFjdGlvbnMtYnRuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtaW4td2lkdGg6IDY4cHg7XG4gICAgICBoZWlnaHQ6IHZhcigtLXJhbmdlLXNsaWRlci1hY3Rpb25zLWhlaWdodCk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1yYW5nZS1zbGlkZXItYWN0aW9ucy1ib3JkZXItY29sb3IpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFuZ2Utc2xpZGVyLWFjdGlvbnMtYm9yZGVyLXJhZGl1cyk7XG4gICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtdGV4dC1zbS1mb250LXNpemUpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXNpdGUtdGV4dC1zbS1saW5lLWhlaWdodCk7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYmFzZSk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWJhc2UpOyB9XG4gICAgICAuc2l0ZSAuc2xpZGVyLWFjdGlvbnMtYnRuOmhvdmVyLCAuc2l0ZSAuc2xpZGVyLWFjdGlvbnMtYnRuOmZvY3VzLXZpc2libGUge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLXByaW1hcnkpO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTsgfVxuICAgICAgLnNpdGUgLnNsaWRlci1hY3Rpb25zLWJ0biBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdWktYmxvY2stYmcpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYW5nZS1zbGlkZXItYWN0aW9ucy1ib3JkZXItcmFkaXVzKTsgfVxuICAgICAgLnNpdGUgLnNsaWRlci1hY3Rpb25zLWJ0bi5hY3RpdmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXJhbmdlLXNsaWRlci1hY3Rpb25zLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgICAgICBjb2xvcjogdmFyKC0tdWktbGluay1hY3RpdmUtY29sb3IpOyB9XG4gIC5zaXRlLWluZGV4IC5zbGlkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLWJvdHRvbS5oYXMtY3VycmVuY3kge1xuICAgICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItYm90dG9tLmhhcy1jdXJyZW5jeSAucGFja2FnZS1zbGlkZXItYWN0aW9ucyB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLWJvZHkge1xuICAgICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTsgfVxuICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1ib3R0b20ge1xuICAgICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItYm90dG9tLmhhcy1jdXJyZW5jeSAucGFja2FnZS1zbGlkZXItYWN0aW9ucyBmb3JtIHtcbiAgICAgICAgZmxleC1iYXNpczogNTAlOyB9XG4gICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLWFjdGlvbnMge1xuICAgICAgZmxleDogMTtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBwYWRkaW5nLXRvcDogMjRweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAobWF4LXdpZHRoOiA3NjdweCkgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1hY3Rpb25zIHtcbiAgICAgIGZsZXg6IGF1dG87IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1hY3Rpb25zIGZvcm0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG4gICAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItYWN0aW9ucyAuYnRuIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc2l0ZSAuc2xpZGVyLWFjdGlvbnMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NzVweCkge1xuICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1hY3Rpb25zIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKG1heC13aWR0aDogNTc1cHgpIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItYWN0aW9ucyB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgZmxleDogYXV0bzsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NzVweCkge1xuICAgICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLWFjdGlvbnMgZm9ybSArIGZvcm0ge1xuICAgICAgICBtYXJnaW46IDE2cHggMCAwOyB9XG4gICAgLnNpdGUgLnBhY2thZ2Utc2xpZGVyLXN1bW1hcnktaXRlbSB7XG4gICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogMjRweDsgfVxuICAgIC5zaXRlIC5wYWNrYWdlLXNsaWRlci1zdW1tYXJ5LWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItc3VtbWFyeSAucHJpY2UtcHJlZml4IHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LWZvbnQtc2l6ZSk7IH1cbiAgICAuc2l0ZSAucGFja2FnZS1zbGlkZXItc3VtbWFyeSAucHJpY2UtY3ljbGUge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXRleHQtZm9udC1zaXplKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuc2l0ZSAuc2hvdy1hbGwtYnRuIHtcbiAgICBtYXJnaW46IDI0cHggMHB4IDBweCAwcHg7IH1cbiAgICAuc2l0ZSAuc2hvdy1hbGwtYnRuIC5zaG93LWFsbCB7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTsgfVxuICAuc2l0ZSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pOyB9XG4gICAgLnNpdGUgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuYnRuLWdyb3VwIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdWktaGVpZ2h0LWJhc2UpOyB9XG4gICAgICAuc2l0ZSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdWktaGVpZ2h0LWJhc2UpICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLnNpdGUgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuYnRuLWdyb3VwID4gLmJ0bjpob3ZlciwgLnNpdGUgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuYnRuLWdyb3VwID4gLmJ0bjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tcHJpbWFyeS1mYWRlZC1iZyk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1mYWRlZC1ib3JkZXIpO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1mYWRlZC1jb2xvcik7IH1cbiAgICAgICAgLnNpdGUgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuYnRuLWdyb3VwID4gLmJ0bi5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1wcmltYXJ5LWJnKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWJvcmRlcik7XG4gICAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy1iYXNlKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktY29sb3IpOyB9XG4gICAgICAgIC5zaXRlIC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmJ0bi1ncm91cCA+IC5idG4gKyAuYnRuIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMnB4OyB9XG4gIC5zaXRlIC5zZWN0aW9uLXRpdGxlICsgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zaXRlLXNlY3Rpb24tdGl0bGUtbWFyZ2luLWJvdHRvbSkgLyAtMik7IH1cbiAgLnNpdGUgLnNlY3Rpb24tcHJpbWFyeSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5idG4tZ3JvdXAsXG4gIC5zaXRlIC5zZWN0aW9uLXNlY29uZGFyeSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5idG4tZ3JvdXAge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLWxpZ2h0LWJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLWxpZ2h0LWJnKTsgfVxuICAgIC5zaXRlIC5zZWN0aW9uLXByaW1hcnkgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuYnRuLWdyb3VwID4gLmJ0bixcbiAgICAuc2l0ZSAuc2VjdGlvbi1zZWNvbmRhcnkgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgICBjb2xvcjogdmFyKC0tYnRuLWxpZ2h0LWNvbG9yKTsgfVxuICAgICAgLnNpdGUgLnNlY3Rpb24tcHJpbWFyeSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5idG4tZ3JvdXAgPiAuYnRuOmhvdmVyLCAuc2l0ZSAuc2VjdGlvbi1wcmltYXJ5IC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmJ0bi1ncm91cCA+IC5idG46Zm9jdXMtdmlzaWJsZSxcbiAgICAgIC5zaXRlIC5zZWN0aW9uLXNlY29uZGFyeSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5idG4tZ3JvdXAgPiAuYnRuOmhvdmVyLFxuICAgICAgLnNpdGUgLnNlY3Rpb24tc2Vjb25kYXJ5IC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmJ0bi1ncm91cCA+IC5idG46Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1saWdodC1iZyk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5zaXRlIC5zZWN0aW9uLXByaW1hcnkgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuYnRuLWdyb3VwID4gLmJ0bi5hY3RpdmUsXG4gICAgICAuc2l0ZSAuc2VjdGlvbi1zZWNvbmRhcnkgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuYnRuLWdyb3VwID4gLmJ0bi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tcHJpbWFyeS1mYWRlZC1iZyk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLXByaW1hcnktZmFkZWQtYm9yZGVyKTtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy1iYXNlKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWZhZGVkLWNvbG9yKTsgfVxuICAuc2l0ZSAuc2VjdGlvbi1wcmltYXJ5IC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmRyb3Bkb3duLXRvZ2dsZSxcbiAgLnNpdGUgLnNlY3Rpb24tc2Vjb25kYXJ5IC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tbGlnaHQtYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tbGlnaHQtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1idG4tbGlnaHQtY29sb3IpO1xuICAgIG1pbi13aWR0aDogdmFyKC0tZHJvcGRvd24tbWluLXdpZHRoKTsgfVxuICAuc2l0ZSAuc2VjdGlvbi1wcmltYXJ5IC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmRyb3Bkb3duLWl0ZW0sXG4gIC5zaXRlIC5zZWN0aW9uLXNlY29uZGFyeSAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIC5kcm9wZG93bi1pdGVtIHtcbiAgICBmbGV4OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIHBhZGRpbmcgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTsgfVxuICAgIC5zaXRlIC5zZWN0aW9uLXByaW1hcnkgLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciAuZHJvcGRvd24taXRlbS5hY3RpdmUsXG4gICAgLnNpdGUgLnNlY3Rpb24tc2Vjb25kYXJ5IC5wcm9kdWN0LWJpbGxpbmctc3dpdGNoZXIgLmRyb3Bkb3duLWl0ZW0uYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKTsgfVxuICAuc2l0ZSAuc2l0ZS1zdWJuYXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTsgfVxuICAgIC5zaXRlIC5zaXRlLXN1Ym5hdiAubmF2IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tbmF2LWxpbmstcGFkZGluZy1oKSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1uYXYtbGluay1wYWRkaW5nLWgpKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLnNpdGUgLnNpdGUtc3VibmF2IHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5zaXRlIC5zaXRlLXN1Ym5hdiAubmF2YmFyLWNvbGxhcHNlLmNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLnNpdGUgLnNpdGUtc3VibmF2IC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2UgLm5hdmJhci1uYXYge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgICAgICAgLnNpdGUgLnNpdGUtc3VibmF2IC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2UgLm5hdmJhci1uYXYgbGkgYSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgICAuc2l0ZSAuc2l0ZS1zdWJuYXYge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpOyB9XG4gICAgICAgIC5zaXRlIC5zaXRlLXN1Ym5hdiAubmF2YmFyLXRvZ2dsZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgICAuc2l0ZSAuc2l0ZS1zdWJuYXYgLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVpLWljb24tY29sb3IpOyB9XG4gICAgICAgIC5zaXRlIC5zaXRlLXN1Ym5hdiAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7IH0gfVxuICAuc2l0ZSAuc3NsLWZpbHRlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuc2l0ZSAudGFicyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnNpdGUgLnRhYnMgLm5hdi10YWJzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnNpdGUgLnRhYnMgLm5hdi10YWJzOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYXktbGlnaHRlci00KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMHB4O1xuICAgICAgICBib3R0b206IDA7IH1cbiAgLnNpdGUgLnJvdy1wcmljaW5nLXRhYmxlIC5wYW5lbC1wYWNrYWdlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgLnNpdGUgLnJvdy1wcmljaW5nLXRhYmxlIC5wYW5lbC1wYWNrYWdlIHVsIGxpIC5sbS1jaGVjayB7XG4gICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTsgfVxuICAgIC5zaXRlIC5yb3ctcHJpY2luZy10YWJsZSAucGFuZWwtcGFja2FnZSB1bCBsaS5wcmljZSB7XG4gICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pOyB9XG4gICAgLnNpdGUgLnJvdy1wcmljaW5nLXRhYmxlIC5wYW5lbC1wYWNrYWdlIGZvcm0ge1xuICAgICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTsgfVxuICAuc2l0ZSAucm93LXByaWNpbmctdGFibGUgLnNpZGViYXIgLmhlYWRlciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnNpdGUgLnJvdy1wcmljaW5nLXRhYmxlIC5zaWRlYmFyIHVsIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1saWdodCk7IH1cbiAgLnNpdGUgLnJvdy1wcmljaW5nLXRhYmxlIC5wYWNrYWdlLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLXNtKTtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpOyB9XG4gICAgLnNpdGUgLnJvdy1wcmljaW5nLXRhYmxlIC5wYWNrYWdlLWhlYWRlciBoNCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMyk7IH1cbiAgLnNpdGUgLnJvdy1wcmljaW5nLXRhYmxlIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnNpdGUgLnJvdy1wcmljaW5nLXRhYmxlIHVsIGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpOyB9XG4gIC5zaXRlIC5sb2dvcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAgIC5zaXRlIC5sb2dvcyAubG9nbyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMjQwcHg7XG4gICAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLXNtKTsgfVxuICAgICAgLnNpdGUgLmxvZ29zIC5sb2dvID4gaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5zaXRlIC5icm93c2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdWktYmxvY2stYmcpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc3ZnLWdyYXBoaWMtc2hhZG93KTsgfVxuICAgIC5zaXRlIC5icm93c2VyLXRvcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgcGFkZGluZzogMCB2YXIoLS11aS1ibG9jay1wYWRkaW5nLXNtKTsgfVxuICAgICAgLnNpdGUgLmJyb3dzZXItdG9wOm5vdCguYnJvd3Nlci10b3AtdHJhbnNwYXJlbnQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3ZnLWdyYXBoaWMtYmctYnJvd3Nlci10b3ApOyB9XG4gICAgLnNpdGUgLmJyb3dzZXItYWN0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuc2l0ZSAuYnJvd3Nlci1hY3Rpb25zID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXN2Zy1ncmFwaGljLWJnLWJyb3dzZXItYWN0aW9ucyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7IH1cbiAgICAuc2l0ZSAuYnJvd3Nlci1ib2R5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLXNtKTsgfVxuICAgIC5zaXRlIC5icm93c2VyLXNtIHtcbiAgICAgIHdpZHRoOiA0NDZweDsgfVxuICAgICAgLnNpdGUgLmJyb3dzZXItc20gLmJyb3dzZXItdG9wIHtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctMXgpOyB9XG4gICAgLnNpdGUgLmJyb3dzZXItbWQge1xuICAgICAgd2lkdGg6IDU2MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgIC5zaXRlIC5icm93c2VyIC5zdmctZ3JhcGhpYyB7XG4gICAgICAgIGhlaWdodDogMzE0cHg7IH0gfVxuICAgIC5zaXRlIC5icm93c2VyLWdvb2dsZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogdW5zZXQ7XG4gICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgbWF4LWhlaWdodDogMzAwcHg7IH1cbiAgICAgIC5zaXRlIC5icm93c2VyLWdvb2dsZSA+IHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5zaXRlIC5icm93c2VyLWdvb2dsZSA+IGRpdiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgICAgLnNpdGUgLmJyb3dzZXItZ29vZ2xlIC5xdW90ZSB7XG4gICAgICAgIHRvcDogLTEzLjVweDtcbiAgICAgICAgcmlnaHQ6IDI4cHg7IH1cbiAgICAgIC5zaXRlIC5icm93c2VyLWdvb2dsZSAucHV6emxlIHtcbiAgICAgICAgYm90dG9tOiAtMTlweDtcbiAgICAgICAgcmlnaHQ6IC0xOXB4OyB9XG4gIC5zaXRlIC5icm93c2VyLXNzbCB7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAuc2l0ZSAuYnJvd3Nlci1zc2wgLmJyb3dzZXItYm9keSB7XG4gICAgICBoZWlnaHQ6IDQ0MHB4OyB9XG4gIC5zaXRlIC5icm93c2VyLWxnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDgzMnB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdWktYmxvY2stYmcpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWJsb2NrLWJvcmRlci1yYWRpdXMtbGcpOyB9XG4gICAgLnNpdGUgLmJyb3dzZXItbGcgLmJyb3dzZXItdG9wIHtcbiAgICAgIHBhZGRpbmc6IDJweCAwIDEwcHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAuc2l0ZSAuYnJvd3Nlci1sZyAuYnJvd3Nlci1hY3Rpb25zIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gICAgICAuc2l0ZSAuYnJvd3Nlci1sZyAuYnJvd3Nlci1hY3Rpb25zID4gc3BhbiB7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0xeCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXN2Zy1ncmFwaGljLWJnLWJyb3dzZXItYWN0aW9ucyk7IH1cbiAgICAuc2l0ZSAuYnJvd3Nlci1sZyAuYnJvd3Nlci1zZWFyY2hiYXIge1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdmctZ3JhcGhpYy1iZy1mYWRlZCk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIC5zaXRlIC5icm93c2VyLWxnIC5icm93c2VyLWJvZHkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5zaXRlIC5icm93c2VyLWxnIC5icm93c2VyLW5vdGljZSB7XG4gICAgICBtYXgtd2lkdGg6IDQ1NnB4O1xuICAgICAgcGFkZGluZzogMHB4IDEycHg7IH1cbiAgICAgIC5zaXRlIC5icm93c2VyLWxnIC5icm93c2VyLW5vdGljZSBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYmFzZSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zaXRlIC5icm93c2VyLWxnIC5icm93c2VyLWltYWdlIHtcbiAgICAgIG1hcmdpbjogLTQwcHggMCA0MHB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNpdGUgLmJyb3dzZXItem9vbSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2l0ZSAuYnJvd3Nlci16b29tIC5icm93c2VyLWltZy16b29tIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAuc2l0ZSAuYnJvd3Nlci16b29tIC5icm93c2VyLWltZy16b29tLCAuc2l0ZSAuYnJvd3Nlci16b29tIC5icm93c2VyLWltZy16b29tOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigxLCAwLCAxLCAxKTsgfVxuICAgICAgLnNpdGUgLmJyb3dzZXItem9vbSAuYnJvd3Nlci1pbWctem9vbTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLXByaW1hcnktZ3JhZGllbnQtdik7XG4gICAgICAgIG9wYWNpdHk6IDAuNjsgfVxuICAgICAgLnNpdGUgLmJyb3dzZXItem9vbSAuYnJvd3Nlci1pbWctem9vbSBpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeS1oZWFkaW5nLWNvbG9yKTtcbiAgICAgICAgZm9udC1zaXplOiA2NHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigxLCAwLCAxLCAxKTsgfVxuICAgIC5zaXRlIC5icm93c2VyLXpvb206aG92ZXIgLmJyb3dzZXItaW1nLXpvb20ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAgIC5zaXRlIC5icm93c2VyLXpvb206aG92ZXIgLmJyb3dzZXItaW1nLXpvb20gaSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOyB9XG4gIC5zaXRlLnNpdGUtc3BhbWV4cGVydHMgLmJyb3dzZXItc20ge1xuICAgIGhlaWdodDogMjY2cHg7IH1cbiAgICAuc2l0ZS5zaXRlLXNwYW1leHBlcnRzIC5icm93c2VyLXNtIC5icm93c2VyLWJvZHkge1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87IH1cbiAgLnNpdGUgLmRvbWFpbi10bGRzIHtcbiAgICBtYXJnaW46IHZhcigtLXNpdGUtc2VjdGlvbi1zcGFjaW5nKSAwIDAgMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5zaXRlIC5kb21haW4tdGxkcyA+ICoge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcbiAgICAgIG1heC13aWR0aDogMjQwcHg7IH1cbiAgICAuc2l0ZSAuZG9tYWluLXRsZHMgLmRvbWFpbi10bGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsZyk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteGxnKTsgfVxuICAgICAgLnNpdGUgLmRvbWFpbi10bGRzIC5kb21haW4tdGxkIC50bGQtcHJpY2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1saWdodCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWxpZ2h0ZXItY29sb3IpOyB9XG4gICAgICAuc2l0ZSAuZG9tYWluLXRsZHMgLmRvbWFpbi10bGQgLnRsZC1uYW1lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nLWNvbG9yKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0yeCk7IH1cbiAgICAgICAgLnNpdGUgLmRvbWFpbi10bGRzIC5kb21haW4tdGxkIC50bGQtbmFtZSA+IHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpOyB9XG4gICAgLnNpdGUgLmRvbWFpbi10bGRzID4gKjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLnNpdGUgLnNpdGUuc2l0ZS1pbmRleCAuZG9tYWluLXRsZHMgLmNvbC1zbSxcbiAgICAuc2l0ZSAuc2l0ZS5zaXRlLWluZGV4IC5kb21haW4tdGxkcyA+ICoge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIC5zaXRlIC5kb21haW4tdGxkcyB7XG4gICAgICBtYXJnaW46IDAgLTRweDsgfVxuICAgICAgLnNpdGUgLmRvbWFpbi10bGRzID4gKiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5zaXRlIC5kb21haW4tdGxkcyAuZG9tYWluLXRsZCB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMXgpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmF5LWxpZ2h0ZXItNCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtYmFzZSk7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgICAuc2l0ZSAuZG9tYWluLXRsZHMgPiAqIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3OS45OHB4KSB7XG4gICAgLnNpdGUgLnNpdGUuc2l0ZS1pbmRleCAuZG9tYWluLXRsZHMgLmNvbC1zbSxcbiAgICAuc2l0ZSAuc2l0ZS5zaXRlLWluZGV4IC5kb21haW4tdGxkcyA+ICoge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAuc2l0ZSAuc2l0ZS5zaXRlLWluZGV4IC5kb21haW4tdGxkcyAuZG9tYWluLXRsZCAudGxkLW5hbWUsXG4gICAgLnNpdGUgLnNpdGUuc2l0ZS1pbmRleCAuZG9tYWluLXRsZHMgLmRvbWFpbi10bGQgLnRsZC1wcmljZSB7XG4gICAgICBmbGV4LWJhc2lzOiA1MCU7IH1cbiAgICAuc2l0ZSAuc2l0ZS5zaXRlLWluZGV4IC5kb21haW4tdGxkcyAuZG9tYWluLXRsZCAudGxkLXByaWNlIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgLnNpdGUgLm5ld3MtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyOiB2YXIoLS11aS1ibG9jay1ib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWJsb2NrLWJnKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11aS1ibG9jay1ib3JkZXItcmFkaXVzKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS11aS1ibG9jay1zaGFkb3ctbGcpO1xuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdWktYmxvY2stc3BhY2luZy14bGcpOyB9XG4gICAgLnNpdGUgLm5ld3MtYm94OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRpbGUtaG92ZXItYmcpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtOHB4LCAwKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXVpLWJsb2NrLXNoYWRvdy14bGcpOyB9XG4gICAgICAuc2l0ZSAubmV3cy1ib3g6aG92ZXIgLmljb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGlsZS1ib3JkZXItY29sb3ItaG92ZXIpOyB9XG4gICAgICAuc2l0ZSAubmV3cy1ib3g6aG92ZXIgLm5ld3MtYWN0aW9ucyA+IHNwYW4ge1xuICAgICAgICBjb2xvcjogdmFyKC0tbGluay1ob3Zlci1jb2xvcik7IH1cbiAgICAuc2l0ZSAubmV3cy1ib3ggLm5ld3MtYm9keSB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgcGFkZGluZzogMTZweCAyMHB4IDIwcHggMjRweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLnNpdGUgLm5ld3MtYm94IC5uZXdzLWRhdGUge1xuICAgICAgY29sb3I6IHZhcigtLXRleHQtbGlnaHRlci1jb2xvcik7XG4gICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtdGV4dC14cy1mb250LXNpemUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdWktYmxvY2stc3BhY2luZy14cyk7IH1cbiAgICAgIC5zaXRlIC5uZXdzLWJveCAubmV3cy1kYXRlIGkge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtdGV4dC14cy1mb250LXNpemUpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmcteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tdWktaWNvbi1jb2xvcik7IH1cbiAgICAuc2l0ZSAubmV3cy1ib3ggLm5ld3MtZGVzYyB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGxnZyk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteGxnZyk7XG4gICAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nLWNvbG9yKTsgfVxuICAgICAgLnNpdGUgLm5ld3MtYm94IC5uZXdzLWRlc2MgcCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5zaXRlIC5uZXdzLWJveCAubmV3cy1hY3Rpb25zIHtcbiAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMXgpIHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5zaXRlIC5jb250ZW50LXNsaWRlciB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zaXRlIC5jb250ZW50LXNsaWRlci13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5zaXRlIC5jb250ZW50LXNsaWRlci1pdGVtIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLnNpdGUgLmNvbnRlbnQtc2xpZGVyLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTsgfVxuICAgICAgLnNpdGUgLmNvbnRlbnQtc2xpZGVyLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTsgfVxuICAgICAgLnNpdGUgLmNvbnRlbnQtc2xpZGVyLWl0ZW0taW1nIGltZyB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3ctbGcpO1xuICAgICAgICB3aWR0aDogNzY4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xuICAgICAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy0yeCk7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgICAgICAgLnNpdGUgLmNvbnRlbnQtc2xpZGVyLWl0ZW0taW1nIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogNjY0cHg7IH0gfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAgICAgICAuc2l0ZSAuY29udGVudC1zbGlkZXItaXRlbS1pbWcgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MTBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTF4KTsgfSB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAgICAgICAgIC5zaXRlIC5jb250ZW50LXNsaWRlci1pdGVtLWltZyBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDMwNXB4OyB9IH1cbiAgLnNpdGUgLnRlc3RpbW9uaWFscy1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1ibG9jay1iZyk7XG4gICAgYm9yZGVyOiB2YXIoLS11aS1ibG9jay1ib3JkZXIpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXVpLWJsb2NrLXNoYWRvdyk7XG4gICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2hpdGUtc3BhY2U6IHVuc2V0O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWJsb2NrLWJvcmRlci1yYWRpdXMpO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAuc2l0ZSAudGVzdGltb25pYWxzLWRlc2Mge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpOyB9XG4gICAgLnNpdGUgLnRlc3RpbW9uaWFscy1kZXNjID4gcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5zaXRlIC50ZXN0aW1vbmlhbHMtZGVzYyBwIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsZyk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteGxnKTsgfVxuICAuc2l0ZSAudGVzdGltb25pYWxzLWRldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXRlLXRleHQtc20tbGluZS1oZWlnaHQpO1xuICAgIG1hcmdpbi10b3A6IGF1dG87IH1cbiAgLnNpdGUgLnRlc3RpbW9uaWFscy1hdmF0YXIge1xuICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlOyB9XG4gICAgLnNpdGUgLnRlc3RpbW9uaWFscy1hdmF0YXIgaW1nIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7IH1cbiAgICAuc2l0ZSAudGVzdGltb25pYWxzLWF2YXRhciBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwcHg7XG4gICAgICByaWdodDogLTE2cHg7IH1cbiAgLnNpdGUgLnRlc3RpbW9uaWFscy1hdXRob3IgPiBzcGFuIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nLWNvbG9yKTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuc2l0ZSAudGVzdGltb25pYWxzLnJvdyAudGVzdGltb25pYWxzLWl0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7IH0gfVxuICAuc2l0ZSAuc2xpZGVyIC50ZXN0aW1vbmlhbHMtaXRlbSB7XG4gICAgbWluLXdpZHRoOiAzNDBweDtcbiAgICBtYXJnaW46IDBweCAxMnB4OyB9XG4gIC5zaXRlIC5jaGVjay1mZWF0dXJlcyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tdWktYmxvY2stc3BhY2luZy14eGxnKTsgfVxuICAgIC5zaXRlIC5jaGVjay1mZWF0dXJlcyA+ICoge1xuICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7IH1cbiAgICAuc2l0ZSAuY2hlY2stZmVhdHVyZXMgLmxtLWNoZWNrIHtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcbiAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpOyB9XG4gIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYWNrYWdlLWJnKTtcbiAgICBib3JkZXI6IHZhcigtLXBhY2thZ2UtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1wYWNrYWdlLWJvcmRlci1yYWRpdXMpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXBhY2thZ2UtYmxvY2stc2hhZG93KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1wYWNrYWdlLXBhZGRpbmcpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZC1jb250ZW50IHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQtc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XG4gICAgICBwYWRkaW5nLXRvcDogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLWxnKTsgfVxuICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkIC5hZGRpdGlvbmFsLW9wdGlvbnMgLm9wdGlvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLnByaWNlOm5vdCg6bnRoLWNoaWxkKDMpKSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLmNob29zZS1wcm9kdWN0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkIC5jaG9vc2UtcHJvZHVjdCAuYnRuIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvdG4tc2l6ZS1tZCk7IH1cbiAgICAgICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLmNob29zZS1wcm9kdWN0IC5idG4gc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZCAuY2hvb3NlLXByb2R1Y3QgLmJ0bjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0yeCk7IH1cbiAgICAgICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLmNob29zZS1wcm9kdWN0IC5idG4uYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7IH1cbiAgICAgICAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZCAuY2hvb3NlLXByb2R1Y3QgLmJ0bi5hY3RpdmUgc3ZnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAuc2l0ZSAucGFja2FnZS1nZXQtc3RhcnRlZCAuY2hvb3NlLXByb2R1Y3QgLmJ0bi5hY3RpdmUgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpO1xuICAgICAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNjRweDsgfVxuICAgICAgICAgICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLmNob29zZS1wcm9kdWN0IC5idG4uYWN0aXZlIHNwYW4gaSB7XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4OyB9XG4gICAgICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkIC5jaG9vc2UtcHJvZHVjdCAuYnRuIC5zdmctaWNvbiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgICAgICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLmNob29zZS1wcm9kdWN0IC5idG4ge1xuICAgICAgICAgICAgcGFkZGluZzogMTRweDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzkuOThweCkge1xuICAgICAgICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkIC5jaG9vc2UtcHJvZHVjdCAuYnRuIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAgICAgLnNpdGUgLnBhY2thZ2UtZ2V0LXN0YXJ0ZWQgLmNob29zZS1wcm9kdWN0IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3OS45OHB4KSB7XG4gICAgICAgIC5zaXRlIC5wYWNrYWdlLWdldC1zdGFydGVkIC5jaG9vc2UtcHJvZHVjdCB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5zaXRlIC5lbWVyZ2VuY3ktcHJvbW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLXhsZyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhsZyk7IH1cbiAgICAuc2l0ZSAuZW1lcmdlbmN5LXByb21vLXRpdGxlIGgzIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zaXRlIC5lbWVyZ2VuY3ktcHJvbW8tYmFubmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC1wcmltYXJ5KTtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpOyB9XG4gICAgICAuc2l0ZSAuZW1lcmdlbmN5LXByb21vLWJhbm5lciBoNCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc2l0ZSAuZW1lcmdlbmN5LXByb21vIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICAgIC5zaXRlIC5lbWVyZ2VuY3ktcHJvbW8tdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTIwcHg7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgICAuc2l0ZSAuZW1lcmdlbmN5LXByb21vLXRpdGxlIGgzIHtcbiAgICAgICAgICBwYWRkaW5nOiAwcHggMjBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLnNpdGUgLmVtZXJnZW5jeS1wcm9tby10aXRsZSBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteGxnKTsgfSB9XG4gIC5zaXRlIC5zZWN0aW9uLXNzbC11cGdyYWRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5zaXRlIC5zZWN0aW9uLXNzbC11cGdyYWRlIC5icm93c2VyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC5zaXRlIC5zZWN0aW9uLXNzbC11cGdyYWRlIC5icm93c2VyLXRvcCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5zaXRlIC5zc2wtdXBncmFkZSB7XG4gICAgbWFyZ2luLXRvcDogLTY0cHg7XG4gICAgcGFkZGluZzogMTAwcHggMDsgfVxuICAgIC5zaXRlIC5zc2wtdXBncmFkZSAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXhsZyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXhsZyk7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbGlnaHQpO1xuICAgICAgZm9udC1zaXplOiAyOHB4OyB9XG4gIC5zaXRlIC5zZWN0aW9uLXNlY29uZGFyeS5zZWN0aW9uLXNzbC11cGdyYWRlIC5zc2wtdXBncmFkZSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctOHgpOyB9XG4gIC5zaXRlIC5tb2RhbC1yZXN1bHRzIC5yZXN1bHQtbmVnYXRpdmUge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpOyB9XG4gIC5zaXRlIC5tb2RhbC1yZXN1bHRzIC5yZXN1bHQtcG9zaXRpdmUge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXN1Y2Nlc3MtY29sb3IpOyB9XG4gIC5zaXRlIC5tb2RhbC1yZXN1bHRzIC5yZXN1bHQtY29uY2VybiB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtd2FybmluZy1jb2xvcik7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5pbWctb3ZlcmxhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMTAwcHg7IH0gfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0yOmZpcnN0LW9mLXR5cGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMiB7XG4gICAgbWluLWhlaWdodDogNHJlbTtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpmaXJzdC1vZi10eXBlIC5jb2wtMiB7XG4gICAgbWluLWhlaWdodDogMS41cmVtOyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTEyOm50aC1vZi10eXBlKDcpIC5jb2wtMjpub3QoOm50aC1vZi10eXBlKDIpKSxcbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMTI6bGFzdC1vZi10eXBlIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpOyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTEyOmZpcnN0LW9mLXR5cGUgLmNvbC0yOm5vdCg6bnRoLW9mLXR5cGUoMikpLFxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpsYXN0LW9mLXR5cGUgLmNvbC0yOm5vdCg6bnRoLW9mLXR5cGUoMikpIHtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMTI6bnRoLW9mLXR5cGUoMikgLmNvbC0yOm50aC1vZi10eXBlKDIpLFxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpsYXN0LW9mLXR5cGUgLmNvbC0yOm50aC1vZi10eXBlKDIpIHtcbiAgICBib3JkZXItdG9wOiBub25lOyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTI6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTI6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOm50aC1vZi10eXBlKDIpKSB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMTI6bnRoLW9mLXR5cGUoMikgLmNvbC0yOmZpcnN0LW9mLXR5cGUge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpudGgtb2YtdHlwZSg3KSAuY29sLTI6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAuY29tcGFyaXNvbiAuY29sLTEyOm50aC1vZi10eXBlKDIpIC5jb2wtMjpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMTI6bnRoLW9mLXR5cGUoNykgLmNvbC0yOmxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpmaXJzdC1vZi10eXBlIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMTI6bGFzdC1vZi10eXBlIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMiAuY29sLTI6bnRoLW9mLXR5cGUoMikge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWluZm8tbGlnaHRlci0zKTsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmNvbC0xMjpmaXJzdC1vZi10eXBlIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMTI6bGFzdC1vZi10eXBlIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc29uIC5jb2wtMiBzcGFuIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24gLmJ0bi1nZXQtZGVhbCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFuZ2VyKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24tY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmNvbXBhcmlzb24tY29udGFpbmVyID4gLnJvdyB7XG4gICAgbWluLXdpZHRoOiAxMTEwcHg7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5jb21wYXJpc2lvbi1pbWFnZXMgaW1nIHtcbiAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5yb3ctY3VzdG9tIHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMngpO1xuICAgICAgZ2FwOiAyNHB4OyB9IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5yb3ctY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy05eCk7IH1cbiAgICAuc2l0ZS5zaXRlLW5vcmR2cG4gLnJvdy1jb250ZW50LWxnIHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNpdGUtc2VjdGlvbi1wYWRkaW5nLXYpOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAgICAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5yb3ctY29udGVudC1sZyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy02eCk7IH0gfVxuICAgIC5zaXRlLnNpdGUtbm9yZHZwbiAucm93LWNvbnRlbnQgLmg1IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1iYXNlKSAhaW1wb3J0YW50OyB9XG4gIC5zaXRlLnNpdGUtbm9yZHZwbiAucm93IC5jb2wtc20tMTIge1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5zaXRlLnNpdGUtbm9yZHZwbiAuZmVhdHVyZS1pY29uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctM3gpOyB9IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5mZWF0dXJlLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYmFzZSk7IH1cbiAgLnNpdGUuc2l0ZS1ub3JkdnBuIC5wYWNrYWdlcy1jdXN0b20gLnBhY2thZ2Uge1xuICAgIGhlaWdodDogbWF4LWNvbnRlbnQ7IH1cbiAgICAuc2l0ZS5zaXRlLW5vcmR2cG4gLnBhY2thZ2VzLWN1c3RvbSAucGFja2FnZS1ib2R5IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnNpdGUgLmljb25zLW5ldHdvcmsge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBtYXJnaW4tdG9wOiA4MHB4OyB9XG4gICAgLnNpdGUgLmljb25zLW5ldHdvcmsgLmNvbnRlbnQtc2xpZGVyLXdyYXBwZXIge1xuICAgICAgZ2FwOiA0MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5zaXRlIC5zZWN0aW9uLWNvbnRlbnQtY3VzdG9tIC5yb3ctY3VzdG9tOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuICAuc2l0ZS5zaXRlLW5vcmR2cG4gLmljb25zLW5ldHdvcmsgLmNvbnRlbnQtc2xpZGVyLXdyYXBwZXIge1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaXRlLnNpdGUtc29jaWFsYmVlIC5wcmljaW5nLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTsgfVxuICAuc2l0ZS5zaXRlLXNvY2lhbGJlZSAucHJpY2luZy10YWJsZSB7XG4gICAgd2lkdGg6IDEyNDhweDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5zaXRlLnNpdGUtc29jaWFsYmVlIC5wcmljaW5nLXRhYmxlX19oZWFkZXItcm93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYXktbGlnaHRlci00KSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuc2l0ZS5zaXRlLXNvY2lhbGJlZSAucHJpY2luZy10YWJsZV9fY2VsbCB7XG4gICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgZmxleDogMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbWQpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJhc2UpO1xuICAgICAgY29sb3I6IHZhcigtLXRleHQtYm9keS1jb2xvcik7IH1cbiAgICAgIC5zaXRlLnNpdGUtc29jaWFsYmVlIC5wcmljaW5nLXRhYmxlX19jZWxsLnByaWNpbmctdGFibGVfX2hlYWRlci1jZWxsLnByaWNpbmctdGFibGVfX2ZlYXR1cmUtaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYmFzZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxnKTsgfVxuICAgICAgLnNpdGUuc2l0ZS1zb2NpYWxiZWUgLnByaWNpbmctdGFibGVfX2NlbGwucHJpY2luZy10YWJsZV9faGVhZGVyLWNlbGwucHJpY2luZy10YWJsZV9fcGxhbi1oZWFkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nLWNvbG9yKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJhc2UpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sZyk7IH1cbiAgICAuc2l0ZS5zaXRlLXNvY2lhbGJlZSAucHJpY2luZy10YWJsZV9faGVhZGVyLWNlbGwge1xuICAgICAgcGFkZGluZzogMjRweCAwOyB9XG4gICAgLnNpdGUuc2l0ZS1zb2NpYWxiZWUgLnByaWNpbmctdGFibGVfX3JvdyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuc2l0ZS5zaXRlLXNvY2lhbGJlZSAucHJpY2luZy10YWJsZV9fcm93OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeS1saWdodGVyLTQpOyB9XG4gICAgLnNpdGUuc2l0ZS1zb2NpYWxiZWUgLnByaWNpbmctdGFibGVfX3Jvdy1hY3Rpb25zIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDsgfVxuICAgIC5zaXRlLnNpdGUtc29jaWFsYmVlIC5wcmljaW5nLXRhYmxlX19mZWF0dXJlLW5hbWUge1xuICAgICAgZmxleDogMS41O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW1kKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpOyB9XG4gICAgLnNpdGUuc2l0ZS1zb2NpYWxiZWUgLnByaWNpbmctdGFibGVfX2ZlYXR1cmUtaGVhZGVyIHtcbiAgICAgIGZsZXg6IDEuNTsgfVxuICAuc2l0ZS5zaXRlLW1hcmtldGdvbyAuc2VjdGlvbi12aWRlbyAuZW1iZWQtcmVzcG9uc2l2ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDM1JTtcbiAgICBtYXgtd2lkdGg6IDcwMnB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zaXRlLnNpdGUtbWFya2V0Z29vIC5zaXRlLWJhbm5lciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOTJweDsgfVxuICAgIC5zaXRlLnNpdGUtbWFya2V0Z29vIC5zZWN0aW9uLXN0ZXBzIHtcbiAgICAgIG1hcmdpbi10b3A6IC05MnB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgLnNpdGUuc2l0ZS1tYXJrZXRnb28gLnNlY3Rpb24tc3RlcHMgKyAuc2l0ZS1zZWN0aW9uIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLnNpdGUuc2l0ZS1tYXJrZXRnb28gLnNlY3Rpb24tdmlkZW8gLmVtYmVkLXJlc3BvbnNpdmUge1xuICAgICAgbWF4LXdpZHRoOiA0MzRweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNTRweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0NTlweCkge1xuICAgIC5zaXRlLnNpdGUtbWFya2V0Z29vIC5zZWN0aW9uLXZpZGVvIC5lbWJlZC1yZXNwb25zaXZlIHtcbiAgICAgIG1heC13aWR0aDogMzI4cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTk0cHg7IH1cbiAgICAuc2l0ZS5zaXRlLW1hcmtldGdvbyAuc2xpZGVyIC50ZXN0aW1vbmlhbHMtaXRlbSB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuc2l0ZSAuc2xpZGVyIC50ZXN0aW1vbmlhbHMtaXRlbSB7XG4gICAgICBtaW4td2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAyNHB4ICFpbXBvcnRhbnQ7IH0gfVxuICAuc2l0ZSAuc2VjdGlvbi10ZW1wbGF0ZXMgLnRlbXBsYXRlcyAubmF2Lm5hdi10YWJzIGxpIGEuYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTsgfVxuICAuc2l0ZSAuc2VjdGlvbi10ZW1wbGF0ZXMgLnRlbXBsYXRlcyAucm93ICsgLnJvdyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy05eCk7IH1cbiAgLnNpdGUgLnNlY3Rpb24tdGVtcGxhdGVzIC50ZW1wbGF0ZXMgLnByZXZpZXdzIGEge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLnNpdGUgLnNlY3Rpb24tdGVtcGxhdGVzIC50ZW1wbGF0ZXMgLnByZXZpZXdzIGEgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1wcmV2aWV3cy1pbWctaGVpZ2h0KTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgb2JqZWN0LXBvc2l0aW9uOiB0b3A7IH1cbiAgLnNpdGUgLnNlY3Rpb24tdGVtcGxhdGVzIC50ZW1wbGF0ZXMgLnByZXZpZXdzIC50eXBlLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zaXRlIC5zZWN0aW9uLXRlbXBsYXRlcyAudGVtcGxhdGVzIC5wcmV2aWV3cyAudHBsbmFtZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yeCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1saWdodGVyKTsgfVxuICAuc2l0ZSAuc2VjdGlvbi10ZW1wbGF0ZXMgLnRlbXBsYXRlcyAucHJldmlld3MgLnRodW1iLXdyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93LXhsZyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTJ4KTsgfVxuICAuc2l0ZSAuc2VjdGlvbi10ZW1wbGF0ZXMgLnRlbXBsYXRlcyAucHJldmlld3MgLnNob3ctbW9yZS1idG4ge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2luZy04eCkgYXV0byAwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5zaXRlIC5zZWN0aW9uLXRlbXBsYXRlcyAudGVtcGxhdGVzIC5wcmV2aWV3cyAuc2hvdy1tb3JlLWl0ZW0gYTpmb2N1cy12aXNpYmxlIHNwYW4ge1xuICAgIGNvbG9yOiB2YXIoLS1icmFuZC1wcmltYXJ5LWRhcmtlcik7IH1cbiAgLnNpdGUuc2l0ZS13cC10b29sa2l0IC5zaXRlLWJhbm5lciAuYmFubmVyLWltZyB7XG4gICAgbWF4LXdpZHRoOiAxMjAlO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOXgpOyB9XG4gIC5zaXRlLnNpdGUtd3AtdG9vbGtpdCAuc2l0ZS1iYW5uZXIgLmJhbm5lci1sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDE2NHB4OyB9XG4gIC5zaXRlLnNpdGUtd3AtdG9vbGtpdCAuc2l0ZS1iYW5uZXIgLmJhbm5lci1kZXNjIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnNpdGUuc2l0ZS13cC10b29sa2l0IC5zaXRlLXNlY3Rpb24gLnNjcmVlbnNob3RzIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0zeCkpOyB9XG4gICAgLnNpdGUuc2l0ZS13cC10b29sa2l0IC5zaXRlLXNlY3Rpb24gLnNjcmVlbnNob3RzIC5zY3JlZW5zaG90LXRodW1iIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTF4KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyYXktbGlnaHRlci00KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0zeCk7IH1cbiAgICAgIC5zaXRlLnNpdGUtd3AtdG9vbGtpdCAuc2l0ZS1zZWN0aW9uIC5zY3JlZW5zaG90cyAuc2NyZWVuc2hvdC10aHVtYiA+IGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuc2l0ZS5zaXRlLXdwLXRvb2xraXQgLnNpdGUtc2VjdGlvbiAuc2NyZWVuc2hvdHMgLnNjcmVlbnNob3QtdGh1bWIgLm92ZXJsYXkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tYmFzZSk7IH1cbiAgICAgICAgLnNpdGUuc2l0ZS13cC10b29sa2l0IC5zaXRlLXNlY3Rpb24gLnNjcmVlbnNob3RzIC5zY3JlZW5zaG90LXRodW1iIC5vdmVybGF5ID4gaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMjBweDsgfVxuICAgICAgLnNpdGUuc2l0ZS13cC10b29sa2l0IC5zaXRlLXNlY3Rpb24gLnNjcmVlbnNob3RzIC5zY3JlZW5zaG90LXRodW1iOmhvdmVyIC5vdmVybGF5IHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAuc2l0ZS5zaXRlLXdwLXRvb2xraXQgLnNpdGUtc2VjdGlvbiBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc2l0ZS5zaXRlLXdwLXRvb2xraXQgLnNpdGUtYmFubmVyIC5iYW5uZXItbG9nbyB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0xeCkpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTJ4KTsgfVxuICAgIC5zaXRlLnNpdGUtd3AtdG9vbGtpdCAuc2l0ZS1iYW5uZXIgLmJhbm5lci1kZXNjIHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMXgpO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cblxuLmluaGVyaXQtc2VjdGlvbi10aXRsZXMgLnNpdGUgLnNpdGUtc2VjdGlvbiAuc2VjdGlvbi10aXRsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0OyB9XG4iLCIvKiBDb2RlR3VhcmQgU2xpZGVyIEJveCAqL1xyXG5cclxuLnBhY2thZ2Utc2xpZGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiA4MzJweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgYm94LXNoYWRvdzogdmFyKC0tdWktYmxvY2stc2hhZG93KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWJsb2NrLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tdWktYmxvY2stYmcpO1xyXG4gICAgJi1ib2R5IHtcclxuICAgICAgICBwYWRkaW5nOiA0OHB4IDU2cHg7XHJcbiAgICB9XHJcbiAgICAmLWJvdHRvbSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDU0cHg7XHJcbiAgICB9XHJcbiAgICAmLXN1bW1hcnkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgJi1pdGVtIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWJsb2NrLWJvcmRlci1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaWNlLWZvbnQtc2l6ZS1jb2xvcik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l0ZS10ZXh0LXhzLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXRlLXRleHQteHMtbGluZS1oZWlnaHQpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtdmFsdWUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXByaWNlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1wcmljZS1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wcmljZS1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmljZS1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZS1jeWNsZXtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLWFjdGlvbnMge1xyXG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZm9ybSArIGZvcm0ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIENvZGVHdWFyZCBTbGlkZXIgKi9cclxuXHJcbi5zbGlkZXIge1xyXG4gICAgLmlycy1zaW5nbGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi1hY3Rpb25zIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTZweDtcclxuICAgICAgICAmLWxpc3Qge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJ0bHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWJ0biB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogNjhweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1yYW5nZS1zbGlkZXItYWN0aW9ucy1oZWlnaHQpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1yYW5nZS1zbGlkZXItYWN0aW9ucy1ib3JkZXItY29sb3IpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYW5nZS1zbGlkZXItYWN0aW9ucy1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXRleHQtc20tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXNpdGUtdGV4dC1zbS1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1iYXNlKTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xyXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1wcmltYXJ5KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA0cHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdWktYmxvY2stYmcpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFuZ2Utc2xpZGVyLWFjdGlvbnMtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yYW5nZS1zbGlkZXItYWN0aW9ucy1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS11aS1saW5rLWFjdGl2ZS1jb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiYtaW5kZXgge1xyXG4gICAgLnNsaWRlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duIChtZCkge1xyXG4gICAgLnBhY2thZ2Utc2xpZGVyIHtcclxuICAgICAgICAmLWJvdHRvbSB7XHJcbiAgICAgICAgICAgICYuaGFzLWN1cnJlbmN5IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIC5wYWNrYWdlLXNsaWRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgJi1hY3Rpb25zIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC5wYWNrYWdlLXNsaWRlciB7XHJcbiAgICAgICAgJi1ib2R5IHtcclxuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1ib3R0b20ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjRweDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgICAgICYuaGFzLWN1cnJlbmN5IHtcclxuICAgICAgICAgICAgICAgIC5wYWNrYWdlLXNsaWRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgJi1hY3Rpb25zIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1hY3Rpb25zIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7IFxyXG4gICAgICAgICAgICAgICAgZmxleDogYXV0bztcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2xpZGVyIHtcclxuICAgICAgICAmLWFjdGlvbnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHtcclxuICAgIC5wYWNrYWdlLXNsaWRlciB7XHJcbiAgICAgICAgJi1hY3Rpb25zIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgICAgICAgICAgICBcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHsgXHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gICAgICAgICAgICAgICAgZmxleDogYXV0bztcclxuICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgIGZvcm0rZm9ybSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDE2cHggMCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtc3VtbWFyeSB7XHJcbiAgICAgICAgICAgICYtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi12YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAvL2ZvbnQtc2l6ZTogbWFwLWdldCgkc2l0ZS1mb250LXNpemUsIFwibGFyZ2VcIik7XHJcbiAgICAgICAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRzaXRlLWxpbmUtaGVpZ2h0LCBcImxhcmdlXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAmLXByZWZpeCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXRleHQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRzaXRlLWxpbmUtaGVpZ2h0LCBcImJhc2VcIik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLWN5Y2xlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtdGV4dC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbGluZS1oZWlnaHQ6IG1hcC1nZXQoJHNpdGUtbGluZS1oZWlnaHQsIFwiYmFzZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qIG1haW4tc3VibmF2ICovXHJcblxyXG4uc2l0ZS1zdWJuYXYge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpOyAgICBcclxuICAgIC5uYXYge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tbmF2LWxpbmstcGFkZGluZy1oKSk7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tbmF2LWxpbmstcGFkZGluZy1oKSk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXghaW1wb3J0YW50O1xyXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xyXG4gICAgICAgICAgICAmLmNvbGxhcHNlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIC5uYXZiYXItbmF2IHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLWxnKTsgICAgICAgIFxyXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAuaWNvbi1iYXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdWktaWNvbi1jb2xvcik7XHJcbiAgICAgICAgICAgIH0gIFxyXG4gICAgICAgIH1cclxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogdGFicy1maWx0ZXJzICovXHJcblxyXG4uc3NsLWZpbHRlcnMgeyAgICAgICAgXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4vKiBuYXYtdGFiICovXHJcblxyXG4udGFicyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAubmF2LXRhYnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOztcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDpcIlwiO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JheS1saWdodGVyLTQpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwcHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB9ICAgIFxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2l0ZSBOZXdzIEJveFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiovXHJcblxyXG4ubmV3cy1ib3gge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBib3JkZXI6IHZhcigtLXVpLWJsb2NrLWJvcmRlcik7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1ibG9jay1iZyk7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11aS1ibG9jay1ib3JkZXItcmFkaXVzKTtcclxuICAgIGJveC1zaGFkb3c6IHZhcigtLXVpLWJsb2NrLXNoYWRvdy1sZyk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLXhsZyk7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aWxlLWhvdmVyLWJnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLThweCwwKTtcclxuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS11aS1ibG9jay1zaGFkb3cteGxnKTtcclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10aWxlLWJvcmRlci1jb2xvci1ob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uZXdzLWFjdGlvbnMgPiBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpbmstaG92ZXItY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5uZXdzLWJvZHkge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgcGFkZGluZzogMTZweCAyMHB4IDIwcHggMjRweDtcclxuICAgICAgICBAaW5jbHVkZSBydGwge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmV3cy1kYXRlIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1saWdodGVyLWNvbG9yKTtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtdGV4dC14cy1mb250LXNpemUpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmcteHMpO1xyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXNpdGUtdGV4dC14cy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmcteHMpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdWktaWNvbi1jb2xvcik7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5uZXdzLWRlc2Mge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGxnZyk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhsZ2cpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5ld3MtYWN0aW9ucyB7XHJcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xeCkgdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xyXG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5kLWZsZXgtYWxpZ24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuYixcclxuc3Ryb25nIHtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nLWNvbG9yKTtcclxufVxyXG4uaGFzLXNoYWRvdyB7XHJcbiAgICBib3gtc2hhZG93OiB2YXIoLS11aS1ibG9jay1zaGFkb3ctbGcpOyBcclxufVxyXG4ubS1zYWZhcmkge1xyXG4gICAgbWFyZ2luOiAwcHggLS4zcHg7XHJcbn1cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgLnJvdy5mLWZsb3cge1xyXG4gICAgICAgIGZsZXgtZmxvdzogcm93O1xyXG4gICAgfVxyXG59XHJcbkBtZWRpYSAobWluLXdpZHRoOiA1NzVweCkge1xyXG4gICAgLmhvbWVwYWdlLXRpbGVzIHtcclxuICAgICAgICBmbGV4LWZsb3c6IHJvdztcclxuICAgIH1cclxufVxyXG5Ac3VwcG9ydHMgKC13ZWJraXQtaHlwaGVuczpub25lKXtcclxuICAgIC5ob21lcGFnZS10aWxlcyB7XHJcbiAgICAgICAgJi5yb3cge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGV4dC1zdGFydCB7XHJcbiAgICB0ZXh0LWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xyXG59IiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cclxuLy9cclxuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxyXG4vL1xyXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXHJcbi8vXHJcbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cclxuXHJcbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIG1kXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXHJcbi8vICAgIG1kXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XHJcbiAgICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcclxuICAgIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xyXG4gIH1cclxuICBcclxuICAvLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXHJcbiAgLy9cclxuICAvLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuICAvLyAgICA1NzZweFxyXG4gIEBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcclxuICAgIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcclxuICB9XHJcbiAgXHJcbiAgLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cclxuICAvLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxyXG4gIC8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXHJcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxyXG4gIC8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cclxuICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxyXG4gIC8vXHJcbiAgLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbiAgLy8gICAgNzY3Ljk4cHhcclxuICBAZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMnB4LCBudWxsKTtcclxuICB9XHJcbiAgXHJcbiAgLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbmZyb250LlxyXG4gIC8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxyXG4gIC8vXHJcbiAgLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuICAvLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcclxuICAvLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4gIC8vICAgIFwiLXNtXCJcclxuICBAZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcclxuICB9XHJcbiAgXHJcbiAgLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxyXG4gIC8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXHJcbiAgQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICAgQGlmICRtaW4ge1xyXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXHJcbiAgLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cclxuICBAbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICAgIEBpZiAkbWF4IHtcclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxyXG4gIC8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xyXG4gIEBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcclxuICAgICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcclxuICBcclxuICAgIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXHJcbiAgLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXHJcbiAgLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxyXG4gIEBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgXHJcbiAgICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xyXG4gICAgJHByZXYta2V5OiBudWxsO1xyXG4gICAgJHByZXYtbnVtOiBudWxsO1xyXG4gICAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcclxuICAgICAgQGlmICRwcmV2LW51bSA9PSBudWxsIHtcclxuICAgICAgICAvLyBEbyBub3RoaW5nXHJcbiAgICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XHJcbiAgICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcclxuICAgICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XHJcbiAgICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XHJcbiAgICAgIH1cclxuICAgICAgJHByZXYta2V5OiAka2V5O1xyXG4gICAgICAkcHJldi1udW06ICRudW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIC8vIFN0YXJ0cyBhdCB6ZXJvXHJcbiAgLy8gQW5vdGhlciBncmlkIG1peGluIHRoYXQgZW5zdXJlcyB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cclxuICBAbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwKSB7XHJcbiAgICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xyXG4gICAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XHJcbiAgICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xyXG4gICAgICBAd2FybiBcIkZpcnN0IGJyZWFrcG9pbnQgaW4gYCRncmlkLWJyZWFrcG9pbnRzYCBtdXN0IHN0YXJ0IGF0IDAsIGJ1dCBzdGFydHMgYXQgI3skZmlyc3QtdmFsdWV9LlwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XHJcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMpO1xyXG5cclxuQG1peGluIG1ha2Utcm93KCkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbi1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIC0yKTtcclxuICAgIG1hcmdpbi1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xyXG59XHJcblxyXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcclxuICAgIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcclxuICAgIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogMXB4OyAvLyBQcmV2ZW50IGNvbGxhcHNpbmdcclxuICAgIHBhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS11aS1ndXR0ZXItYmFzZSkgLyAyKTtcclxuICAgIHBhZGRpbmctbGVmdDpjYWxjKHZhcigtLXVpLWd1dHRlci1iYXNlKSAvIDIpO1xyXG59XHJcblxyXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XHJcbiAgICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTsgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XHJcbiAgICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcclxuICAgIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxyXG4gICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xyXG59XHJcblxyXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xyXG4gICAgJG51bTogJHNpemUgLyAkY29sdW1ucztcclxuICAgIG1hcmdpbi1sZWZ0OiBpZigkbnVtPT0wLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcclxufVxyXG5cclxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcclxuICAgICVncmlkLWNvbHVtbiB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS11aS1ndXR0ZXItYmFzZSkgLyAyKTtcclxuICAgICAgcGFkZGluZy1sZWZ0OmNhbGModmFyKC0tdWktZ3V0dGVyLWJhc2UpIC8gMik7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcclxuICAgICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xyXG4gIFxyXG4gICAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xyXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcclxuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcclxuICAgICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuY29sI3skaW5maXh9LFxyXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xyXG4gICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xyXG4gICAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXHJcbiAgICAgICAgLmNvbCN7JGluZml4fSB7XHJcbiAgICAgICAgICBmbGV4LWJhc2lzOiAwO1xyXG4gICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xyXG4gICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgIG1heC13aWR0aDogbm9uZTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXHJcbiAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xyXG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxyXG4gIFxyXG4gICAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxyXG4gIFxyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xyXG4gICAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XHJcbiAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xyXG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcclxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9IiwiLnBhbmVsLWZhcSB7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAucGFuZWwge1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICYtdGl0bGV7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJ0bCB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1ib2R5LFxyXG4gICAgICAgICYtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1ib2R5IHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zaXRlLXRleHQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXNpdGUtdGV4dC1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIC5wYW5lbC10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oNSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtaDUpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWg1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmLmlzLW9wZW4ge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXBhbmVsLWJvcmRlci1kaXZpZGVyLWNvbG9yKSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtYWNjb3JkaW9ue1xyXG4gICAgICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTJ4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIlxyXG4uc2hvdy1hbGwtYnRuIHtcclxuICAgIG1hcmdpbjogMjRweCAwcHggMHB4IDBweDsgICAgIFxyXG4gICAgLnNob3ctYWxsIHtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XHJcbiAgICB9XHJcbn1cclxuLnByb2R1Y3QtYmlsbGluZy1zd2l0Y2hlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pO1xyXG4gICAgLmJ0bi1ncm91cCB7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIHBhZGRpbmc6IDJweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11aS1oZWlnaHQtYmFzZSk7XHJcbiAgICAgICAgPiAuYnRuIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdWktaGVpZ2h0LWJhc2UpIWltcG9ydGFudDtcclxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1wcmltYXJ5LWZhZGVkLWJnKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLXByaW1hcnktZmFkZWQtYm9yZGVyKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1mYWRlZC1jb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLXByaW1hcnktYmcpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1ib3JkZXIpO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy1iYXNlKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1jb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKyAuYnRuIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnNlY3Rpb24tdGl0bGUgKyAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIHtcclxuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc2l0ZS1zZWN0aW9uLXRpdGxlLW1hcmdpbi1ib3R0b20pIC8gLTIpO1xyXG59XHJcbi5zZWN0aW9uLXByaW1hcnksXHJcbi5zZWN0aW9uLXNlY29uZGFyeSB7XHJcbiAgICAucHJvZHVjdC1iaWxsaW5nLXN3aXRjaGVyIHtcclxuICAgICAgICAuYnRuLWdyb3VwIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tbGlnaHQtYm9yZGVyKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLWxpZ2h0LWJnKTtcclxuICAgICAgICAgICAgPiAuYnRuIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1idG4tbGlnaHQtY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tbGlnaHQtYmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLXByaW1hcnktZmFkZWQtYmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLXByaW1hcnktZmFkZWQtYm9yZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93LWJhc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1mYWRlZC1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLWxpZ2h0LWJvcmRlcik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1saWdodC1iZyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1idG4tbGlnaHQtY29sb3IpO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IHZhcigtLWRyb3Bkb3duLW1pbi13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kcm9wZG93bi1pdGVtIHtcclxuICAgICAgICAgICAgZmxleDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgcGFkZGluZyB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIucm93LXByaWNpbmctdGFibGUge1xyXG4gICAgLnBhbmVsLXBhY2thZ2Uge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICBib3JkZXI6IG5vbmU7ICAgICAgICBcclxuICAgICAgICAucGFja2FnZS1oZWFkZXJ7XHJcbiAgICAgICAgICAgIGg0IHtcclxuICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgLmxtLWNoZWNrIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYucHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaWRlYmFyIHtcclxuICAgICAgICAuaGVhZGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LCAwLjA1KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtYmFzZSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbGlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhY2thZ2UtaGVhZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctc20pO1xyXG4gICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdWktYmxvY2stZGl2aWRlci1jb2xvcik7XHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIubG9nb3Mge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgLmxvZ28ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogMjQwcHg7XHJcbiAgICAgICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1zbSk7XHJcbiAgICAgICAgPiBpbWcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmJyb3dzZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1ibG9jay1iZyk7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWJhc2UpO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGJveC1zaGFkb3c6IHZhcigtLXN2Zy1ncmFwaGljLXNoYWRvdyk7XHJcbiAgICAmLXRvcCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXVpLWJsb2NrLXBhZGRpbmctc20pO1xyXG4gICAgICAgICY6bm90KC5icm93c2VyLXRvcC10cmFuc3BhcmVudCkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdmctZ3JhcGhpYy1iZy1icm93c2VyLXRvcCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgICYtYWN0aW9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgICAgICAgICAgICBcclxuICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdmctZ3JhcGhpYy1iZy1icm93c2VyLWFjdGlvbnMpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlOyAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi1ib2R5IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgLy9oZWlnaHQ6IDMxMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctc20pO1xyXG4gICAgfVxyXG4gICAgJi1zbSB7XHJcbiAgICAgICAgd2lkdGg6IDQ0NnB4O1xyXG4gICAgICAgIC5icm93c2VyLXRvcCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjaW5nLTF4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLW1kIHtcclxuICAgICAgICB3aWR0aDogNTYwcHg7XHJcbiAgICB9XHJcbiAgICAuc3ZnLWdyYXBoaWMge1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7IFxyXG4gICAgICAgICAgICBoZWlnaHQ6IDMxNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtZ29vZ2xle1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvdmVyZmxvdzogdW5zZXQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgICAgPiBzdmd7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID5kaXZ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnF1b3Rle1xyXG4gICAgICAgICAgICB0b3A6LTEzLjVweDtcclxuICAgICAgICAgICAgcmlnaHQ6MjhweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnB1enpsZXtcclxuICAgICAgICAgICAgYm90dG9tOiAtMTlweDtcclxuICAgICAgICAgICAgcmlnaHQ6IC0xOXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJyb3dzZXItc3NsIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgLmJyb3dzZXItYm9keSB7XHJcbiAgICAgICAgIGhlaWdodDogNDQwcHg7ICAgXHJcbiAgICB9XHJcbn1cclxuLmJyb3dzZXItbGcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDgzMnB4O1xyXG4gICAgcGFkZGluZzogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWJsb2NrLWJnKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWJsb2NrLWJvcmRlci1yYWRpdXMtbGcpO1xyXG4gICAgLmJyb3dzZXItdG9wIHtcclxuICAgICAgICBwYWRkaW5nOiAycHggMCAxMHB4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmJyb3dzZXItYWN0aW9ucyB7XHJcbiAgICAgICAgQGluY2x1ZGUgbHRyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBydGwge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiBzcGFuIHsgICAgICAgICAgICBcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTJweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTF4KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3ZnLWdyYXBoaWMtYmctYnJvd3Nlci1hY3Rpb25zKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnJvd3Nlci1zZWFyY2hiYXIge1xyXG4gICAgICAgIGhlaWdodDogMjhweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdmctZ3JhcGhpYy1iZy1mYWRlZCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XHRcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgfSAgXHJcbiAgICAuYnJvd3Nlci1ib2R5IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAuYnJvd3Nlci1ub3RpY2Uge1xyXG4gICAgICAgIG1heC13aWR0aDogNDU2cHg7XHJcbiAgICAgICAgcGFkZGluZzogMHB4IDEycHg7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJhc2UpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJyb3dzZXItaW1hZ2Uge1xyXG4gICAgICAgIG1hcmdpbjogLTQwcHggMCA0MHB4IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnJvd3Nlci16b29tIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAuYnJvd3Nlci1pbWctem9vbSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICYsXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMSwgMCwgMSwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1wcmltYXJ5LWdyYWRpZW50LXYpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5LWhlYWRpbmctY29sb3IpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDY0cHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNnB4KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDEsIDAsIDEsIDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5icm93c2VyLWltZy16b29tIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4mLnNpdGUtc3BhbWV4cGVydHMge1xyXG4gICAgLmJyb3dzZXItc20ge1xyXG4gICAgICAgIGhlaWdodDogMjY2cHg7XHJcbiAgICAgICAgLmJyb3dzZXItYm9keSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmRvbWFpbi10bGRzIHtcclxuICAgICBtYXJnaW46IHZhcigtLXNpdGUtc2VjdGlvbi1zcGFjaW5nKSAwIDAgMDtcclxuICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAmID4gKiB7XHJcbiAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XHJcbiAgICAgICAgIG1heC13aWR0aDogMjQwcHg7XHJcbiAgICAgfVxyXG4gICAgIC5kb21haW4tdGxkIHtcclxuICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsZyk7XHJcbiAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC14bGcpO1xyXG4gICAgICAgICAudGxkLXByaWNlIHtcclxuICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1saWdodCk7XHJcbiAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1saWdodGVyLWNvbG9yKTtcclxuICAgICAgICAgfVxyXG4gICAgICAgICAudGxkLW5hbWUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGx0ciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMngpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJ0bCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0yeCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgID4gc3BhbiB7IFxyXG4gICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgICAgICAgfVxyXG4gICAgICAgICB9XHJcbiAgICAgfVxyXG4gICAgICYgPiAqOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIEBpbmNsdWRlIGx0ciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBydGwge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICB9XHJcbn0gXHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24gKG1kKSB7XHJcbiAgICAuc2l0ZS5zaXRlLWluZGV4IHtcclxuICAgICAgICAuZG9tYWluLXRsZHMgLmNvbC1zbSxcclxuICAgICAgICAuZG9tYWluLXRsZHMgPip7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xyXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcclxuICAgICAuZG9tYWluLXRsZHMge1xyXG4gICAgICAgICBtYXJnaW46IDAgLTRweDtcclxuICAgICAgICAgJiA+ICoge1xyXG4gICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XHJcbiAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XHJcbiAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lIWltcG9ydGFudDtcclxuICAgICAgICAgfVxyXG4gICAgICAgICAuZG9tYWluLXRsZCB7ICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xeCk7XHJcbiAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmF5LWxpZ2h0ZXItNCk7XHJcbiAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWJhc2UpO1xyXG4gICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhKG1heC13aWR0aDogNTIwcHgpIHtcclxuICAgIC5kb21haW4tdGxkcyB7XHJcbiAgICAgICAgJiA+ICoge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcclxuICAgIC5zaXRlLnNpdGUtaW5kZXgge1xyXG4gICAgICAgIC5kb21haW4tdGxkcyAuY29sLXNtLFxyXG4gICAgICAgIC5kb21haW4tdGxkcz4qe1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH0gIFxyXG4gICAgICAgIC5kb21haW4tdGxkcyB7XHJcbiAgICAgICAgICAgIC5kb21haW4tdGxkIHtcclxuICAgICAgICAgICAgICAgIC50bGQtbmFtZSxcclxuICAgICAgICAgICAgICAgIC50bGQtcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC50bGQtcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmNvbnRlbnQtc2xpZGVyIHtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy9vdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgJi13cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgJi1pdGVtIHtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tdWktYmxvY2stcGFkZGluZy1iYXNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWltZ3tcclxuICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy1sZyk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNzY4cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCB2YXIoLS1zcGFjaW5nLTJ4KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCl7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDY2NHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKXtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTF4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCl7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59ICAgIFxyXG4udGVzdGltb25pYWxzIHtcclxuICAgICYtaXRlbSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdWktYmxvY2stYmcpO1xyXG4gICAgICAgIGJvcmRlcjogdmFyKC0tdWktYmxvY2stYm9yZGVyKTtcclxuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS11aS1ibG9jay1zaGFkb3cpO1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmctYmFzZSk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiB1bnNldDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11aS1ibG9jay1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICB9XHJcbiAgICAmLWRlc2Mge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpO1xyXG4gICAgICAgID4gcDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGxnKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhsZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi1kZXRhaWxzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l0ZS10ZXh0LXNtLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgJi1hdmF0YXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGx0cntcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBydGx7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6IDY0cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA2NHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDhweDtcclxuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgICByaWdodDogLTE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi1hdXRob3Ige1xyXG4gICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nLWNvbG9yKTtcclxuICAgICAgICAgICAgLy9mb250LXNpemU6IG1hcC1nZXQoJHNpdGUtZm9udC1zaXplLCBcIm1lZGl1bVwiKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93biAobWQpIHtcclxuICAgIC50ZXN0aW1vbmlhbHMucm93IHtcclxuICAgICAgICAudGVzdGltb25pYWxzLWl0ZW0ge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLWxnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zbGlkZXIge1xyXG4gICAgLnRlc3RpbW9uaWFscy1pdGVtIHtcclxuICAgICAgICBtaW4td2lkdGg6IDM0MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMHB4IDEycHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLmNoZWNrLWZlYXR1cmVzIHtcclxuICAgIG1hcmdpbi10b3A6IHZhcigtLXVpLWJsb2NrLXNwYWNpbmcteHhsZyk7XHJcbiAgICA+ICoge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcclxuICAgIH1cclxuICAgIC5sbS1jaGVjayB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS11aS1ibG9jay1wYWRkaW5nLWJhc2UpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xyXG4gICAgfVxyXG59XHJcbi5wYWNrYWdlLWdldC1zdGFydGVkIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXBhY2thZ2UtYmcpO1xyXG4gICAgYm9yZGVyOiB2YXIoLS1wYWNrYWdlLWJvcmRlcik7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1wYWNrYWdlLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgYm94LXNoYWRvdzogdmFyKC0tcGFja2FnZS1ibG9jay1zaGFkb3cpO1xyXG4gICAgcGFkZGluZzogdmFyKC0tcGFja2FnZS1wYWRkaW5nKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICAmLWNvbnRlbnQge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICAgICYtc3VtbWFyeSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tdWktYmxvY2stc3BhY2luZy1sZyk7XHJcbiAgICB9XHJcbiAgICAuYWRkaXRpb25hbC1vcHRpb25zIC5vcHRpb246bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAucHJpY2U6bm90KDpudGgtY2hpbGQoMykpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLmNob29zZS1wcm9kdWN0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLWxnKTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWJhc2UpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm90bi1zaXplLW1kKTtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1iYXNlKTsgXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsdHIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0yeCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTJ4KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpOyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmctbGcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjRweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjRweDtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNjRweDtcclxuICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zdmctaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLWxnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XHJcbiAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuZW1lcmdlbmN5LXByb21vIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IHZhcigtLXVpLWJsb2NrLXBhZGRpbmcteGxnKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhsZyk7XHJcbiAgICAmLXRpdGxlIHtcclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLWJhbm5lciB7ICAgICAgICBcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgY29sb3I6ICB2YXIoLS1icmFuZC1wcmltYXJ5KTtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS11aS1ibG9jay1zcGFjaW5nLWxnKTtcclxuICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgIC5lbWVyZ2VuY3ktcHJvbW8ge1xyXG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtMjBweDtcclxuICAgICAgICAgICAgbGVmdDogMHB4O1xyXG4gICAgICAgICAgICByaWdodDogMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHggMjBweDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTsgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteGxnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5zZWN0aW9uLXNzbC11cGdyYWRlIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgLmJyb3dzZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICYtdG9wIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5zc2wtdXBncmFkZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAtNjRweDtcclxuICAgIHBhZGRpbmc6IDEwMHB4IDA7XHJcbiAgICAuc2VjdGlvbi10aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tdWktYmxvY2stc3BhY2luZy14bGcpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXVpLWJsb2NrLXNwYWNpbmcteGxnKTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbGlnaHQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIH1cclxufVxyXG4uc2VjdGlvbi1zZWNvbmRhcnkge1xyXG4gICAgJi5zZWN0aW9uLXNzbC11cGdyYWRlIHtcclxuICAgICAgICAuc3NsLXVwZ3JhZGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04eCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiXHJcblxyXG5cclxuLm1vZGFsLXJlc3VsdHN7XHJcbiAgICAucmVzdWx0e1xyXG4gICAgICAgICYtbmVnYXRpdmV7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLXBvc2l0aXZle1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1zdWNjZXNzLWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1jb25jZXJue1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC13YXJuaW5nLWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy9jdXN0b20gc3R5bGVzIDIuMS4zXHJcbiYuc2l0ZS1ub3JkdnBuIHtcclxuLy9UV0VOVFktT05FIHN0eWxlcyBbc3RvcmUuY3NzXVxyXG5cclxuLmltZy1vdmVybGFwe1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEwMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29tcGFyaXNvbiB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0yOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTIge1xyXG4gICAgbWluLWhlaWdodDogNHJlbTtcclxuICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTEyOmZpcnN0LW9mLXR5cGUgLmNvbC0yIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEuNXJlbTtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTEyOm50aC1vZi10eXBlKDcpIC5jb2wtMjpub3QoOm50aC1vZi10eXBlKDIpKSxcclxuLmNvbXBhcmlzb24gLmNvbC0xMjpsYXN0LW9mLXR5cGUgLmNvbC0yOm50aC1vZi10eXBlKDIpe1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMTI6Zmlyc3Qtb2YtdHlwZSAuY29sLTI6bm90KDpudGgtb2YtdHlwZSgyKSksXHJcbi5jb21wYXJpc29uIC5jb2wtMTI6bGFzdC1vZi10eXBlIC5jb2wtMjpub3QoOm50aC1vZi10eXBlKDIpKSB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0xMjpudGgtb2YtdHlwZSgyKSAuY29sLTI6bnRoLW9mLXR5cGUoMiksXHJcbi5jb21wYXJpc29uIC5jb2wtMTI6bGFzdC1vZi10eXBlIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XHJcbiAgICBib3JkZXItdG9wOiBub25lO1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMjpmaXJzdC1vZi10eXBlIHtcclxuICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTI6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOm50aC1vZi10eXBlKDIpKSB7XHJcbiAgICBib3JkZXItbGVmdDogbm9uZTtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTEyOm50aC1vZi10eXBlKDIpIC5jb2wtMjpmaXJzdC1vZi10eXBlIHtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTEyOm50aC1vZi10eXBlKDcpIC5jb2wtMjpmaXJzdC1vZi10eXBlIHtcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTEyOm50aC1vZi10eXBlKDIpIC5jb2wtMjpsYXN0LW9mLXR5cGUge1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTEyOm50aC1vZi10eXBlKDcpIC5jb2wtMjpsYXN0LW9mLXR5cGUge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTEyOmZpcnN0LW9mLXR5cGUgLmNvbC0yOm50aC1vZi10eXBlKDIpIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMTI6bGFzdC1vZi10eXBlIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuLmNvbXBhcmlzb24gLmNvbC0xMiAuY29sLTI6bnRoLW9mLXR5cGUoMikge1xyXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xyXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWluZm8tbGlnaHRlci0zKTtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTEyOmZpcnN0LW9mLXR5cGUgLmNvbC0yOm50aC1vZi10eXBlKDIpIHtcclxuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xyXG59XHJcbi5jb21wYXJpc29uIC5jb2wtMTI6bGFzdC1vZi10eXBlIC5jb2wtMjpudGgtb2YtdHlwZSgyKSB7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTtcclxufVxyXG4uY29tcGFyaXNvbiAuY29sLTIgc3BhbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG4uY29tcGFyaXNvbiAuYnRuLWdldC1kZWFsIHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1kYW5nZXIpO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5jb21wYXJpc29uLWNvbnRhaW5lciB7XHJcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xyXG59XHJcbi5jb21wYXJpc29uLWNvbnRhaW5lciA+IC5yb3cge1xyXG4gICAgbWluLXdpZHRoOiAxMTEwcHg7XHJcbn1cclxuXHJcbi5jb21wYXJpc2lvbi1pbWFnZXMgaW1nIHtcclxuICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcclxufVxyXG5cclxuICAgIC8vIENVU1RPTSBTVFlMRVNcclxuICAgIC5yb3cge1xyXG4gICAgICAgICYtY3VzdG9tIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7ICBcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMngpOyAgXHJcbiAgICAgICAgICAgICAgICBnYXA6IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1jb250ZW50IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy05eCk7XHJcbiAgICAgICAgICAgICYtbGcge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc2l0ZS1zZWN0aW9uLXBhZGRpbmctdik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHsgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy02eCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmg1IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1iYXNlKSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2wtc20tMTIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZlYXR1cmUge1xyXG4gICAgICAgICYtaWNvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0zeCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1iYXNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFja2FnZXMtY3VzdG9tIHtcclxuICAgICAgICAucGFja2FnZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogbWF4LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICYtYm9keSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaWNvbnMtbmV0d29yayB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgIC5jb250ZW50LXNsaWRlci13cmFwcGVyIHtcclxuICAgICAgICBnYXA6IDQwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vdGVtcFxyXG4uc2VjdGlvbi1jb250ZW50LWN1c3RvbSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHsgICAgXHJcbiAgICAgICAgLnJvdy1jdXN0b206bnRoLW9mLXR5cGUoMikge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbiYuc2l0ZS1ub3JkdnBuIHtcclxuICAgIC5pY29ucy1uZXR3b3JrIHtcclxuICAgICAgICAuY29udGVudC1zbGlkZXItd3JhcHBlciB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiYuc2l0ZS1zb2NpYWxiZWUge1xyXG4gICAgLnByaWNpbmctdGFibGUtY29udGFpbmVyIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgIH1cclxuICAgIC5wcmljaW5nLXRhYmxlIHtcclxuICAgICAgd2lkdGg6IDEyNDhweDtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICZfX2hlYWRlci1yb3cge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYXktbGlnaHRlci00KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtYmFzZSk7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgfVxyXG4gICAgICAmX19jZWxsIHtcclxuICAgICAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbWQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYmFzZSk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtYm9keS1jb2xvcik7XHJcbiAgICAgICAgJi5wcmljaW5nLXRhYmxlX19oZWFkZXItY2VsbC5wcmljaW5nLXRhYmxlX19mZWF0dXJlLWhlYWRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1wcmltYXJ5KTtcclxuICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJhc2UpO1xyXG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wcmljaW5nLXRhYmxlX19oZWFkZXItY2VsbC5wcmljaW5nLXRhYmxlX19wbGFuLWhlYWRlciB7XHJcbiAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1oZWFkaW5nLWNvbG9yKTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1iYXNlKTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICZfX2hlYWRlci1jZWxsIHtcclxuICAgICAgICBwYWRkaW5nOiAyNHB4IDA7XHJcbiAgICAgIH1cclxuICAgICAgJl9fcm93IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWJhc2UpO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1wcmltYXJ5LWxpZ2h0ZXItNCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICZfX3Jvdy1hY3Rpb25zIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICAgICZfX2ZlYXR1cmUtbmFtZSB7XHJcbiAgICAgICAgZmxleDogMS41O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tZCk7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWhlYWRpbmctY29sb3IpO1xyXG4gICAgICB9XHJcbiAgICAgICZfX2ZlYXR1cmUtaGVhZGVyIHtcclxuICAgICAgICBmbGV4OiAxLjU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgIiwiJi5zaXRlLW1hcmtldGdvb3tcclxuICAgIC5zZWN0aW9uLXZpZGVvIHtcclxuICAgICAgICAuZW1iZWQtcmVzcG9uc2l2ZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzNSU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNzAycHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAmLnNpdGUtbWFya2V0Z29vIHtcclxuICAgICAgICAuc2l0ZS1iYW5uZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOTJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlY3Rpb24tc3RlcHMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtOTJweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAmICsgLnNpdGUtc2VjdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcclxuICAgICYuc2l0ZS1tYXJrZXRnb28ge1xyXG4gICAgICAgIC5zZWN0aW9uLXZpZGVvIHtcclxuICAgICAgICAgICAgLmVtYmVkLXJlc3BvbnNpdmUge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MzRweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyNTRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWVkaWEobWF4LXdpZHRoOiA0NTlweCkge1xyXG4gICAgJi5zaXRlLW1hcmtldGdvbyB7XHJcbiAgICAgICAgLnNlY3Rpb24tdmlkZW8ge1xyXG4gICAgICAgICAgICAuZW1iZWQtcmVzcG9uc2l2ZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMyOHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE5NHB4O1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2xpZGVyIHtcclxuICAgICAgICAgICAgLnRlc3RpbW9uaWFscy1pdGVtIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGlkZXIge1xyXG4gICAgICAgIC50ZXN0aW1vbmlhbHMtaXRlbSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyNHB4IWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuc2VjdGlvbi10ZW1wbGF0ZXMge1xyXG4gICAgLnRlbXBsYXRlc3sgXHJcbiAgICAgICAgLm5hdntcclxuICAgICAgICAgICAgJi5uYXYtdGFic3tcclxuICAgICAgICAgICAgICAgIGxpe1xyXG4gICAgICAgICAgICAgICAgICAgIGEuYWN0aXZle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJvd3tcclxuICAgICAgICAgICAgJiArIC5yb3d7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTl4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJldmlld3N7XHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhcigtLXByZXZpZXdzLWltZy1oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50eXBlLWxhYmVse1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudHBsbmFtZXtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yeCk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbGlnaHRlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRodW1iLXdyYXBwZXJ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3cteGxnKTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTJ4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2hvdy1tb3JlLWJ0bntcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tc3BhY2luZy04eCkgYXV0byAwO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNob3ctbW9yZS1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJyYW5kLXByaW1hcnktZGFya2VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuJi5zaXRlLXdwLXRvb2xraXR7XHJcbiAgICAuc2l0ZS1iYW5uZXJ7XHJcbiAgICAgICAgLmJhbm5lci1pbWd7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIwJTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy05eCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYW5uZXItbG9nb3tcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNjRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhbm5lci1kZXNje1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaXRlLXNlY3Rpb257XHJcbiAgICAgICAgLnNjcmVlbnNob3Rze1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0zeCkpO1xyXG4gICAgICAgICAgICAuc2NyZWVuc2hvdC10aHVtYntcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTF4KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyYXktbGlnaHRlci00KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0zeCk7XHJcbiAgICAgICAgICAgICAgICAmID4gaW1ne1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLm92ZXJsYXl7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcclxuICAgICAgICAgICAgICAgICAgICAmID4gaW1ne1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgICAgICAub3ZlcmxheXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xyXG4gICAgJi5zaXRlLXdwLXRvb2xraXR7XHJcbiAgICAgICAgLnNpdGUtYmFubmVye1xyXG4gICAgICAgICAgICAuYmFubmVyLWxvZ297XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2luZy0xeCkpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbHRye1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTJ4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJ0bHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMngpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5iYW5uZXItZGVzY3tcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMXgpO1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==*/