/* 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. */
.error-page .alert-primary .container {
  flex-direction: row; }

.error-page .custom-alerts {
  margin-right: auto;
  margin-left: auto; }
  .error-page .custom-alerts .clientAlert {
    width: 100%; }
  @media (min-width: 480px) {
    .error-page .custom-alerts {
      max-width: 540px; } }
  @media (max-width: 767.98px) {
    .error-page .custom-alerts {
      padding-left: var(--layout-container-gutter);
      padding-right: var(--layout-container-gutter); } }
  @media (min-width: 768px) {
    .error-page .custom-alerts {
      width: 100%;
      max-width: calc(var(--layout-container-gutter) + var(--container-xl-max-width));
      padding-left: var(--layout-container-gutter);
      padding-right: var(--layout-container-gutter); } }

.alert.alert-primary .modal-body span[style^="font-weight: 700"],
.alert.alert-primary .modal-body b,
.alert.alert-primary .modal-body strong,
.alert.alert-primary .alert-body span[style^="font-weight: 700"],
.alert.alert-primary .alert-body b,
.alert.alert-primary .alert-body strong,
.clientAlertModal .modal-body span[style^="font-weight: 700"],
.clientAlertModal .modal-body b,
.clientAlertModal .modal-body strong,
.clientAlertModal .alert-body span[style^="font-weight: 700"],
.clientAlertModal .alert-body b,
.clientAlertModal .alert-body strong {
  color: var(--gray-darker); }

.alert.alert-primary.modal-success .alert-icon:before,
.clientAlertModal.modal-success .alert-icon:before {
  color: var(--brandd-success); }

.alert.alert-primary.modal-info .alert-icon:before,
.clientAlertModal.modal-info .alert-icon:before {
  color: var(--brand-primary); }

.alert.alert-primary.modal-danger .alert-icon:before,
.clientAlertModal.modal-danger .alert-icon:before {
  color: var(--brand-danger); }

.alert.alert-primary.modal-warning .alert-icon:before,
.clientAlertModal.modal-warning .alert-icon:before {
  color: var(--brand-warning); }

.alert.alert-primary.modal-default .alert-icon:before,
.clientAlertModal.modal-default .alert-icon:before {
  color: var(--gray-icons); }

.alert.alert-primary .modal-header.modal-header-no-icon .modal-title .alert-icon,
.clientAlertModal .modal-header.modal-header-no-icon .modal-title .alert-icon {
  display: none; }

.alert.alert-primary .modal-content .close.close-oncontent,
.clientAlertModal .modal-content .close.close-oncontent {
  padding: var(--modal-btn-close-padding);
  z-index: 1;
  right: 28px;
  top: 16px; }
  .alert.alert-primary .modal-content .close.close-oncontent > span,
  .clientAlertModal .modal-content .close.close-oncontent > span {
    padding-bottom: 4px; }
  .alert.alert-primary .modal-content .close.close-oncontent i,
  .clientAlertModal .modal-content .close.close-oncontent i {
    font-size: 14px !important; }

.alert.alert-primary .modal-title,
.clientAlertModal .modal-title {
  padding-right: var(--spacing-4x); }
  .alert.alert-primary .modal-title.modal-title-icon-replaced:before,
  .clientAlertModal .modal-title.modal-title-icon-replaced:before {
    display: none; }
  .alert.alert-primary .modal-title.modal-title-icon-replaced .alert-icon,
  .clientAlertModal .modal-title.modal-title-icon-replaced .alert-icon {
    margin-right: var(--spacing-2x); }

.alert.alert-primary .btn.btn-link,
.clientAlertModal .btn.btn-link {
  background: transparent;
  border-color: transparent; }
  .alert.alert-primary .btn.btn-link:hover,
  .clientAlertModal .btn.btn-link:hover {
    background: transparent;
    border-color: transparent; }
  .alert.alert-primary .btn.btn-link.btn-secondary,
  .clientAlertModal .btn.btn-link.btn-secondary {
    color: var(--btn-primary-faded-color); }
    .alert.alert-primary .btn.btn-link.btn-secondary:hover,
    .clientAlertModal .btn.btn-link.btn-secondary:hover {
      color: var(--btn-primary-faded-hover-color); }
  .alert.alert-primary .btn.btn-link.btn-default,
  .clientAlertModal .btn.btn-link.btn-default {
    color: var(--btn-default-color); }
    .alert.alert-primary .btn.btn-link.btn-default:hover,
    .clientAlertModal .btn.btn-link.btn-default:hover {
      color: var(--btn-default-hover-color); }
  .alert.alert-primary .btn.btn-link.btn-info,
  .clientAlertModal .btn.btn-link.btn-info {
    color: var(--btn-info-color); }
    .alert.alert-primary .btn.btn-link.btn-info:hover,
    .clientAlertModal .btn.btn-link.btn-info:hover {
      color: var(--btn-info-hover-color); }
  .alert.alert-primary .btn.btn-link.btn-success,
  .clientAlertModal .btn.btn-link.btn-success {
    color: var(--btn-success-color); }
    .alert.alert-primary .btn.btn-link.btn-success:hover,
    .clientAlertModal .btn.btn-link.btn-success:hover {
      color: var(--btn-success-hover-color); }
  .alert.alert-primary .btn.btn-link.btn-danger,
  .clientAlertModal .btn.btn-link.btn-danger {
    color: var(--btn-danger-color); }
    .alert.alert-primary .btn.btn-link.btn-danger:hover,
    .clientAlertModal .btn.btn-link.btn-danger:hover {
      color: var(--btn-danger-hover-color); }
  .alert.alert-primary .btn.btn-link.btn-warning,
  .clientAlertModal .btn.btn-link.btn-warning {
    color: var(--btn-warning-color); }
    .alert.alert-primary .btn.btn-link.btn-warning:hover,
    .clientAlertModal .btn.btn-link.btn-warning:hover {
      color: var(--btn-warning-hover-color); }

.alert.alert-primary .modal-footer,
.clientAlertModal .modal-footer {
  flex-wrap: wrap-reverse; }
  .alert.alert-primary .modal-footer .alert-buttons,
  .clientAlertModal .modal-footer .alert-buttons {
    padding-left: 0; }
    .alert.alert-primary .modal-footer .alert-buttons > .btn:not(:last-of-type),
    .clientAlertModal .modal-footer .alert-buttons > .btn:not(:last-of-type) {
      margin-right: var(--modal-footer-margin-between);
      margin-left: 0; }
  .alert.alert-primary .modal-footer.footer-has-checkbox.justify-content-center,
  .clientAlertModal .modal-footer.footer-has-checkbox.justify-content-center {
    flex-direction: column; }
    .alert.alert-primary .modal-footer.footer-has-checkbox.justify-content-center .checkbox,
    .clientAlertModal .modal-footer.footer-has-checkbox.justify-content-center .checkbox {
      margin: var(--spacing-3x) auto 0 auto !important; }
  .alert.alert-primary .modal-footer.footer-has-checkbox.justify-content-end,
  .clientAlertModal .modal-footer.footer-has-checkbox.justify-content-end {
    flex-direction: row-reverse; }
    .alert.alert-primary .modal-footer.footer-has-checkbox.justify-content-end .checkbox,
    .clientAlertModal .modal-footer.footer-has-checkbox.justify-content-end .checkbox {
      margin-left: 0 !important;
      margin-right: auto !important; }

.alert-primary {
  background: var(--ui-block-bg); }
  .alert-primary .alert-body p {
    color: var(--text-body-color) !important; }
  @media (max-width: 767.98px) {
    .alert-primary .alert-body {
      align-self: auto; } }

.app-main > .main-body > .container .custom-alerts .clientAlert > .container,
.app-main > .main-body > .container-fluid .custom-alerts .clientAlert > .container {
  display: flex;
  padding-left: 0 !important;
  padding-right: 0 !important; }

.app-main > .main-body > .container .custom-alerts .alert:not(:last-child),
.app-main > .main-body > .container-fluid .custom-alerts .alert:not(:last-child) {
  margin-bottom: 0; }

.app-main > .main-body > .container .custom-alerts .alert + .alert:not(:first-child),
.app-main > .main-body > .container-fluid .custom-alerts .alert + .alert:not(:first-child) {
  margin-top: var(--spacing-2x); }

.login-body > .custom-alerts .clientAlert > .container {
  display: flex;
  flex-direction: row;
  padding-left: 0 !important;
  padding-right: 0 !important; }

.login:not(.login-lg) .custom-alerts .clientAlert > .container .alert-content {
  flex-direction: column;
  align-self: flex-start; }
  .login:not(.login-lg) .custom-alerts .clientAlert > .container .alert-content .alert-body {
    align-self: flex-start; }
  .login:not(.login-lg) .custom-alerts .clientAlert > .container .alert-content .alert-actions {
    width: 100%;
    padding: var(--spacing-1x) 0 0 0; }
    .login:not(.login-lg) .custom-alerts .clientAlert > .container .alert-content .alert-actions .btn {
      margin-top: var(--spacing-1x); }

.app-main > .custom-alerts .alert-primary {
  margin-bottom: 0;
  border-radius: 0;
  box-shadow: none;
  padding-left: 0;
  padding-right: 0;
  border-bottom: 1px solid var(--ui-block-divider-color); }
  .app-main > .custom-alerts .alert-primary > .container {
    display: flex; }
  .app-main > .custom-alerts .alert-primary.alert-dismissible {
    padding-right: 0 !important; }
    @media (max-width: 767.98px) {
      .app-main > .custom-alerts .alert-primary.alert-dismissible .alert-content {
        padding-right: var(--layout-container-gutter); } }
  .app-main > .custom-alerts .alert-primary:before {
    display: none; }

.app-main > .email-verification {
  padding-left: 0;
  padding-right: 0; }

.clientAlertModal.prevent-close.modal-static .modal-dialog {
  transform: none; }

.clientAlertModal .modal-content {
  overflow: hidden; }

.clientAlertModal .modal-graphic {
  display: flex;
  justify-content: center; }
  .clientAlertModal .modal-graphic .alert-custom-graphic-container {
    display: flex;
    justify-content: center;
    max-width: 100%;
    height: auto; }
    .clientAlertModal .modal-graphic .alert-custom-graphic-container svg,
    .clientAlertModal .modal-graphic .alert-custom-graphic-container img {
      max-width: 100%;
      height: auto; }
  .clientAlertModal .modal-graphic .alert-predefined-illustration-container, .clientAlertModal .modal-graphic .alert-predefined-icon-container {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    align-self: center;
    max-width: 100%; }
    .clientAlertModal .modal-graphic .alert-predefined-illustration-container:not(.promo-illustration), .clientAlertModal .modal-graphic .alert-predefined-icon-container:not(.promo-illustration) {
      margin-top: var(--spacing-3x); }
    .clientAlertModal .modal-graphic .alert-predefined-illustration-container .promo-illustration, .clientAlertModal .modal-graphic .alert-predefined-icon-container .promo-illustration {
      max-width: 340px;
      min-width: 340px;
      width: 340px;
      height: 300px; }
    .clientAlertModal .modal-graphic .alert-predefined-illustration-container .promo-slider-icon, .clientAlertModal .modal-graphic .alert-predefined-icon-container .promo-slider-icon {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 0px; }
  .clientAlertModal .modal-graphic .alert-predefined-icon-container {
    margin-top: var(--spacing-5x); }
  .clientAlertModal .modal-graphic.justify-content-start .alert-predefined-icon-container, .clientAlertModal .modal-graphic.justify-content-center .alert-predefined-icon-container {
    padding: 0 var(--spacing-3x); }
  .clientAlertModal .modal-graphic.justify-content-end .alert-predefined-icon-container {
    padding: 0 var(--spacing-8x) 0 var(--spacing-3x); }
  .clientAlertModal .modal-graphic .modal-predefined-background {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden; }

.clientAlertModal .modal-body {
  word-break: break-word; }
  .clientAlertModal .modal-body > p:last-of-type {
    margin-bottom: 0; }

.clientAlertModal.modal .modal-graphic {
  position: relative; }
  .clientAlertModal.modal .modal-graphic .modal-predefined-background > svg {
    position: absolute;
    right: -375px;
    top: 0;
    bottom: 0;
    height: 279px; }
  .clientAlertModal.modal .modal-graphic .alert-predefined-illustration-container.promo-illustration {
    min-width: 272px;
    max-width: 272px;
    height: 240px; }
    .clientAlertModal.modal .modal-graphic .alert-predefined-illustration-container.promo-illustration > svg {
      width: 272px; }

.clientAlertModal.modal-lg .modal-graphic .modal-predefined-background > svg {
  position: absolute;
  right: -478px;
  top: 0;
  bottom: 0;
  height: 355px; }

.clientAlertModal.modal-lg .modal-graphic .alert-predefined-illustration-container.promo-illustration {
  min-width: 340px;
  max-width: 340px;
  height: 300px; }
  .clientAlertModal.modal-lg .modal-graphic .alert-predefined-illustration-container.promo-illustration > svg {
    width: 340px; }

.clientAlertModal.modal-sm .modal-graphic .modal-predefined-background > svg {
  position: absolute;
  right: -260px;
  top: 0;
  bottom: 0;
  height: 192px; }

.clientAlertModal.modal-sm .modal-graphic .alert-predefined-illustration-container.promo-illustration {
  min-width: 180px;
  max-width: 180px;
  height: 159px; }
  .clientAlertModal.modal-sm .modal-graphic .alert-predefined-illustration-container.promo-illustration > svg {
    width: 180px; }

.clientAlertModal.modal-custom-icon .modal-graphic .alert-custom-graphic-container {
  margin-top: var(--spacing-3x);
  padding: 0 var(--spacing-3x) 0 var(--spacing-3x); }

.clientAlertModal.modal-custom-icon .modal-graphic.justify-content-end .alert-custom-graphic-container {
  padding: 0 var(--spacing-8x) 0 var(--spacing-3x); }

.clientAlert .alert-custom-image-container, .clientAlert .alert-predefined-icon-container, .clientAlert .alert-predefined-illustration-container {
  display: flex;
  position: relative;
  max-width: 160px;
  margin: 0 var(--spacing-2x) 0 0;
  align-self: baseline; }
  .clientAlert .alert-custom-image-container svg,
  .clientAlert .alert-custom-image-container img, .clientAlert .alert-predefined-icon-container svg,
  .clientAlert .alert-predefined-icon-container img, .clientAlert .alert-predefined-illustration-container svg,
  .clientAlert .alert-predefined-illustration-container img {
    max-width: 100%; }
  .clientAlert .alert-custom-image-container.promo-illustration, .clientAlert .alert-predefined-icon-container.promo-illustration, .clientAlert .alert-predefined-illustration-container.promo-illustration {
    min-width: 160px;
    height: 140px; }
    .clientAlert .alert-custom-image-container.promo-illustration .promo-slider-icon, .clientAlert .alert-predefined-icon-container.promo-illustration .promo-slider-icon, .clientAlert .alert-predefined-illustration-container.promo-illustration .promo-slider-icon {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 0px;
      width: 160px;
      height: 140px; }

.clientAlert .alert-predefined-icon-container, .clientAlert .alert-predefined-illustration-container {
  height: auto; }
  .clientAlert .alert-predefined-icon-container > svg, .clientAlert .alert-predefined-illustration-container > svg {
    height: auto; }

.clientAlert .alert-body .alert-actions {
  margin-top: calc(-1 * var(--spacing-2x));
  margin-bottom: var(--spacing-1x); }

.clientAlert.alert-icon-v-center .alert-custom-image-container,
.clientAlert.alert-icon-v-center .alert-predefined-icon-container,
.clientAlert.alert-icon-v-center .alert-predefined-illustration-container {
  align-self: center; }

[dir="rtl"] .clientAlert .alert-custom-image-container, [dir="rtl"] .clientAlert .alert-predefined-icon-container, [dir="rtl"] .clientAlert .alert-predefined-illustration-container {
  margin: 0 0 0 var(--spacing-2x); }

[dir="rtl"] .clientAlertModal .modal-title.modal-title-icon-replaced .alert-icon {
  margin-left: var(--spacing-2x);
  margin-right: 0; }

[dir="rtl"] .clientAlertModal .modal-footer.justify-content-end {
  flex-direction: row;
  justify-content: flex-start !important; }

[dir="rtl"] .clientAlertModal .modal-footer.justify-content-start {
  flex-direction: row-reverse;
  justify-content: flex-end !important; }

[dir="rtl"] .clientAlertModal .modal-graphic.justify-content-end {
  justify-content: flex-start !important; }

[dir="rtl"] .clientAlertModal .modal-graphic.justify-content-start {
  justify-content: flex-end !important; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvY2xpZW50LWFyZWEvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2NsaWVudC1hcmVhL3Njc3MvY2xpZW50LW5vdGlmaWNhdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY2xpZW50LWFyZWEvc2Nzcy91dGlsaXRpZXMvYm9vdHN0cmFwL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly8vY2xpZW50LW5vdGlmaWNhdGlvbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpSEE7QUFHQTtBQzlHQTtFQUdZLG1CQUFtQjs7QUFIL0I7RUFPUSxrQkFBa0I7RUFDbEIsaUJBQWlCO0VBUnpCO0lBVVksV0FBVztFQzRDakI7SUR0RE47TUFhWSxnQkFBZ0IsSUFZdkI7RUMwQ0M7SURuRU47TUFnQlksNENBQTRDO01BQzVDLDZDQUE2QyxJQVFwRDtFQzZCQztJRHRETjtNQW9CWSxXQUFXO01BQ1gsK0VBQStFO01BQy9FLDRDQUE0QztNQUM1Qyw2Q0FBNkMsSUFFcEQ7O0FBR0w7Ozs7Ozs7Ozs7OztFQU9ZLHlCQUF5Qjs7QUFQckM7O0VBY29CLDRCQUE0Qjs7QUFkaEQ7O0VBcUJvQiwyQkFBMkI7O0FBckIvQzs7RUE0Qm9CLDBCQUEwQjs7QUE1QjlDOztFQW1Db0IsMkJBQTJCOztBQW5DL0M7O0VBMENvQix3QkFBd0I7O0FBMUM1Qzs7RUFtRG9CLGFBQWE7O0FBbkRqQzs7RUEyRGdCLHVDQUF1QztFQUN2QyxVQUFVO0VBQ1YsV0FBVztFQUNYLFNBQVM7RUE5RHpCOztJQWlFb0IsbUJBQW1CO0VBakV2Qzs7SUFxRW9CLDBCQUF5Qjs7QUFyRTdDOztFQTJFUSxnQ0FBZ0M7RUEzRXhDOztJQThFZ0IsYUFBYTtFQTlFN0I7O0lBaUZnQiwrQkFBK0I7O0FBakYvQzs7RUF1RlksdUJBQXVCO0VBQ3ZCLHlCQUF5QjtFQXhGckM7O0lBMEZnQix1QkFBdUI7SUFDdkIseUJBQXlCO0VBM0Z6Qzs7SUE2RjRCLHFDQUFxQztJQTdGakU7O01BNkYyRSwyQ0FBMkM7RUE3RnRIOztJQThGMEIsK0JBQStCO0lBOUZ6RDs7TUE4Rm1FLHFDQUFxQztFQTlGeEc7O0lBK0Z1Qiw0QkFBNEI7SUEvRm5EOztNQStGNkQsa0NBQWtDO0VBL0YvRjs7SUFnRzBCLCtCQUErQjtJQWhHekQ7O01BZ0dtRSxxQ0FBcUM7RUFoR3hHOztJQWlHeUIsOEJBQThCO0lBakd2RDs7TUFpR2lFLG9DQUFvQztFQWpHckc7O0lBa0cwQiwrQkFBK0I7SUFsR3pEOztNQWtHbUUscUNBQXFDOztBQWxHeEc7O0VBc0dRLHVCQUF1QjtFQXRHL0I7O0lBd0dZLGVBQWU7SUF4RzNCOztNQTJHb0IsZ0RBQWdEO01BQ2hELGNBQWM7RUE1R2xDOztJQWtIZ0Isc0JBQXNCO0lBbEh0Qzs7TUFvSG9CLGdEQUErQztFQXBIbkU7O0lBd0hnQiwyQkFBMkI7SUF4SDNDOztNQTBIb0IseUJBQXdCO01BQ3hCLDZCQUE0Qjs7QUFPaEQ7RUFDSSw4QkFBOEI7RUFEbEM7SUFLWSx3Q0FBdUM7RUNoRzdDO0lEMkZOO01BVVksZ0JBQWdCLElBQ25COztBQUdUOztFQU93QixhQUFhO0VBQ2IsMEJBQXlCO0VBQ3pCLDJCQUEwQjs7QUFUbEQ7O0VBY3dCLGdCQUFnQjs7QUFkeEM7O0VBa0I0Qiw2QkFBNkI7O0FBU3pEO0VBSWdCLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsMEJBQXlCO0VBQ3pCLDJCQUEwQjs7QUFLMUM7RUFNd0Isc0JBQXNCO0VBQ3RCLHNCQUFzQjtFQVA5QztJQVM0QixzQkFBc0I7RUFUbEQ7SUFZNEIsV0FBVztJQUNYLGdDQUFnQztJQWI1RDtNQWVnQyw2QkFBNkI7O0FBWTdEO0VBR1ksZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixzREFBc0Q7RUFSbEU7SUFVZ0IsYUFBYTtFQVY3QjtJQWFnQiwyQkFBMEI7SUN4THBDO01EMktOO1FBZ0J3Qiw2Q0FBNkMsSUFDaEQ7RUFqQnJCO0lBcUJnQixhQUFhOztBQXJCN0I7RUEwQlEsZUFBZTtFQUNmLGdCQUFnQjs7QUFJeEI7RUFJZ0IsZUFBZTs7QUFKL0I7RUFpQlksZ0JBQWdCOztBQWpCNUI7RUFvQlksYUFBYTtFQUNiLHVCQUF1QjtFQXJCbkM7SUEwQjRCLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLFlBQVk7SUE3QnhDOztNQWdDZ0MsZUFBZTtNQUNmLFlBQVk7RUFqQzVDO0lBMEM0QixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLGVBQWU7SUEvQzNDO01BaURnQyw2QkFBNkI7SUFqRDdEO01Bb0RnQyxnQkFBZ0I7TUFDaEIsZ0JBQWdCO01BQ2hCLFlBQVk7TUFDWixhQUFhO0lBdkQ3QztNQTJEZ0Msa0JBQWtCO01BQ2xCLFFBQVE7TUFDUiwyQkFBMkI7TUFDM0IsVUFBVTtFQTlEMUM7SUFtRXdCLDZCQUE2QjtFQW5FckQ7SUEyRXdCLDRCQUE0QjtFQTNFcEQ7SUFnRndCLGdEQUFnRDtFQWhGeEU7SUFxRmdCLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsWUFBWTtJQUNaLE1BQU07SUFDTixPQUFPO0lBQ1AsZ0JBQWdCOztBQTFGaEM7RUE4Rlksc0JBQXNCO0VBOUZsQztJQWlHb0IsZ0JBQWdCOztBQWpHcEM7RUF3R1ksa0JBQWtCO0VBeEc5QjtJQTJHb0Isa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixNQUFNO0lBQ04sU0FBUztJQUNULGFBQWE7RUEvR2pDO0lBb0hvQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGFBQWE7SUF0SGpDO01Bd0h3QixZQUFZOztBQXhIcEM7RUFrSW9CLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IsTUFBTTtFQUNOLFNBQVM7RUFDVCxhQUFhOztBQXRJakM7RUEySW9CLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsYUFBYTtFQTdJakM7SUErSXdCLFlBQVk7O0FBL0lwQztFQXlKb0Isa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixNQUFNO0VBQ04sU0FBUztFQUNULGFBQWE7O0FBN0pqQztFQWtLb0IsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixhQUFhO0VBcEtqQztJQXNLd0IsWUFBWTs7QUF0S3BDO0VBZ0xvQiw2QkFBNkI7RUFDN0IsZ0RBQWdEOztBQWpMcEU7RUFxTHdCLGdEQUFnRDs7QUFReEU7RUFNZ0IsYUFBYTtFQUdiLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsK0JBQStCO0VBQy9CLG9CQUFvQjtFQVpwQzs7OztJQWVvQixlQUFlO0VBZm5DO0lBa0JvQixnQkFBZ0I7SUFDaEIsYUFBYTtJQW5CakM7TUFxQndCLGtCQUFrQjtNQUNsQixRQUFRO01BQ1IsMkJBQTJCO01BQzNCLFVBQVU7TUFDVixZQUFZO01BQ1osYUFBYTs7QUExQnJDO0VBaUNZLFlBQVk7RUFqQ3hCO0lBbUNnQixZQUFZOztBQW5DNUI7RUF5Q2dCLHdDQUF3QztFQUN4QyxnQ0FBZ0M7O0FBMUNoRDs7O0VBa0RZLGtCQUFrQjs7QUU5SjlCO0VGcU1vQiwrQkFBK0I7O0FFbE1uRDtFRjJNb0IsOEJBQThCO0VBQzlCLGVBQWU7O0FFeE1uQztFRjhNZ0IsbUJBQW1CO0VBQ25CLHNDQUFxQzs7QUUzTXJEO0VGOE1nQiwyQkFBMkI7RUFDM0Isb0NBQW1DOztBRTNNbkQ7RUZnTmdCLHNDQUFxQzs7QUU3TXJEO0VGZ05nQixvQ0FBbUMiLCJmaWxlIjoidGVtcGxhdGVzL2xhZ29tMi9jb3JlL2V4dGVuc2lvbnMvQ2xpZW50Tm90aWZpY2F0aW9ucy9hc3NldHMvY3NzL2NsaWVudC1ub3RpZmljYXRpb25zLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiRpc3J0bDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRzdHlsZTogJ2RlZmF1bHQnICFkZWZhdWx0OyAvLyBkZWZhdWx0LCBkZXB0aCwgbW9kZXJuLCBmdXR1cmlzdGljLCBpbnRlZ3JhdGlvblxyXG5cclxuJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlcjogZmFsc2U7XHJcblxyXG4vLz09IENvbG9yc1xyXG5AZnVuY3Rpb24gdigkdmFyLCAkZmFsbGJhY2s6IG51bGwpIHtcclxuXHRAaWYoJGZhbGxiYWNrKSB7XHJcblx0XHRAcmV0dXJuIHZhcigtLSN7JHZhcn0sICN7JGZhbGxiYWNrfSk7XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAcmV0dXJuIHZhcigtLSN7JHZhcn0pO1xyXG5cdH1cclxufVxyXG5cclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XHJcbiRpY29uLWZvbnQtcGF0aDogaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgXCJib290c3RyYXAvXCIsIFwiLi4vZm9udHMvYm9vdHN0cmFwL1wiKSA7XHJcblxyXG4kc2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4O1xyXG4kc2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgICRzY3JlZW4teHM7XHJcbiRzY3JlZW4tcGhvbmU6ICAgICAgICAgICAgICAgJHNjcmVlbi14cy1taW47XHJcbiRzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgNzY4cHg7XHJcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1zbTtcclxuJHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICAkc2NyZWVuLXNtLW1pbjtcclxuJHNjcmVlbi1tZDogICAgICAgICAgICAgICAgICA5OTJweDtcclxuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICAkc2NyZWVuLW1kO1xyXG4kc2NyZWVuLWRlc2t0b3A6ICAgICAgICAgICAgICRzY3JlZW4tbWQtbWluO1xyXG4kc2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgIDEyMDBweDtcclxuJHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLWxnO1xyXG4kc2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgICRzY3JlZW4tbGctbWluO1xyXG5cclxuJHNjcmVlbi1tb2ItbWF4OiAgICAgICAgICAgICAkc2NyZWVuLXhzLW1pbiAtIDE7XHJcbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgJHNjcmVlbi1zbS1taW4gLSAxO1xyXG4kc2NyZWVuLXNtLW1heDogICAgICAgICAgICAgICRzY3JlZW4tbWQtbWluIC0gMTtcclxuJHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAkc2NyZWVuLWxnLW1pbiAtIDE7XHJcbiRzY3JlZW4tbGctbWF4OiAgICAgICAgICAgICAgJHNjcmVlbi1sZyAtIDE7XHJcblxyXG4kZ3JpZC1icmVha3BvaW50czogKFxyXG4gIHhzOiAwcHgsIFxyXG4gIHNtOiA0ODBweCxcclxuICBtZDogNzY4cHgsXHJcbiAgbGc6IDk5MnB4LFxyXG4gIHhsOiAxMzIwcHgsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcclxuICBzbTogNTQwcHgsXHJcbiAgbWQ6IDEwMCUsXHJcbiAgbGc6IDEwMCUsXHJcbiAgeGw6IDEyODhweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy89PSBDb250YWluZXIgc2l6ZXNcclxuXHJcbiRjb250YWluZXItZ3V0dGVyOiAgICAgICAgICAgICAzMnB4O1xyXG4kY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgNzUwcHg7IFxyXG4kY29udGFpbmVyLXNtOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci10YWJsZXQgO1xyXG4kY29udGFpbmVyLWRlc2t0b3A6ICAgICAgICAgICAgOTYwcHg7IFxyXG4kY29udGFpbmVyLW1kOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1kZXNrdG9wIDtcclxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgxMTI4cHggKyAkY29udGFpbmVyLWd1dHRlcikgO1xyXG4kY29udGFpbmVyLWxnOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wIDtcclxuXHJcblxyXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9uczogdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XHJcblxyXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuXHJcbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cclxuJHNpemVzOiAoKSAhZGVmYXVsdDtcclxuJHNpemVzOiBtYXAtbWVyZ2UoXHJcbiAgKFxyXG4gICAgMjU6IDI1JSxcclxuICAgIDUwOiA1MCUsXHJcbiAgICA3NTogNzUlLFxyXG4gICAgMTAwOiAxMDAlLFxyXG4gICAgYXV0bzogYXV0b1xyXG4gICksXHJcbiAgJHNpemVzXHJcbik7XHJcblxyXG4vLyBTcGFjaW5nXHJcbi8vXHJcbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2VcclxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxyXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxyXG5cclxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcclxuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xyXG4kc3BhY2VyczogbWFwLW1lcmdlKFxyXG4gIChcclxuICAgIDA6IDAsXHJcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXHJcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcclxuICAgIDM6ICRzcGFjZXIsXHJcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXHJcbiAgICA1OiAoJHNwYWNlciAqIDMpXHJcbiAgKSxcclxuICAkc3BhY2Vyc1xyXG4pO1xyXG5cclxuLy8gTmVlZGVkIGZvciByZWQoKSwgZ3JlZW4oKSwgYmx1ZSgpIGZ1bmN0aW9ucyBpbiBib290cnN0cmFwL19mdW5jdGlvbnMuc2NzcyAnY29sb3IteWlxJyBmdW5jdGlvblxyXG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICMzNkMwNTUgIWRlZmF1bHQ7XHJcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgICAgI2Q5MjYzMiAhZGVmYXVsdDtcclxuXHJcbi8qIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LiAqL1xyXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgICAgICAgICAgICAgICAgICAgIDE1MDtcclxuXHJcbi8qIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLiAqL1xyXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMyMTI1Mjk7XHJcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuXHJcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcclxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcclxuICAoXHJcbiAgICBcInZhbGlkXCI6IChcclxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcclxuICAgICAgXCJpY29uXCI6IHZhcigtLWZvcm0tZmVlZGJhY2staWNvbi12YWxpZClcclxuICAgICksXHJcbiAgICBcImludmFsaWRcIjogKFxyXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXHJcbiAgICAgIFwiaWNvblwiOiB2YXIoLS1mb3JtLWZlZWRiYWNrLWljb24taW52YWxpZClcclxuICAgICksXHJcbiAgKSxcclxuICAkZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xyXG4pO1xyXG5cclxuLy89PSBHcmlkIHN5c3RlbVxyXG5cclxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgIDEyO1xyXG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgMjRweCAhZGVmYXVsdDtcclxuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgIDYgIWRlZmF1bHQ7XHJcbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICAgICA5OTJweDtcclxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXg6ICgkZ3JpZC1mbG9hdC1icmVha3BvaW50IC0gMSk7XHJcblxyXG4vLyBVdGlsaXRpZXNcclxuXHJcbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleCAhZGVmYXVsdDtcclxuJG92ZXJmbG93czogYXV0bywgaGlkZGVuICFkZWZhdWx0O1xyXG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSAhZGVmYXVsdDtcclxuJHVzZXItc2VsZWN0czogYWxsLCBhdXRvLCBub25lICFkZWZhdWx0OyIsIiRpc3J0bDogdHJ1ZSFkZWZhdWx0O1xyXG5cclxuQGltcG9ydCAndmFyaWFibGVzLnNjc3MnO1xyXG5AaW1wb3J0ICdoZWxwZXJzL2Z1bmN0aW9ucy5zY3NzJztcclxuXHJcblxyXG4uZXJyb3ItcGFnZXtcclxuICAgIC5hbGVydC1wcmltYXJ5e1xyXG4gICAgICAgIC5jb250YWluZXJ7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmN1c3RvbS1hbGVydHN7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIC5jbGllbnRBbGVydHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pe1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pe1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWxheW91dC1jb250YWluZXItZ3V0dGVyKTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tbGF5b3V0LWNvbnRhaW5lci1ndXR0ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyh2YXIoLS1sYXlvdXQtY29udGFpbmVyLWd1dHRlcikgKyB2YXIoLS1jb250YWluZXIteGwtbWF4LXdpZHRoKSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tbGF5b3V0LWNvbnRhaW5lci1ndXR0ZXIpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1sYXlvdXQtY29udGFpbmVyLWd1dHRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IFxyXG5cclxuLmFsZXJ0LmFsZXJ0LXByaW1hcnksXHJcbi5jbGllbnRBbGVydE1vZGFse1xyXG4gICAgLm1vZGFsLWJvZHksXHJcbiAgICAuYWxlcnQtYm9keXtcclxuICAgICAgICBzcGFuW3N0eWxlXj1cImZvbnQtd2VpZ2h0OiA3MDBcIl0sXHJcbiAgICAgICAgYixcclxuICAgICAgICBzdHJvbmd7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmF5LWRhcmtlcik7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubW9kYWx7XHJcbiAgICAgICAgJi1zdWNjZXNze1xyXG4gICAgICAgICAgICAuYWxlcnQtaWNvbntcclxuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1icmFuZGQtc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi1pbmZve1xyXG4gICAgICAgICAgICAuYWxlcnQtaWNvbntcclxuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC1wcmltYXJ5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWRhbmdlcntcclxuICAgICAgICAgICAgLmFsZXJ0LWljb257XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnJhbmQtZGFuZ2VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLXdhcm5pbmd7XHJcbiAgICAgICAgICAgIC5hbGVydC1pY29ue1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJyYW5kLXdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtZGVmYXVsdHtcclxuICAgICAgICAgICAgLmFsZXJ0LWljb257XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JheS1pY29ucyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubW9kYWwtaGVhZGVye1xyXG4gICAgICAgICYubW9kYWwtaGVhZGVyLW5vLWljb257XHJcbiAgICAgICAgICAgIC5tb2RhbC10aXRsZXtcclxuICAgICAgICAgICAgICAgIC5hbGVydC1pY29ue1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubW9kYWwtY29udGVudHtcclxuICAgICAgICAuY2xvc2V7XHJcbiAgICAgICAgICAgICYuY2xvc2Utb25jb250ZW50e1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tbW9kYWwtYnRuLWNsb3NlLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAyOHB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxNnB4O1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPnNwYW4geyBcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHghaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1vZGFsLXRpdGxle1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNHgpOyBcclxuICAgICAgICAmLm1vZGFsLXRpdGxlLWljb24tcmVwbGFjZWR7XHJcbiAgICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYWxlcnQtaWNvbntcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0yeCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnRue1xyXG4gICAgICAgICYuYnRuLWxpbmt7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYnRuLXNlY29uZGFyeXtjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktZmFkZWQtY29sb3IpOyAmOmhvdmVye2NvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1mYWRlZC1ob3Zlci1jb2xvcik7fX1cclxuICAgICAgICAgICAgJi5idG4tZGVmYXVsdHtjb2xvcjogdmFyKC0tYnRuLWRlZmF1bHQtY29sb3IpOyAmOmhvdmVye2NvbG9yOiB2YXIoLS1idG4tZGVmYXVsdC1ob3Zlci1jb2xvcik7fX1cclxuICAgICAgICAgICAgJi5idG4taW5mb3tjb2xvcjogdmFyKC0tYnRuLWluZm8tY29sb3IpOyAmOmhvdmVye2NvbG9yOiB2YXIoLS1idG4taW5mby1ob3Zlci1jb2xvcik7fX1cclxuICAgICAgICAgICAgJi5idG4tc3VjY2Vzc3tjb2xvcjogdmFyKC0tYnRuLXN1Y2Nlc3MtY29sb3IpOyAmOmhvdmVye2NvbG9yOiB2YXIoLS1idG4tc3VjY2Vzcy1ob3Zlci1jb2xvcik7fX1cclxuICAgICAgICAgICAgJi5idG4tZGFuZ2Vye2NvbG9yOiB2YXIoLS1idG4tZGFuZ2VyLWNvbG9yKTsgJjpob3Zlcntjb2xvcjogdmFyKC0tYnRuLWRhbmdlci1ob3Zlci1jb2xvcik7fX1cclxuICAgICAgICAgICAgJi5idG4td2FybmluZ3tjb2xvcjogdmFyKC0tYnRuLXdhcm5pbmctY29sb3IpOyAmOmhvdmVye2NvbG9yOiB2YXIoLS1idG4td2FybmluZy1ob3Zlci1jb2xvcik7fX1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubW9kYWwtZm9vdGVye1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO1xyXG4gICAgICAgIC5hbGVydC1idXR0b25ze1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgID4gLmJ0bntcclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuKTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmZvb3Rlci1oYXMtY2hlY2tib3h7XHJcbiAgICAgICAgICAgICYuanVzdGlmeS1jb250ZW50LWNlbnRlcntcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAuY2hlY2tib3h7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTN4KSBhdXRvIDAgYXV0byFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5qdXN0aWZ5LWNvbnRlbnQtZW5ke1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgICAgICAgLmNoZWNrYm94e1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWxlcnQtcHJpbWFyeXtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXVpLWJsb2NrLWJnKTtcclxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHVuc2V0IWltcG9ydGFudDtcclxuICAgIC5hbGVydC1ib2R5e1xyXG4gICAgICAgIHB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWJvZHktY29sb3IpIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9IFxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKXtcclxuICAgICAgICAuYWxlcnQtYm9keXtcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmFwcC1tYWlue1xyXG4gICAgPiAubWFpbi1ib2R5e1xyXG4gICAgICAgID4gLmNvbnRhaW5lcixcclxuICAgICAgICA+IC5jb250YWluZXItZmx1aWR7XHJcbiAgICAgICAgICAgIC5jdXN0b20tYWxlcnRzeyBcclxuICAgICAgICAgICAgICAgIC5jbGllbnRBbGVydHtcclxuICAgICAgICAgICAgICAgICAgICA+LmNvbnRhaW5lcntcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmFsZXJ0e1xyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJiArIC5hbGVydHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMngpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubG9naW4tYm9keXtcclxuICAgID4gLmN1c3RvbS1hbGVydHN7XHJcbiAgICAgICAgLmNsaWVudEFsZXJ0e1xyXG4gICAgICAgICAgICA+IC5jb250YWluZXJ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCFpbXBvcnRhbnQ7IFxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCFpbXBvcnRhbnQ7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5sb2dpbntcclxuICAgICY6bm90KC5sb2dpbi1sZyl7XHJcbiAgICAgICAgLmN1c3RvbS1hbGVydHN7XHJcbiAgICAgICAgICAgIC5jbGllbnRBbGVydHtcclxuICAgICAgICAgICAgICAgID4gLmNvbnRhaW5lcntcclxuICAgICAgICAgICAgICAgICAgICAuYWxlcnQtY29udGVudHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmFsZXJ0LWJvZHl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5hbGVydC1hY3Rpb25ze1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTF4KSAwIDAgMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5idG57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xeCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vL0FsZXJ0cyBzaXRlXHJcbi5hcHAtbWFpbntcclxuICAgID4gLmN1c3RvbS1hbGVydHN7XHJcbiAgICAgICAgLmFsZXJ0LXByaW1hcnl7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXVpLWJsb2NrLWRpdmlkZXItY29sb3IpO1xyXG4gICAgICAgICAgICA+IC5jb250YWluZXJ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWxlcnQtZGlzbWlzc2libGV7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSl7XHJcbiAgICAgICAgICAgICAgICAgICAgLmFsZXJ0LWNvbnRlbnR7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWxheW91dC1jb250YWluZXItZ3V0dGVyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgPiAuZW1haWwtdmVyaWZpY2F0aW9ue1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2xpZW50QWxlcnRNb2RhbHtcclxuICAgICYucHJldmVudC1jbG9zZXtcclxuICAgICAgICAmLm1vZGFsLXN0YXRpY3tcclxuICAgICAgICAgICAgLm1vZGFsLWRpYWxvZ3tcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vICYubW9kYWwtbGd7XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZyl7XHJcbiAgICAvLyAgICAgICAgIC5tb2RhbC1kaWFsb2d7XHJcbiAgICAvLyAgICAgICAgICAgICB3aWR0aDogNjQwcHg7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAubW9kYWx7XHJcbiAgICAgICAgJi1jb250ZW50e1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWdyYXBoaWN7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAuYWxlcnR7XHJcbiAgICAgICAgICAgICAgICAmLWN1c3RvbXtcclxuICAgICAgICAgICAgICAgICAgICAmLWdyYXBoaWN7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYtY29udGFpbmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ZnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLXByZWRlZmluZWR7XHJcbiAgICAgICAgICAgICAgICAgICAgJi1pbGx1c3RyYXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgJi1pY29ue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLWNvbnRhaW5lcntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpub3QoLnByb21vLWlsbHVzdHJhdGlvbil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0zeCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJvbW8taWxsdXN0cmF0aW9ue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzNDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJvbW8tc2xpZGVyLWljb257XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMHB4OyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLWljb24tY29udGFpbmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTV4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5qdXN0aWZ5LWNvbnRlbnR7XHJcbiAgICAgICAgICAgICAgICAmLXN0YXJ0LFxyXG4gICAgICAgICAgICAgICAgJi1jZW50ZXJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIC5hbGVydC1wcmVkZWZpbmVkLWljb24tY29udGFpbmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctM3gpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYtZW5ke1xyXG4gICAgICAgICAgICAgICAgICAgIC5hbGVydC1wcmVkZWZpbmVkLWljb24tY29udGFpbmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOHgpIDAgdmFyKC0tc3BhY2luZy0zeCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5tb2RhbC1wcmVkZWZpbmVkLWJhY2tncm91bmR7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtYm9keXtcclxuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAgICAgICAgICAgPiBwe1xyXG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGV7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubW9kYWx7XHJcbiAgICAgICAgLm1vZGFsLWdyYXBoaWN7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgLm1vZGFsLXByZWRlZmluZWQtYmFja2dyb3VuZHtcclxuICAgICAgICAgICAgICAgID4gc3Zne1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogLTM3NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNzlweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYWxlcnQtcHJlZGVmaW5lZC1pbGx1c3RyYXRpb24tY29udGFpbmVye1xyXG4gICAgICAgICAgICAgICAgJi5wcm9tby1pbGx1c3RyYXRpb257XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyNzJweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI3MnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBzdmd7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNzJweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm1vZGFsLWxne1xyXG4gICAgICAgIC5tb2RhbC1ncmFwaGlje1xyXG4gICAgICAgICAgICAubW9kYWwtcHJlZGVmaW5lZC1iYWNrZ3JvdW5ke1xyXG4gICAgICAgICAgICAgICAgPiBzdmd7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtNDc4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1NXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5hbGVydC1wcmVkZWZpbmVkLWlsbHVzdHJhdGlvbi1jb250YWluZXJ7XHJcbiAgICAgICAgICAgICAgICAmLnByb21vLWlsbHVzdHJhdGlvbntcclxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDM0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgICAgICAgICA+IHN2Z3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubW9kYWwtc217XHJcbiAgICAgICAgLm1vZGFsLWdyYXBoaWN7XHJcbiAgICAgICAgICAgIC5tb2RhbC1wcmVkZWZpbmVkLWJhY2tncm91bmR7XHJcbiAgICAgICAgICAgICAgICA+IHN2Z3tcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0yNjBweDtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTkycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmFsZXJ0LXByZWRlZmluZWQtaWxsdXN0cmF0aW9uLWNvbnRhaW5lcntcclxuICAgICAgICAgICAgICAgICYucHJvbW8taWxsdXN0cmF0aW9ue1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTgwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1OXB4O1xyXG4gICAgICAgICAgICAgICAgICAgID4gc3Zne1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTgwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5tb2RhbC1jdXN0b20taWNvbntcclxuICAgICAgICAubW9kYWx7XHJcbiAgICAgICAgICAgICYtZ3JhcGhpY3tcclxuICAgICAgICAgICAgICAgIC5hbGVydC1jdXN0b20tZ3JhcGhpYy1jb250YWluZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0zeCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjaW5nLTN4KSAwIHZhcigtLXNwYWNpbmctM3gpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5qdXN0aWZ5LWNvbnRlbnQtZW5ke1xyXG4gICAgICAgICAgICAgICAgICAgIC5hbGVydC1jdXN0b20tZ3JhcGhpYy1jb250YWluZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy04eCkgMCB2YXIoLS1zcGFjaW5nLTN4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jbGllbnRBbGVydHtcclxuICAgIC5hbGVydHtcclxuICAgICAgICAmLWN1c3RvbS1pbWFnZSxcclxuICAgICAgICAmLXByZWRlZmluZWQtaWNvbixcclxuICAgICAgICAmLXByZWRlZmluZWQtaWxsdXN0cmF0aW9ue1xyXG4gICAgICAgICAgICAmLWNvbnRhaW5lcntcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7IFxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNjBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCB2YXIoLS1zcGFjaW5nLTJ4KSAwIDA7IFxyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgICAgICBzdmcsXHJcbiAgICAgICAgICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5wcm9tby1pbGx1c3RyYXRpb257XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxNjBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIC5wcm9tby1zbGlkZXItaWNvbntcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMHB4OyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLXByZWRlZmluZWQtaWNvbi1jb250YWluZXIsXHJcbiAgICAgICAgJi1wcmVkZWZpbmVkLWlsbHVzdHJhdGlvbi1jb250YWluZXJ7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgPiBzdmd7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWJvZHl7XHJcbiAgICAgICAgICAgIC5hbGVydC1hY3Rpb25ze1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMngpKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMXgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGVydC1pY29uLXYtY2VudGVyeyBcclxuICAgICAgICAuYWxlcnQtY3VzdG9tLWltYWdlLWNvbnRhaW5lcixcclxuICAgICAgICAuYWxlcnQtcHJlZGVmaW5lZC1pY29uLWNvbnRhaW5lcixcclxuICAgICAgICAuYWxlcnQtcHJlZGVmaW5lZC1pbGx1c3RyYXRpb24tY29udGFpbmVye1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gJi5hbGVydC1jZW50ZXJ7XHJcbiAgICAvLyAgICAgPiAuY29udGFpbmVye1xyXG4gICAgLy8gICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICAuYWxlcnR7XHJcbiAgICAvLyAgICAgICAgICYtY3VzdG9tLWltYWdlLFxyXG4gICAgLy8gICAgICAgICAmLXByZWRlZmluZWQtaWNvbixcclxuICAgIC8vICAgICAgICAgJi1wcmVkZWZpbmVkLWlsbHVzdHJhdGlvbntcclxuICAgIC8vICAgICAgICAgICAgICYtY29udGFpbmVye1xyXG4gICAgLy8gICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIHZhcigtLXNwYWNpbmctMngpIGF1dG87XHJcbiAgICAvLyAgICAgICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgJi1ib2R5e1xyXG4gICAgLy8gICAgICAgICAgICAgLmFsZXJ0LXRpdGxlLFxyXG4gICAgLy8gICAgICAgICAgICAgPiBwe1xyXG4gICAgLy8gICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC8vICAgICAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgICAgIC5hbGVydC1hY3Rpb25ze1xyXG4gICAgLy8gICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAvLyAgICAgICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcblxyXG4gICAgLy8gfVxyXG59XHJcblxyXG4vLyBSTFRcclxuXHJcbltkaXI9XCJydGxcIl17XHJcbiAgICAuY2xpZW50QWxlcnR7XHJcbiAgICAgICAgLmFsZXJ0e1xyXG4gICAgICAgICAgICAmLWN1c3RvbS1pbWFnZSxcclxuICAgICAgICAgICAgJi1wcmVkZWZpbmVkLWljb24sXHJcbiAgICAgICAgICAgICYtcHJlZGVmaW5lZC1pbGx1c3RyYXRpb257XHJcbiAgICAgICAgICAgICAgICAmLWNvbnRhaW5lcntcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIHZhcigtLXNwYWNpbmctMngpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNsaWVudEFsZXJ0TW9kYWx7XHJcbiAgICAgICAgLm1vZGFsLXRpdGxle1xyXG4gICAgICAgICAgICAmLm1vZGFsLXRpdGxlLWljb24tcmVwbGFjZWR7XHJcbiAgICAgICAgICAgICAgICAuYWxlcnQtaWNvbntcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0yeCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2RhbC1mb290ZXJ7XHJcbiAgICAgICAgICAgICYuanVzdGlmeS1jb250ZW50LWVuZHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuanVzdGlmeS1jb250ZW50LXN0YXJ0e1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vZGFsLWdyYXBoaWN7XHJcbiAgICAgICAgICAgICYuanVzdGlmeS1jb250ZW50LWVuZHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5qdXN0aWZ5LWNvbnRlbnQtc3RhcnR7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXHJcbi8vXHJcbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcclxuLy9cclxuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxyXG4vL1xyXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXHJcblxyXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcclxuLy8gICAgbWRcclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxyXG4vLyAgICBtZFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xyXG4gICAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XHJcbiAgICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcclxuICB9XHJcbiAgXHJcbiAgLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxyXG4gIC8vXHJcbiAgLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbiAgLy8gICAgNTc2cHhcclxuICBAZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XHJcbiAgICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XHJcbiAgfVxyXG4gIFxyXG4gIC8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXHJcbiAgLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcclxuICAvLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxyXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcclxuICAvLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXHJcbiAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcclxuICAvL1xyXG4gIC8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4gIC8vICAgIDc2Ny45OHB4XHJcbiAgQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xyXG4gIH1cclxuICBcclxuICAvLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxyXG4gIC8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxyXG4gIC8vXHJcbiAgLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuICAvLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcclxuICAvLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4gIC8vICAgIFwiLXNtXCJcclxuICBAZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcclxuICB9XHJcbiAgXHJcbiAgLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxyXG4gIC8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXHJcbiAgQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICAgQGlmICRtaW4ge1xyXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXHJcbiAgLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cclxuICBAbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICAgIEBpZiAkbWF4IHtcclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxyXG4gIC8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xyXG4gIEBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcclxuICAgICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcclxuICBcclxuICAgIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXHJcbiAgLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXHJcbiAgLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxyXG4gIEBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgXHJcbiAgICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICIsIi8qIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LiAqL1xuLyogQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uICovXG4uZXJyb3ItcGFnZSAuYWxlcnQtcHJpbWFyeSAuY29udGFpbmVyIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZXJyb3ItcGFnZSAuY3VzdG9tLWFsZXJ0cyB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLmVycm9yLXBhZ2UgLmN1c3RvbS1hbGVydHMgLmNsaWVudEFsZXJ0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAuZXJyb3ItcGFnZSAuY3VzdG9tLWFsZXJ0cyB7XG4gICAgICBtYXgtd2lkdGg6IDU0MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLmVycm9yLXBhZ2UgLmN1c3RvbS1hbGVydHMge1xuICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1sYXlvdXQtY29udGFpbmVyLWd1dHRlcik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1sYXlvdXQtY29udGFpbmVyLWd1dHRlcik7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZXJyb3ItcGFnZSAuY3VzdG9tLWFsZXJ0cyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogY2FsYyh2YXIoLS1sYXlvdXQtY29udGFpbmVyLWd1dHRlcikgKyB2YXIoLS1jb250YWluZXIteGwtbWF4LXdpZHRoKSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWxheW91dC1jb250YWluZXItZ3V0dGVyKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWxheW91dC1jb250YWluZXItZ3V0dGVyKTsgfSB9XG5cbi5hbGVydC5hbGVydC1wcmltYXJ5IC5tb2RhbC1ib2R5IHNwYW5bc3R5bGVePVwiZm9udC13ZWlnaHQ6IDcwMFwiXSxcbi5hbGVydC5hbGVydC1wcmltYXJ5IC5tb2RhbC1ib2R5IGIsXG4uYWxlcnQuYWxlcnQtcHJpbWFyeSAubW9kYWwtYm9keSBzdHJvbmcsXG4uYWxlcnQuYWxlcnQtcHJpbWFyeSAuYWxlcnQtYm9keSBzcGFuW3N0eWxlXj1cImZvbnQtd2VpZ2h0OiA3MDBcIl0sXG4uYWxlcnQuYWxlcnQtcHJpbWFyeSAuYWxlcnQtYm9keSBiLFxuLmFsZXJ0LmFsZXJ0LXByaW1hcnkgLmFsZXJ0LWJvZHkgc3Ryb25nLFxuLmNsaWVudEFsZXJ0TW9kYWwgLm1vZGFsLWJvZHkgc3BhbltzdHlsZV49XCJmb250LXdlaWdodDogNzAwXCJdLFxuLmNsaWVudEFsZXJ0TW9kYWwgLm1vZGFsLWJvZHkgYixcbi5jbGllbnRBbGVydE1vZGFsIC5tb2RhbC1ib2R5IHN0cm9uZyxcbi5jbGllbnRBbGVydE1vZGFsIC5hbGVydC1ib2R5IHNwYW5bc3R5bGVePVwiZm9udC13ZWlnaHQ6IDcwMFwiXSxcbi5jbGllbnRBbGVydE1vZGFsIC5hbGVydC1ib2R5IGIsXG4uY2xpZW50QWxlcnRNb2RhbCAuYWxlcnQtYm9keSBzdHJvbmcge1xuICBjb2xvcjogdmFyKC0tZ3JheS1kYXJrZXIpOyB9XG5cbi5hbGVydC5hbGVydC1wcmltYXJ5Lm1vZGFsLXN1Y2Nlc3MgLmFsZXJ0LWljb246YmVmb3JlLFxuLmNsaWVudEFsZXJ0TW9kYWwubW9kYWwtc3VjY2VzcyAuYWxlcnQtaWNvbjpiZWZvcmUge1xuICBjb2xvcjogdmFyKC0tYnJhbmRkLXN1Y2Nlc3MpOyB9XG5cbi5hbGVydC5hbGVydC1wcmltYXJ5Lm1vZGFsLWluZm8gLmFsZXJ0LWljb246YmVmb3JlLFxuLmNsaWVudEFsZXJ0TW9kYWwubW9kYWwtaW5mbyAuYWxlcnQtaWNvbjpiZWZvcmUge1xuICBjb2xvcjogdmFyKC0tYnJhbmQtcHJpbWFyeSk7IH1cblxuLmFsZXJ0LmFsZXJ0LXByaW1hcnkubW9kYWwtZGFuZ2VyIC5hbGVydC1pY29uOmJlZm9yZSxcbi5jbGllbnRBbGVydE1vZGFsLm1vZGFsLWRhbmdlciAuYWxlcnQtaWNvbjpiZWZvcmUge1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZGFuZ2VyKTsgfVxuXG4uYWxlcnQuYWxlcnQtcHJpbWFyeS5tb2RhbC13YXJuaW5nIC5hbGVydC1pY29uOmJlZm9yZSxcbi5jbGllbnRBbGVydE1vZGFsLm1vZGFsLXdhcm5pbmcgLmFsZXJ0LWljb246YmVmb3JlIHtcbiAgY29sb3I6IHZhcigtLWJyYW5kLXdhcm5pbmcpOyB9XG5cbi5hbGVydC5hbGVydC1wcmltYXJ5Lm1vZGFsLWRlZmF1bHQgLmFsZXJ0LWljb246YmVmb3JlLFxuLmNsaWVudEFsZXJ0TW9kYWwubW9kYWwtZGVmYXVsdCAuYWxlcnQtaWNvbjpiZWZvcmUge1xuICBjb2xvcjogdmFyKC0tZ3JheS1pY29ucyk7IH1cblxuLmFsZXJ0LmFsZXJ0LXByaW1hcnkgLm1vZGFsLWhlYWRlci5tb2RhbC1oZWFkZXItbm8taWNvbiAubW9kYWwtdGl0bGUgLmFsZXJ0LWljb24sXG4uY2xpZW50QWxlcnRNb2RhbCAubW9kYWwtaGVhZGVyLm1vZGFsLWhlYWRlci1uby1pY29uIC5tb2RhbC10aXRsZSAuYWxlcnQtaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmFsZXJ0LmFsZXJ0LXByaW1hcnkgLm1vZGFsLWNvbnRlbnQgLmNsb3NlLmNsb3NlLW9uY29udGVudCxcbi5jbGllbnRBbGVydE1vZGFsIC5tb2RhbC1jb250ZW50IC5jbG9zZS5jbG9zZS1vbmNvbnRlbnQge1xuICBwYWRkaW5nOiB2YXIoLS1tb2RhbC1idG4tY2xvc2UtcGFkZGluZyk7XG4gIHotaW5kZXg6IDE7XG4gIHJpZ2h0OiAyOHB4O1xuICB0b3A6IDE2cHg7IH1cbiAgLmFsZXJ0LmFsZXJ0LXByaW1hcnkgLm1vZGFsLWNvbnRlbnQgLmNsb3NlLmNsb3NlLW9uY29udGVudCA+IHNwYW4sXG4gIC5jbGllbnRBbGVydE1vZGFsIC5tb2RhbC1jb250ZW50IC5jbG9zZS5jbG9zZS1vbmNvbnRlbnQgPiBzcGFuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4OyB9XG4gIC5hbGVydC5hbGVydC1wcmltYXJ5IC5tb2RhbC1jb250ZW50IC5jbG9zZS5jbG9zZS1vbmNvbnRlbnQgaSxcbiAgLmNsaWVudEFsZXJ0TW9kYWwgLm1vZGFsLWNvbnRlbnQgLmNsb3NlLmNsb3NlLW9uY29udGVudCBpIHtcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsgfVxuXG4uYWxlcnQuYWxlcnQtcHJpbWFyeSAubW9kYWwtdGl0bGUsXG4uY2xpZW50QWxlcnRNb2RhbCAubW9kYWwtdGl0bGUge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTR4KTsgfVxuICAuYWxlcnQuYWxlcnQtcHJpbWFyeSAubW9kYWwtdGl0bGUubW9kYWwtdGl0bGUtaWNvbi1yZXBsYWNlZDpiZWZvcmUsXG4gIC5jbGllbnRBbGVydE1vZGFsIC5tb2RhbC10aXRsZS5tb2RhbC10aXRsZS1pY29uLXJlcGxhY2VkOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYWxlcnQuYWxlcnQtcHJpbWFyeSAubW9kYWwtdGl0bGUubW9kYWwtdGl0bGUtaWNvbi1yZXBsYWNlZCAuYWxlcnQtaWNvbixcbiAgLmNsaWVudEFsZXJ0TW9kYWwgLm1vZGFsLXRpdGxlLm1vZGFsLXRpdGxlLWljb24tcmVwbGFjZWQgLmFsZXJ0LWljb24ge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0yeCk7IH1cblxuLmFsZXJ0LmFsZXJ0LXByaW1hcnkgLmJ0bi5idG4tbGluayxcbi5jbGllbnRBbGVydE1vZGFsIC5idG4uYnRuLWxpbmsge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYWxlcnQuYWxlcnQtcHJpbWFyeSAuYnRuLmJ0bi1saW5rOmhvdmVyLFxuICAuY2xpZW50QWxlcnRNb2RhbCAuYnRuLmJ0bi1saW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5hbGVydC5hbGVydC1wcmltYXJ5IC5idG4uYnRuLWxpbmsuYnRuLXNlY29uZGFyeSxcbiAgLmNsaWVudEFsZXJ0TW9kYWwgLmJ0bi5idG4tbGluay5idG4tc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktZmFkZWQtY29sb3IpOyB9XG4gICAgLmFsZXJ0LmFsZXJ0LXByaW1hcnkgLmJ0bi5idG4tbGluay5idG4tc2Vjb25kYXJ5OmhvdmVyLFxuICAgIC5jbGllbnRBbGVydE1vZGFsIC5idG4uYnRuLWxpbmsuYnRuLXNlY29uZGFyeTpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tYnRuLXByaW1hcnktZmFkZWQtaG92ZXItY29sb3IpOyB9XG4gIC5hbGVydC5hbGVydC1wcmltYXJ5IC5idG4uYnRuLWxpbmsuYnRuLWRlZmF1bHQsXG4gIC5jbGllbnRBbGVydE1vZGFsIC5idG4uYnRuLWxpbmsuYnRuLWRlZmF1bHQge1xuICAgIGNvbG9yOiB2YXIoLS1idG4tZGVmYXVsdC1jb2xvcik7IH1cbiAgICAuYWxlcnQuYWxlcnQtcHJpbWFyeSAuYnRuLmJ0bi1saW5rLmJ0bi1kZWZhdWx0OmhvdmVyLFxuICAgIC5jbGllbnRBbGVydE1vZGFsIC5idG4uYnRuLWxpbmsuYnRuLWRlZmF1bHQ6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWJ0bi1kZWZhdWx0LWhvdmVyLWNvbG9yKTsgfVxuICAuYWxlcnQuYWxlcnQtcHJpbWFyeSAuYnRuLmJ0bi1saW5rLmJ0bi1pbmZvLFxuICAuY2xpZW50QWxlcnRNb2RhbCAuYnRuLmJ0bi1saW5rLmJ0bi1pbmZvIHtcbiAgICBjb2xvcjogdmFyKC0tYnRuLWluZm8tY29sb3IpOyB9XG4gICAgLmFsZXJ0LmFsZXJ0LXByaW1hcnkgLmJ0bi5idG4tbGluay5idG4taW5mbzpob3ZlcixcbiAgICAuY2xpZW50QWxlcnRNb2RhbCAuYnRuLmJ0bi1saW5rLmJ0bi1pbmZvOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1idG4taW5mby1ob3Zlci1jb2xvcik7IH1cbiAgLmFsZXJ0LmFsZXJ0LXByaW1hcnkgLmJ0bi5idG4tbGluay5idG4tc3VjY2VzcyxcbiAgLmNsaWVudEFsZXJ0TW9kYWwgLmJ0bi5idG4tbGluay5idG4tc3VjY2VzcyB7XG4gICAgY29sb3I6IHZhcigtLWJ0bi1zdWNjZXNzLWNvbG9yKTsgfVxuICAgIC5hbGVydC5hbGVydC1wcmltYXJ5IC5idG4uYnRuLWxpbmsuYnRuLXN1Y2Nlc3M6aG92ZXIsXG4gICAgLmNsaWVudEFsZXJ0TW9kYWwgLmJ0bi5idG4tbGluay5idG4tc3VjY2Vzczpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tYnRuLXN1Y2Nlc3MtaG92ZXItY29sb3IpOyB9XG4gIC5hbGVydC5hbGVydC1wcmltYXJ5IC5idG4uYnRuLWxpbmsuYnRuLWRhbmdlcixcbiAgLmNsaWVudEFsZXJ0TW9kYWwgLmJ0bi5idG4tbGluay5idG4tZGFuZ2VyIHtcbiAgICBjb2xvcjogdmFyKC0tYnRuLWRhbmdlci1jb2xvcik7IH1cbiAgICAuYWxlcnQuYWxlcnQtcHJpbWFyeSAuYnRuLmJ0bi1saW5rLmJ0bi1kYW5nZXI6aG92ZXIsXG4gICAgLmNsaWVudEFsZXJ0TW9kYWwgLmJ0bi5idG4tbGluay5idG4tZGFuZ2VyOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1idG4tZGFuZ2VyLWhvdmVyLWNvbG9yKTsgfVxuICAuYWxlcnQuYWxlcnQtcHJpbWFyeSAuYnRuLmJ0bi1saW5rLmJ0bi13YXJuaW5nLFxuICAuY2xpZW50QWxlcnRNb2RhbCAuYnRuLmJ0bi1saW5rLmJ0bi13YXJuaW5nIHtcbiAgICBjb2xvcjogdmFyKC0tYnRuLXdhcm5pbmctY29sb3IpOyB9XG4gICAgLmFsZXJ0LmFsZXJ0LXByaW1hcnkgLmJ0bi5idG4tbGluay5idG4td2FybmluZzpob3ZlcixcbiAgICAuY2xpZW50QWxlcnRNb2RhbCAuYnRuLmJ0bi1saW5rLmJ0bi13YXJuaW5nOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1idG4td2FybmluZy1ob3Zlci1jb2xvcik7IH1cblxuLmFsZXJ0LmFsZXJ0LXByaW1hcnkgLm1vZGFsLWZvb3Rlcixcbi5jbGllbnRBbGVydE1vZGFsIC5tb2RhbC1mb290ZXIge1xuICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsgfVxuICAuYWxlcnQuYWxlcnQtcHJpbWFyeSAubW9kYWwtZm9vdGVyIC5hbGVydC1idXR0b25zLFxuICAuY2xpZW50QWxlcnRNb2RhbCAubW9kYWwtZm9vdGVyIC5hbGVydC1idXR0b25zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAuYWxlcnQuYWxlcnQtcHJpbWFyeSAubW9kYWwtZm9vdGVyIC5hbGVydC1idXR0b25zID4gLmJ0bjpub3QoOmxhc3Qtb2YtdHlwZSksXG4gICAgLmNsaWVudEFsZXJ0TW9kYWwgLm1vZGFsLWZvb3RlciAuYWxlcnQtYnV0dG9ucyA+IC5idG46bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5hbGVydC5hbGVydC1wcmltYXJ5IC5tb2RhbC1mb290ZXIuZm9vdGVyLWhhcy1jaGVja2JveC5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyLFxuICAuY2xpZW50QWxlcnRNb2RhbCAubW9kYWwtZm9vdGVyLmZvb3Rlci1oYXMtY2hlY2tib3guanVzdGlmeS1jb250ZW50LWNlbnRlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5hbGVydC5hbGVydC1wcmltYXJ5IC5tb2RhbC1mb290ZXIuZm9vdGVyLWhhcy1jaGVja2JveC5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIC5jaGVja2JveCxcbiAgICAuY2xpZW50QWxlcnRNb2RhbCAubW9kYWwtZm9vdGVyLmZvb3Rlci1oYXMtY2hlY2tib3guanVzdGlmeS1jb250ZW50LWNlbnRlciAuY2hlY2tib3gge1xuICAgICAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTN4KSBhdXRvIDAgYXV0byAhaW1wb3J0YW50OyB9XG4gIC5hbGVydC5hbGVydC1wcmltYXJ5IC5tb2RhbC1mb290ZXIuZm9vdGVyLWhhcy1jaGVja2JveC5qdXN0aWZ5LWNvbnRlbnQtZW5kLFxuICAuY2xpZW50QWxlcnRNb2RhbCAubW9kYWwtZm9vdGVyLmZvb3Rlci1oYXMtY2hlY2tib3guanVzdGlmeS1jb250ZW50LWVuZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgLmFsZXJ0LmFsZXJ0LXByaW1hcnkgLm1vZGFsLWZvb3Rlci5mb290ZXItaGFzLWNoZWNrYm94Lmp1c3RpZnktY29udGVudC1lbmQgLmNoZWNrYm94LFxuICAgIC5jbGllbnRBbGVydE1vZGFsIC5tb2RhbC1mb290ZXIuZm9vdGVyLWhhcy1jaGVja2JveC5qdXN0aWZ5LWNvbnRlbnQtZW5kIC5jaGVja2JveCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLmFsZXJ0LXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1ibG9jay1iZyk7IH1cbiAgLmFsZXJ0LXByaW1hcnkgLmFsZXJ0LWJvZHkgcCB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtYm9keS1jb2xvcikgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAuYWxlcnQtcHJpbWFyeSAuYWxlcnQtYm9keSB7XG4gICAgICBhbGlnbi1zZWxmOiBhdXRvOyB9IH1cblxuLmFwcC1tYWluID4gLm1haW4tYm9keSA+IC5jb250YWluZXIgLmN1c3RvbS1hbGVydHMgLmNsaWVudEFsZXJ0ID4gLmNvbnRhaW5lcixcbi5hcHAtbWFpbiA+IC5tYWluLWJvZHkgPiAuY29udGFpbmVyLWZsdWlkIC5jdXN0b20tYWxlcnRzIC5jbGllbnRBbGVydCA+IC5jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5hcHAtbWFpbiA+IC5tYWluLWJvZHkgPiAuY29udGFpbmVyIC5jdXN0b20tYWxlcnRzIC5hbGVydDpub3QoOmxhc3QtY2hpbGQpLFxuLmFwcC1tYWluID4gLm1haW4tYm9keSA+IC5jb250YWluZXItZmx1aWQgLmN1c3RvbS1hbGVydHMgLmFsZXJ0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5hcHAtbWFpbiA+IC5tYWluLWJvZHkgPiAuY29udGFpbmVyIC5jdXN0b20tYWxlcnRzIC5hbGVydCArIC5hbGVydDpub3QoOmZpcnN0LWNoaWxkKSxcbi5hcHAtbWFpbiA+IC5tYWluLWJvZHkgPiAuY29udGFpbmVyLWZsdWlkIC5jdXN0b20tYWxlcnRzIC5hbGVydCArIC5hbGVydDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMngpOyB9XG5cbi5sb2dpbi1ib2R5ID4gLmN1c3RvbS1hbGVydHMgLmNsaWVudEFsZXJ0ID4gLmNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLmxvZ2luOm5vdCgubG9naW4tbGcpIC5jdXN0b20tYWxlcnRzIC5jbGllbnRBbGVydCA+IC5jb250YWluZXIgLmFsZXJ0LWNvbnRlbnQge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG4gIC5sb2dpbjpub3QoLmxvZ2luLWxnKSAuY3VzdG9tLWFsZXJ0cyAuY2xpZW50QWxlcnQgPiAuY29udGFpbmVyIC5hbGVydC1jb250ZW50IC5hbGVydC1ib2R5IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG4gIC5sb2dpbjpub3QoLmxvZ2luLWxnKSAuY3VzdG9tLWFsZXJ0cyAuY2xpZW50QWxlcnQgPiAuY29udGFpbmVyIC5hbGVydC1jb250ZW50IC5hbGVydC1hY3Rpb25zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTF4KSAwIDAgMDsgfVxuICAgIC5sb2dpbjpub3QoLmxvZ2luLWxnKSAuY3VzdG9tLWFsZXJ0cyAuY2xpZW50QWxlcnQgPiAuY29udGFpbmVyIC5hbGVydC1jb250ZW50IC5hbGVydC1hY3Rpb25zIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xeCk7IH1cblxuLmFwcC1tYWluID4gLmN1c3RvbS1hbGVydHMgLmFsZXJ0LXByaW1hcnkge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS11aS1ibG9jay1kaXZpZGVyLWNvbG9yKTsgfVxuICAuYXBwLW1haW4gPiAuY3VzdG9tLWFsZXJ0cyAuYWxlcnQtcHJpbWFyeSA+IC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmFwcC1tYWluID4gLmN1c3RvbS1hbGVydHMgLmFsZXJ0LXByaW1hcnkuYWxlcnQtZGlzbWlzc2libGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgICAgLmFwcC1tYWluID4gLmN1c3RvbS1hbGVydHMgLmFsZXJ0LXByaW1hcnkuYWxlcnQtZGlzbWlzc2libGUgLmFsZXJ0LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1sYXlvdXQtY29udGFpbmVyLWd1dHRlcik7IH0gfVxuICAuYXBwLW1haW4gPiAuY3VzdG9tLWFsZXJ0cyAuYWxlcnQtcHJpbWFyeTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmFwcC1tYWluID4gLmVtYWlsLXZlcmlmaWNhdGlvbiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uY2xpZW50QWxlcnRNb2RhbC5wcmV2ZW50LWNsb3NlLm1vZGFsLXN0YXRpYyAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNmb3JtOiBub25lOyB9XG5cbi5jbGllbnRBbGVydE1vZGFsIC5tb2RhbC1jb250ZW50IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uY2xpZW50QWxlcnRNb2RhbCAubW9kYWwtZ3JhcGhpYyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5jbGllbnRBbGVydE1vZGFsIC5tb2RhbC1ncmFwaGljIC5hbGVydC1jdXN0b20tZ3JhcGhpYy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5jbGllbnRBbGVydE1vZGFsIC5tb2RhbC1ncmFwaGljIC5hbGVydC1jdXN0b20tZ3JhcGhpYy1jb250YWluZXIgc3ZnLFxuICAgIC5jbGllbnRBbGVydE1vZGFsIC5tb2RhbC1ncmFwaGljIC5hbGVydC1jdXN0b20tZ3JhcGhpYy1jb250YWluZXIgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAuY2xpZW50QWxlcnRNb2RhbCAubW9kYWwtZ3JhcGhpYyAuYWxlcnQtcHJlZGVmaW5lZC1pbGx1c3RyYXRpb24tY29udGFpbmVyLCAuY2xpZW50QWxlcnRNb2RhbCAubW9kYWwtZ3JhcGhpYyAuYWxlcnQtcHJlZGVmaW5lZC1pY29uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLmNsaWVudEFsZXJ0TW9kYWwgLm1vZGFsLWdyYXBoaWMgLmFsZXJ0LXByZWRlZmluZWQtaWxsdXN0cmF0aW9uLWNvbnRhaW5lcjpub3QoLnByb21vLWlsbHVzdHJhdGlvbiksIC5jbGllbnRBbGVydE1vZGFsIC5tb2RhbC1ncmFwaGljIC5hbGVydC1wcmVkZWZpbmVkLWljb24tY29udGFpbmVyOm5vdCgucHJvbW8taWxsdXN0cmF0aW9uKSB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTN4KTsgfVxuICAgIC5jbGllbnRBbGVydE1vZGFsIC5tb2RhbC1ncmFwaGljIC5hbGVydC1wcmVkZWZpbmVkLWlsbHVzdHJhdGlvbi1jb250YWluZXIgLnByb21vLWlsbHVzdHJhdGlvbiwgLmNsaWVudEFsZXJ0TW9kYWwgLm1vZGFsLWdyYXBoaWMgLmFsZXJ0LXByZWRlZmluZWQtaWNvbi1jb250YWluZXIgLnByb21vLWlsbHVzdHJhdGlvbiB7XG4gICAgICBtYXgtd2lkdGg6IDM0MHB4O1xuICAgICAgbWluLXdpZHRoOiAzNDBweDtcbiAgICAgIHdpZHRoOiAzNDBweDtcbiAgICAgIGhlaWdodDogMzAwcHg7IH1cbiAgICAuY2xpZW50QWxlcnRNb2RhbCAubW9kYWwtZ3JhcGhpYyAuYWxlcnQtcHJlZGVmaW5lZC1pbGx1c3RyYXRpb24tY29udGFpbmVyIC5wcm9tby1zbGlkZXItaWNvbiwgLmNsaWVudEFsZXJ0TW9kYWwgLm1vZGFsLWdyYXBoaWMgLmFsZXJ0LXByZWRlZmluZWQtaWNvbi1jb250YWluZXIgLnByb21vLXNsaWRlci1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgcmlnaHQ6IDBweDsgfVxuICAuY2xpZW50QWxlcnRNb2RhbCAubW9kYWwtZ3JhcGhpYyAuYWxlcnQtcHJlZGVmaW5lZC1pY29uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy01eCk7IH1cbiAgLmNsaWVudEFsZXJ0TW9kYWwgLm1vZGFsLWdyYXBoaWMuanVzdGlmeS1jb250ZW50LXN0YXJ0IC5hbGVydC1wcmVkZWZpbmVkLWljb24tY29udGFpbmVyLCAuY2xpZW50QWxlcnRNb2RhbCAubW9kYWwtZ3JhcGhpYy5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIC5hbGVydC1wcmVkZWZpbmVkLWljb24tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctM3gpOyB9XG4gIC5jbGllbnRBbGVydE1vZGFsIC5tb2RhbC1ncmFwaGljLmp1c3RpZnktY29udGVudC1lbmQgLmFsZXJ0LXByZWRlZmluZWQtaWNvbi1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy04eCkgMCB2YXIoLS1zcGFjaW5nLTN4KTsgfVxuICAuY2xpZW50QWxlcnRNb2RhbCAubW9kYWwtZ3JhcGhpYyAubW9kYWwtcHJlZGVmaW5lZC1iYWNrZ3JvdW5kIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmNsaWVudEFsZXJ0TW9kYWwgLm1vZGFsLWJvZHkge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkOyB9XG4gIC5jbGllbnRBbGVydE1vZGFsIC5tb2RhbC1ib2R5ID4gcDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNsaWVudEFsZXJ0TW9kYWwubW9kYWwgLm1vZGFsLWdyYXBoaWMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNsaWVudEFsZXJ0TW9kYWwubW9kYWwgLm1vZGFsLWdyYXBoaWMgLm1vZGFsLXByZWRlZmluZWQtYmFja2dyb3VuZCA+IHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMzc1cHg7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDI3OXB4OyB9XG4gIC5jbGllbnRBbGVydE1vZGFsLm1vZGFsIC5tb2RhbC1ncmFwaGljIC5hbGVydC1wcmVkZWZpbmVkLWlsbHVzdHJhdGlvbi1jb250YWluZXIucHJvbW8taWxsdXN0cmF0aW9uIHtcbiAgICBtaW4td2lkdGg6IDI3MnB4O1xuICAgIG1heC13aWR0aDogMjcycHg7XG4gICAgaGVpZ2h0OiAyNDBweDsgfVxuICAgIC5jbGllbnRBbGVydE1vZGFsLm1vZGFsIC5tb2RhbC1ncmFwaGljIC5hbGVydC1wcmVkZWZpbmVkLWlsbHVzdHJhdGlvbi1jb250YWluZXIucHJvbW8taWxsdXN0cmF0aW9uID4gc3ZnIHtcbiAgICAgIHdpZHRoOiAyNzJweDsgfVxuXG4uY2xpZW50QWxlcnRNb2RhbC5tb2RhbC1sZyAubW9kYWwtZ3JhcGhpYyAubW9kYWwtcHJlZGVmaW5lZC1iYWNrZ3JvdW5kID4gc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTQ3OHB4O1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAzNTVweDsgfVxuXG4uY2xpZW50QWxlcnRNb2RhbC5tb2RhbC1sZyAubW9kYWwtZ3JhcGhpYyAuYWxlcnQtcHJlZGVmaW5lZC1pbGx1c3RyYXRpb24tY29udGFpbmVyLnByb21vLWlsbHVzdHJhdGlvbiB7XG4gIG1pbi13aWR0aDogMzQwcHg7XG4gIG1heC13aWR0aDogMzQwcHg7XG4gIGhlaWdodDogMzAwcHg7IH1cbiAgLmNsaWVudEFsZXJ0TW9kYWwubW9kYWwtbGcgLm1vZGFsLWdyYXBoaWMgLmFsZXJ0LXByZWRlZmluZWQtaWxsdXN0cmF0aW9uLWNvbnRhaW5lci5wcm9tby1pbGx1c3RyYXRpb24gPiBzdmcge1xuICAgIHdpZHRoOiAzNDBweDsgfVxuXG4uY2xpZW50QWxlcnRNb2RhbC5tb2RhbC1zbSAubW9kYWwtZ3JhcGhpYyAubW9kYWwtcHJlZGVmaW5lZC1iYWNrZ3JvdW5kID4gc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTI2MHB4O1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxOTJweDsgfVxuXG4uY2xpZW50QWxlcnRNb2RhbC5tb2RhbC1zbSAubW9kYWwtZ3JhcGhpYyAuYWxlcnQtcHJlZGVmaW5lZC1pbGx1c3RyYXRpb24tY29udGFpbmVyLnByb21vLWlsbHVzdHJhdGlvbiB7XG4gIG1pbi13aWR0aDogMTgwcHg7XG4gIG1heC13aWR0aDogMTgwcHg7XG4gIGhlaWdodDogMTU5cHg7IH1cbiAgLmNsaWVudEFsZXJ0TW9kYWwubW9kYWwtc20gLm1vZGFsLWdyYXBoaWMgLmFsZXJ0LXByZWRlZmluZWQtaWxsdXN0cmF0aW9uLWNvbnRhaW5lci5wcm9tby1pbGx1c3RyYXRpb24gPiBzdmcge1xuICAgIHdpZHRoOiAxODBweDsgfVxuXG4uY2xpZW50QWxlcnRNb2RhbC5tb2RhbC1jdXN0b20taWNvbiAubW9kYWwtZ3JhcGhpYyAuYWxlcnQtY3VzdG9tLWdyYXBoaWMtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0zeCk7XG4gIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy0zeCkgMCB2YXIoLS1zcGFjaW5nLTN4KTsgfVxuXG4uY2xpZW50QWxlcnRNb2RhbC5tb2RhbC1jdXN0b20taWNvbiAubW9kYWwtZ3JhcGhpYy5qdXN0aWZ5LWNvbnRlbnQtZW5kIC5hbGVydC1jdXN0b20tZ3JhcGhpYy1jb250YWluZXIge1xuICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOHgpIDAgdmFyKC0tc3BhY2luZy0zeCk7IH1cblxuLmNsaWVudEFsZXJ0IC5hbGVydC1jdXN0b20taW1hZ2UtY29udGFpbmVyLCAuY2xpZW50QWxlcnQgLmFsZXJ0LXByZWRlZmluZWQtaWNvbi1jb250YWluZXIsIC5jbGllbnRBbGVydCAuYWxlcnQtcHJlZGVmaW5lZC1pbGx1c3RyYXRpb24tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDE2MHB4O1xuICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy0yeCkgMCAwO1xuICBhbGlnbi1zZWxmOiBiYXNlbGluZTsgfVxuICAuY2xpZW50QWxlcnQgLmFsZXJ0LWN1c3RvbS1pbWFnZS1jb250YWluZXIgc3ZnLFxuICAuY2xpZW50QWxlcnQgLmFsZXJ0LWN1c3RvbS1pbWFnZS1jb250YWluZXIgaW1nLCAuY2xpZW50QWxlcnQgLmFsZXJ0LXByZWRlZmluZWQtaWNvbi1jb250YWluZXIgc3ZnLFxuICAuY2xpZW50QWxlcnQgLmFsZXJ0LXByZWRlZmluZWQtaWNvbi1jb250YWluZXIgaW1nLCAuY2xpZW50QWxlcnQgLmFsZXJ0LXByZWRlZmluZWQtaWxsdXN0cmF0aW9uLWNvbnRhaW5lciBzdmcsXG4gIC5jbGllbnRBbGVydCAuYWxlcnQtcHJlZGVmaW5lZC1pbGx1c3RyYXRpb24tY29udGFpbmVyIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5jbGllbnRBbGVydCAuYWxlcnQtY3VzdG9tLWltYWdlLWNvbnRhaW5lci5wcm9tby1pbGx1c3RyYXRpb24sIC5jbGllbnRBbGVydCAuYWxlcnQtcHJlZGVmaW5lZC1pY29uLWNvbnRhaW5lci5wcm9tby1pbGx1c3RyYXRpb24sIC5jbGllbnRBbGVydCAuYWxlcnQtcHJlZGVmaW5lZC1pbGx1c3RyYXRpb24tY29udGFpbmVyLnByb21vLWlsbHVzdHJhdGlvbiB7XG4gICAgbWluLXdpZHRoOiAxNjBweDtcbiAgICBoZWlnaHQ6IDE0MHB4OyB9XG4gICAgLmNsaWVudEFsZXJ0IC5hbGVydC1jdXN0b20taW1hZ2UtY29udGFpbmVyLnByb21vLWlsbHVzdHJhdGlvbiAucHJvbW8tc2xpZGVyLWljb24sIC5jbGllbnRBbGVydCAuYWxlcnQtcHJlZGVmaW5lZC1pY29uLWNvbnRhaW5lci5wcm9tby1pbGx1c3RyYXRpb24gLnByb21vLXNsaWRlci1pY29uLCAuY2xpZW50QWxlcnQgLmFsZXJ0LXByZWRlZmluZWQtaWxsdXN0cmF0aW9uLWNvbnRhaW5lci5wcm9tby1pbGx1c3RyYXRpb24gLnByb21vLXNsaWRlci1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgcmlnaHQ6IDBweDtcbiAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgIGhlaWdodDogMTQwcHg7IH1cblxuLmNsaWVudEFsZXJ0IC5hbGVydC1wcmVkZWZpbmVkLWljb24tY29udGFpbmVyLCAuY2xpZW50QWxlcnQgLmFsZXJ0LXByZWRlZmluZWQtaWxsdXN0cmF0aW9uLWNvbnRhaW5lciB7XG4gIGhlaWdodDogYXV0bzsgfVxuICAuY2xpZW50QWxlcnQgLmFsZXJ0LXByZWRlZmluZWQtaWNvbi1jb250YWluZXIgPiBzdmcsIC5jbGllbnRBbGVydCAuYWxlcnQtcHJlZGVmaW5lZC1pbGx1c3RyYXRpb24tY29udGFpbmVyID4gc3ZnIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuLmNsaWVudEFsZXJ0IC5hbGVydC1ib2R5IC5hbGVydC1hY3Rpb25zIHtcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXNwYWNpbmctMngpKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xeCk7IH1cblxuLmNsaWVudEFsZXJ0LmFsZXJ0LWljb24tdi1jZW50ZXIgLmFsZXJ0LWN1c3RvbS1pbWFnZS1jb250YWluZXIsXG4uY2xpZW50QWxlcnQuYWxlcnQtaWNvbi12LWNlbnRlciAuYWxlcnQtcHJlZGVmaW5lZC1pY29uLWNvbnRhaW5lcixcbi5jbGllbnRBbGVydC5hbGVydC1pY29uLXYtY2VudGVyIC5hbGVydC1wcmVkZWZpbmVkLWlsbHVzdHJhdGlvbi1jb250YWluZXIge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuW2Rpcj1cInJ0bFwiXSAuY2xpZW50QWxlcnQgLmFsZXJ0LWN1c3RvbS1pbWFnZS1jb250YWluZXIsIFtkaXI9XCJydGxcIl0gLmNsaWVudEFsZXJ0IC5hbGVydC1wcmVkZWZpbmVkLWljb24tY29udGFpbmVyLCBbZGlyPVwicnRsXCJdIC5jbGllbnRBbGVydCAuYWxlcnQtcHJlZGVmaW5lZC1pbGx1c3RyYXRpb24tY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgMCB2YXIoLS1zcGFjaW5nLTJ4KTsgfVxuXG5bZGlyPVwicnRsXCJdIC5jbGllbnRBbGVydE1vZGFsIC5tb2RhbC10aXRsZS5tb2RhbC10aXRsZS1pY29uLXJlcGxhY2VkIC5hbGVydC1pY29uIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMngpO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuW2Rpcj1cInJ0bFwiXSAuY2xpZW50QWxlcnRNb2RhbCAubW9kYWwtZm9vdGVyLmp1c3RpZnktY29udGVudC1lbmQge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuXG5bZGlyPVwicnRsXCJdIC5jbGllbnRBbGVydE1vZGFsIC5tb2RhbC1mb290ZXIuanVzdGlmeS1jb250ZW50LXN0YXJ0IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cblxuW2Rpcj1cInJ0bFwiXSAuY2xpZW50QWxlcnRNb2RhbCAubW9kYWwtZ3JhcGhpYy5qdXN0aWZ5LWNvbnRlbnQtZW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cblxuW2Rpcj1cInJ0bFwiXSAuY2xpZW50QWxlcnRNb2RhbCAubW9kYWwtZ3JhcGhpYy5qdXN0aWZ5LWNvbnRlbnQtc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiJdLCJzb3VyY2VSb290IjoiIn0=*/